From f8b5a0fd503a06acae2dd4a928b6992e30280b79 Mon Sep 17 00:00:00 2001 From: awarre <30052685+awarre@users.noreply.github.com> Date: Tue, 20 Apr 2021 23:41:21 +0000 Subject: [PATCH 01/13] Add base64 image support --- app/Entities/Tools/PageContent.php | 59 ++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/app/Entities/Tools/PageContent.php b/app/Entities/Tools/PageContent.php index 82499cdf2..b0c1f856f 100644 --- a/app/Entities/Tools/PageContent.php +++ b/app/Entities/Tools/PageContent.php @@ -1,9 +1,13 @@ saveBase64Images($this->page, $html); $this->page->html = $this->formatHtml($html); $this->page->text = $this->toPlainText(); $this->page->markdown = ''; @@ -60,6 +65,60 @@ class PageContent return $converter->convertToHtml($markdown); } + /** + * Convert all base64 image data to saved images + */ + public function saveBase64Images(Page $page, string $htmlText): string + { + if ($htmlText == '') { + return $htmlText; + } + + libxml_use_internal_errors(true); + $doc = new DOMDocument(); + $doc->loadHTML(mb_convert_encoding($htmlText, 'HTML-ENTITIES', 'UTF-8')); + $container = $doc->documentElement; + $body = $container->childNodes->item(0); + $childNodes = $body->childNodes; + $xPath = new DOMXPath($doc); + + // Get all img elements with image data blobs + $imageNodes = $xPath->query('//img[contains(@src, \'data:image\')]'); + foreach($imageNodes as $imageNode) { + $imageSrc = $imageNode->getAttribute('src'); + + # Parse base64 data + $result = preg_match('"data:image/[a-zA-Z]*(;base64,[a-zA-Z0-9+/\\= ]*)"', $imageSrc, $matches); + + if($result === 1) { + $base64ImageData = $matches[1]; + + $image = new Image(); + $imageService = app()->make(ImageService::class); + $permissionService = app(PermissionService::class); + $imageRepo = new ImageRepo(new Image(), $imageService, $permissionService, $page); + + # Use existing saveDrawing method used for Drawio diagrams + $image = $imageRepo->saveDrawing($base64ImageData, $page->id); + + // Create a new img element with the saved image URI + $newNode = $doc->createElement('img'); + $newNode->setAttribute('src', $image->path); + + // Replace the old img element + $imageNode->parentNode->replaceChild($newNode, $imageNode); + } + } + + // Generate inner html as a string + $html = ''; + foreach ($childNodes as $childNode) { + $html .= $doc->saveHTML($childNode); + } + + return $html; + } + /** * Formats a page's html to be tagged correctly within the system. */ From fc7b8c49fb4537fba887dded61cea5ef419820e0 Mon Sep 17 00:00:00 2001 From: Francesco Franchina Date: Wed, 2 Jun 2021 17:32:31 +0200 Subject: [PATCH 02/13] Adding Croatian translation files --- resources/lang/hr/activities.php | 51 +++++ resources/lang/hr/auth.php | 77 ++++++++ resources/lang/hr/common.php | 89 +++++++++ resources/lang/hr/components.php | 34 ++++ resources/lang/hr/entities.php | 318 +++++++++++++++++++++++++++++++ resources/lang/hr/errors.php | 101 ++++++++++ resources/lang/hr/pagination.php | 12 ++ resources/lang/hr/passwords.php | 14 ++ resources/lang/hr/settings.php | 264 +++++++++++++++++++++++++ resources/lang/hr/validation.php | 114 +++++++++++ 10 files changed, 1074 insertions(+) create mode 100644 resources/lang/hr/activities.php create mode 100644 resources/lang/hr/auth.php create mode 100644 resources/lang/hr/common.php create mode 100644 resources/lang/hr/components.php create mode 100644 resources/lang/hr/entities.php create mode 100644 resources/lang/hr/errors.php create mode 100644 resources/lang/hr/pagination.php create mode 100644 resources/lang/hr/passwords.php create mode 100644 resources/lang/hr/settings.php create mode 100644 resources/lang/hr/validation.php diff --git a/resources/lang/hr/activities.php b/resources/lang/hr/activities.php new file mode 100644 index 000000000..204d4fa7e --- /dev/null +++ b/resources/lang/hr/activities.php @@ -0,0 +1,51 @@ + 'stvorena stranica' + 'page_create_notification' => 'Stranica je uspješno stvorena' + 'page_update' => 'ažurirana stranica' + 'page_update_notification' => 'Stranica je uspješno ažurirana' + 'page_delete' => 'izbrisana stranica' + 'page_delete_notification' => 'Stranica je uspješno izbrisana' + 'page_restore' => 'obnovljena stranica' + 'page_restore_notification' => 'Stranica je uspješno obnovljena' + 'page_move' => 'premještena stranica' + + // Chapters + 'chapter_create' => 'stvoreno poglavlje' + 'chapter_create_notification' => 'Poglavlje je uspješno stvoreno' + 'chapter_update' => 'ažurirano poglavlje' + 'chapter_update_notification' => 'Poglavlje je uspješno ažurirano' + 'chapter_delete' => 'izbrisano poglavlje' + 'chapter_delete_notification' => 'Poglavlje je uspješno izbrisano' + 'chapter_move' => 'premiješteno poglavlje' + + // Books + 'book_create' => 'stvorena knjiga' + 'book_create_notification' => 'Knjiga je uspješno stvorena' + 'book_update' => 'ažurirana knjiga' + 'book_update_notification' => 'Knjiga je uspješno ažurirana' + 'book_delete' => 'izbrisana knjiga' + 'book_delete_notification' => 'Knjiga je uspješno izbrisana' + 'book_sort' => 'razvrstana knjiga' + 'book_sort_notification' => 'Knjiga je uspješno razvrstana' + + // Bookshelves + 'bookshelf_create' => 'stvorena polica za knjige' + 'bookshelf_create_notification' => 'Polica za knjige je uspješno stvorena' + 'bookshelf_update' => 'ažurirana polica za knjige' + 'bookshelf_update_notification' => 'Polica za knjige je uspješno ažurirana' + 'bookshelf_delete' => 'izbrisana polica za knjige' + 'bookshelf_delete_notification' => 'Polica za knjige je uspješno izbrisana' + + // Favourites + + // Other + 'commented_on' => 'komentirano' + 'permissions_update' => 'ažurirana dopuštenja' +]; diff --git a/resources/lang/hr/auth.php b/resources/lang/hr/auth.php new file mode 100644 index 000000000..0b41d37b2 --- /dev/null +++ b/resources/lang/hr/auth.php @@ -0,0 +1,77 @@ + 'Ove vjerodajnice ne podudaraju se s našim zapisima.' + 'throttle' => 'Previše pokušaja prijave. Molimo vas da pokušate za :seconds sekundi.' + + // Login & Register + 'sign_up' => 'Registrirajte se' + 'log_in' => 'Prijavite se' + 'log_in_with' => 'Prijavite se sa :socialDriver' + 'sign_up_with' => 'Registrirajte se sa :socialDriver' + 'logout' => 'Odjavite se' + + 'name' => 'Ime' + 'username' => 'Korisničko ime' + 'email' => 'Email' + 'password' => 'Lozinka' + 'password_confirm' => 'Potvrdite lozinku' + 'password_hint' => 'Mora imati više od 7 znakova' + 'forgot_password' => 'Zaboravili ste lozinku?' + 'remember_me' => 'Zapamti me' + 'ldap_email_hint' => 'Molimo upišite mail korišten za ovaj račun.' + 'create_account' => 'Stvori račun' + 'already_have_account' => 'Imate li već račun?' + 'dont_have_account' => 'Nemate račun?' + 'social_login' => 'Social Login' + 'social_registration' => 'Social Registration' + 'social_registration_text' => 'Prijavite se putem drugih servisa.' + + 'register_thanks' => 'Zahvaljujemo na registraciji!' + 'register_confirm' => 'Molimo, provjerite svoj email i kliknite gumb za potvrdu pristupa :appName.' + 'registrations_disabled' => 'Registracije su trenutno onemogućene' + 'registration_email_domain_invalid' => 'Ova e-mail adresa se ne može koristiti u ovoj aplikaciji' + 'register_success' => 'Hvala na prijavi! Sada ste registrirani i prijavljeni.' + + + // Password Reset + 'reset_password' => 'Promijenite lozinku' + 'reset_password_send_instructions' => 'Upišite svoju e-mail adresu kako biste primili poveznicu za promjenu lozinke.' + 'reset_password_send_button' => 'Pošalji poveznicu za promjenu lozinke' + 'reset_password_sent' => 'Poveznica za promjenu lozinke poslat će se na :email adresu ako je u našem sustavu.' + 'reset_password_success' => 'Vaša lozinka je uspješno promijenjena.' + 'email_reset_subject' => 'Promijenite svoju :appName lozinku' + 'email_reset_text' => 'Primili ste ovu poruku jer je zatražena promjena lozinke za vaš račun.' + 'email_reset_not_requested' => 'Ako niste tražili promjenu lozinke slobodno zanemarite ovu poruku.' + + + // Email Confirmation + 'email_confirm_subject' => 'Potvrdite svoju e-mail adresu na :appName' + 'email_confirm_greeting' => 'Hvala na prijavi :appName!' + 'email_confirm_text' => 'Molimo potvrdite svoju e-mail adresu klikom na donji gumb.' + 'email_confirm_action' => 'Potvrdi Email' + 'email_confirm_send_error' => 'Potvrda e-mail adrese je obavezna, ali sustav ne može poslati e-mail. Javite se administratoru kako bi provjerio vaš e-mail.' + 'email_confirm_success' => 'Vaš e-mail adresa je potvrđena!' + 'email_confirm_resent' => 'Ponovno je poslana potvrda. Molimo, provjerite svoj inbox.' + + 'email_not_confirmed' => 'E-mail adresa nije potvrđena.' + 'email_not_confirmed_text' => 'Vaša e-mail adresa još nije potvrđena.' + 'email_not_confirmed_click_link' => 'Molimo, kliknite na poveznicu koju ste primili kratko nakon registracije.' + 'email_not_confirmed_resend' => 'Ako ne možete pronaći e-mail za postavljanje lozinke možete ga zatražiti ponovno ispunjavanjem ovog obrasca.' + 'email_not_confirmed_resend_button' => 'Ponovno pošalji e-mail potvrde' + + // User Invite + 'user_invite_email_subject' => 'Pozvani ste pridružiti se :appName!' + 'user_invite_email_greeting' => 'Vaš račun je kreiran za vas na :appName' + 'user_invite_email_text' => 'Kliknite ispod da biste postavili račun i dobili pristup.' + 'user_invite_email_action' => 'Postavite lozinku' + 'user_invite_page_welcome' => 'Dobrodošli u :appName!' + 'user_invite_page_text' => 'Da biste postavili račun i dobili pristup trebate unijeti lozinku kojom ćete se ubuduće prijaviti na :appName.' + 'user_invite_page_confirm_button' => 'Potvrdite lozinku' + 'user_invite_success' => 'Lozinka je postavljena, možete pristupiti :appName!' +]; \ No newline at end of file diff --git a/resources/lang/hr/common.php b/resources/lang/hr/common.php new file mode 100644 index 000000000..0aa3118ed --- /dev/null +++ b/resources/lang/hr/common.php @@ -0,0 +1,89 @@ + 'Odustani' + 'confirm' => 'Potvrdi' + 'back' => 'Natrag' + 'save' => 'Spremi' + 'continue' => 'Nastavi' + 'select' => 'Odaberi' + 'toggle_all' => 'Prebaci sve' + 'more' => 'Više' + + // Form Labels + 'name' => 'Ime' + 'description' => 'Opis' + 'role' => 'Uloga' + 'cover_image' => 'Naslovna slika' + 'cover_image_description' => 'Slika treba biti približno 440x250px.' + + // Actions + 'actions' => 'Aktivnost' + 'view' => 'Pogled' + 'view_all' => 'Pogledaj sve' + 'create' => 'Stvori' + 'update' => 'Ažuriraj' + 'edit' => 'Uredi' + 'sort' => 'Razvrstaj' + 'move' => 'Makni' + 'copy' => 'Kopiraj' + 'reply' => 'Ponovi' + 'delete' => 'Izbriši' + 'delete_confirm' => 'Potvrdite brisanje' + 'search' => 'Traži' + 'search_clear' => 'Očisti pretragu' + 'reset' => 'Ponovno postavi' + 'remove' => 'Ukloni' + 'add' => 'Dodaj' + 'fullscreen' => 'Cijeli zaslon' + + // Sort Options + 'sort_options' => 'Razvrstaj opcije' + 'sort_direction_toggle' => 'Razvrstaj smjer prebacivanja' + 'sort_ascending' => 'Razvrstaj uzlazno' + 'sort_descending' => 'Razvrstaj silazno' + 'sort_name' => 'Ime' + 'sort_default' => 'Zadano' + 'sort_created_at' => 'Datum' + 'sort_updated_at' => 'Ažuriraj datum' + + // Misc + 'deleted_user' => 'Izbrisani korisnik' + 'no_activity' => 'Nema aktivnosti za pregled' + 'no_items' => 'Nedostupno' + 'back_to_top' => 'Natrag na vrh' + 'toggle_details' => 'Prebaci detalje' + 'toggle_thumbnails' => 'Uključi minijature' + 'details' => 'Detalji' + 'grid_view' => 'Prikaz rešetke' + 'list_view' => 'Prikaz popisa' + 'default' => 'Zadano' + 'breadcrumb' => 'Breadcrumb' + + // Header + 'header_menu_expand' => 'Proširi izbornik' + 'profile_menu' => 'Profil' + 'view_profile' => 'Vidi profil' + 'edit_profile' => 'Uredite profil' + 'dark_mode' => 'Tamni način' + 'light_mode' => 'Svijetli način' + + // Layout tabs + 'tab_info' => 'Info' + 'tab_info_label' => 'Tab: pokaži sekundarne informacije' + 'tab_content' => 'Sadržaj' + 'tab_content_label' => 'Tab: pokaži primarni sadržaj' + + // Email Content + 'email_action_help' => 'Ako imate poteškoća s klikom na gumb ":actionText", kopirajte i zalijepite donji URL u vaš preglednik.' + 'email_rights' => 'Sva prava pridržana' + + // Footer Link Options + // Not directly used but available for convenience to users. + 'privacy_policy' => 'Politika privatnosti' + 'terms_of_service' => 'Uvjeti korištenja' +]; diff --git a/resources/lang/hr/components.php b/resources/lang/hr/components.php new file mode 100644 index 000000000..028484566 --- /dev/null +++ b/resources/lang/hr/components.php @@ -0,0 +1,34 @@ + 'Odabir slike' + 'image_all' => 'Sve' + 'image_all_title' => 'Vidi sve slike' + 'image_book_title' => 'Vidi slike dodane ovoj knjizi' + 'image_page_title' => 'Vidi slike dodane ovoj stranici' + 'image_search_hint' => 'Pretraži pomoću imena slike' + 'image_uploaded' => 'Učitano :uploadedDate' + 'image_load_more' => 'Učitaj više' + 'image_image_name' => 'Ime slike' + 'image_delete_used' => 'Ova slika korištena je na donjoj stranici.' + 'image_delete_confirm_text' => 'Jeste li sigurni da želite obrisati sliku?' + 'image_select_image' => 'Odaberi sliku' + 'image_dropzone' => 'Prebacite sliku ili kliknite ovdje za prijenos' + 'images_deleted' => 'Obrisane slike' + 'image_preview' => 'Pregled slike' + 'image_upload_success' => 'Slika je uspješno dodana' + 'image_update_success' => 'Detalji slike su uspješno ažurirani' + 'image_delete_success' => 'Slika je obrisana' + 'image_upload_remove' => 'Ukloni' + + // Code Editor + 'code_editor' => 'Uredi kod' + 'code_language' => 'Jezik koda' + 'code_content' => 'Sadržaj koda' + 'code_session_history' => 'Povijest sesije' + 'code_save' => 'Spremi kod' +]; diff --git a/resources/lang/hr/entities.php b/resources/lang/hr/entities.php new file mode 100644 index 000000000..085557514 --- /dev/null +++ b/resources/lang/hr/entities.php @@ -0,0 +1,318 @@ + 'Nedavno stvoreno' + 'recently_created_pages' => 'Nedavno stvorene stranice' + 'recently_updated_pages' => 'Nedavno ažurirane stranice' + 'recently_created_chapters' => 'Nedavno stvorena poglavlja' + 'recently_created_books' => 'Nedavno stvorene knjige' + 'recently_created_shelves' => 'Nedavno stvorene police' + 'recently_update' => 'Nedavno ažurirano' + 'recently_viewed' => 'Nedavno viđeno' + 'recent_activity' => 'Nedavna aktivnost' + 'create_now' => 'Stvori sada' + 'revisions' => 'Revizije' + 'meta_revision' => 'Revizija #:revisionCount' + 'meta_created' => 'Stvoreno :timeLength' + 'meta_created_name' => 'Stvoreno :timeLength od :user' + 'meta_updated' => 'Ažurirano :timeLength' + 'meta_updated_name' => 'Ažurirano :timeLength od :user' + 'meta_owned_name' => 'Vlasništvo :user' + 'entity_select' => 'Odaberi subjekt' + 'images' => 'Slike' + 'my_recent_drafts' => 'Nedavne skice' + 'my_recently_viewed' => 'Nedavno viđeno' + 'no_pages_viewed' => 'Niste pogledali nijednu stranicu' + 'no_pages_recently_created' => 'Nema nedavno stvorenih stranica' + 'no_pages_recently_updated' => 'Nema nedavno ažuriranih stranica' + 'export' => 'Izvoz' + 'export_html' => 'Web File' + 'export_pdf' => 'PDF File' + 'export_text' => 'Text File' + + // Permissions and restrictions + 'permissions' => 'Dopuštenja' + 'permissions_intro' => 'Jednom postavljene, ove dozvole bit će prioritetne ostalim dopuštenjima.' + 'permissions_enable' => 'Omogući dopuštenje za korištenje' + 'permissions_save' => 'Spremi dopuštenje' + 'permissions_owner' => 'Vlasnik' + + // Search + 'search_results' => 'Pretraži rezultate' + 'search_total_results_found' => ':count rezultat|:count ukupno pronađenih rezultata' + 'search_clear' => 'Očisti pretragu' + 'search_no_pages' => 'Nijedna stranica ne podudara se s ovim pretraživanjem' + 'search_for_term' => 'Traži :term' + 'search_more' => 'Više rezultata' + 'search_advanced' => 'Napredno pretraživanje' + 'search_terms' => 'Pretraži pojmove' + 'search_content_type' => 'Vrsta sadržaja' + 'search_exact_matches' => 'Podudarnosti' + 'search_tags' => 'Označi pretragu' + 'search_options' => 'Opcije' + 'search_viewed_by_me' => 'Pregledano od mene' + 'search_not_viewed_by_me' => 'Nije pregledano od mene' + 'search_permissions_set' => 'Set dopuštenja' + 'search_created_by_me' => 'Stvoreno od mene' + 'search_updated_by_me' => 'Ažurirano od mene' + 'search_owned_by_me' => 'Moje vlasništvo' + 'search_date_options' => 'Opcije datuma' + 'search_updated_before' => 'Ažurirano prije' + 'search_updated_after' => 'Ažurirano nakon' + 'search_created_before' => 'Stvoreno prije' + 'search_created_after' => 'Stvoreno nakon' + 'search_set_date' => 'Datumi' + 'search_update' => 'Ažuriraj pretragu' + + // Shelves + 'shelf' => 'Polica' + 'shelves' => 'Police' + 'x_shelves' => ':count polica|:count polica' + 'shelves_long' => 'Police za knjige' + 'shelves_empty' => 'Nijedna polica nije stvorena' + 'shelves_create' => 'Stvori novu policu' + 'shelves_popular' => 'Popularne police' + 'shelves_new' => 'Nove police' + 'shelves_new_action' => 'Nova polica' + 'shelves_popular_empty' => 'Najpopularnije police pojavit će se. ovdje.' + 'shelves_new_empty' => 'Nedavno stvorene police pojavit će se ovdje.' + 'shelves_save' => 'Spremi policu' + 'shelves_books' => 'Knjige na ovoj polici' + 'shelves_add_books' => 'Dodaj knjige na ovu policu' + 'shelves_drag_books' => 'Prebaci knjige na ovu policu' + 'shelves_empty_contents' => 'Ova polica još nema dodijeljene knjige' + 'shelves_edit_and_assign' => 'Uredi policu za dodavanje knjiga' + 'shelves_edit_named' => 'Uredi policu :name' + 'shelves_edit' => 'Uredi policu' + 'shelves_delete' => 'Izbriši policu' + 'shelves_delete_named' => 'Izbriši policu :name' + 'shelves_delete_confirmation' => 'Jeste li sigurni da želite obrisati policu?' + 'shelves_permissions' => 'Dopuštenja za policu' + 'shelves_permissions_updated' => 'Ažurirana dopuštenja za policu' + 'shelves_permissions_active' => 'Aktivirana dopuštenja za policu' + 'shelves_copy_permissions_to_books' => 'Kopiraj dopuštenja za knjige' + 'shelves_copy_permissions' => 'Kopiraj dopuštenja' + 'shelves_copy_permissions_explain' => 'Ovo će promijeniti trenutna dopuštenja za policu i knjige u njoj. Prije aktivacije provjerite jesu li sve dopuštenja za ovu policu spremljena.' + 'shelves_copy_permission_success' => 'Dopuštenja za policu kopirana za :count knjiga' + + // Books + 'book' => 'Knjiga' + 'books' => 'Knjige' + 'x_books' => ':count knjiga|:count knjiga' + 'books_empty' => 'Nijedna knjiga nije stvorena' + 'books_popular' => 'Popularne knjige' + 'books_recent' => 'Nedavne knjige' + 'books_new' => 'Nove knjige' + 'books_new_action' => 'Nova knjiga' + 'books_popular_empty' => 'Najpopularnije knjige pojavit će se ovdje.' + 'books_new_empty' => 'Najnovije knjige pojavit će se ovdje.' + 'books_create' => 'Stvori novu knjigu' + 'books_delete' => 'Izbriši knjigu' + 'books_delete_named' => 'Izbriši knjigu :bookName' + 'books_delete_explain' => 'Ovaj korak će izbrisati knjigu \':bookName\'. Izbrisati će sve stranice i poglavlja.' + 'books_delete_confirmation' => 'Jeste li sigurni da želite izbrisati ovu knjigu?' + 'books_edit' => 'Uredi knjigu' + 'books_edit_named' => 'Uredi knjigu :bookName' + 'books_form_book_name' => 'Ime knjige' + 'books_save' => 'Spremi knjigu' + 'books_permissions' => 'Dopuštenja za knjigu' + 'books_permissions_updated' => 'Ažurirana dopuštenja za knjigu' + 'books_empty_contents' => 'U ovoj knjizi još nema stranica ni poglavlja.' + 'books_empty_create_page' => 'Stvori novu stranicu' + 'books_empty_sort_current_book' => 'Razvrstaj postojeće knjige' + 'books_empty_add_chapter' => 'Dodaj poglavlje' + 'books_permissions_active' => 'Aktivna dopuštenja za knjigu' + 'books_search_this' => 'Traži knjigu' + 'books_navigation' => 'Navigacija knjige' + 'books_sort' => 'Razvrstaj sadržaj knjige' + 'books_sort_named' => 'Razvrstaj knjigu :bookName' + 'books_sort_name' => 'Razvrstaj po imenu' + 'books_sort_created' => 'Razvrstaj po datumu nastanka' + 'books_sort_updated' => 'Razvrstaj po datumu ažuriranja' + 'books_sort_chapters_first' => 'Prva poglavlja' + 'books_sort_chapters_last' => 'Zadnja poglavlja' + 'books_sort_show_other' => 'Pokaži ostale knjige' + 'books_sort_save' => 'Spremi novi poredak' + + // Chapters + 'chapter' => 'Poglavlje' + 'chapters' => 'Poglavlja' + 'x_chapters' => ':count poglavlje|:count poglavlja' + 'chapters_popular' => 'Popularna poglavlja' + 'chapters_new' => 'Novo poglavlje' + 'chapters_create' => 'Stvori novo poglavlje' + 'chapters_delete' => 'Izbriši poglavlje' + 'chapters_delete_named' => 'Izbriši poglavlje :chapterName' + 'chapters_delete_explain' => 'Ovaj korak briše poglavlje \':chapterName\'. Sve stranice u njemu će biti izbrisane.' + 'chapters_delete_confirm' => 'Jeste li sigurni da želite izbrisati poglavlje?' + 'chapters_edit' => 'Uredi poglavlje' + 'chapters_edit_named' => 'Uredi poglavlje :chapterName' + 'chapters_save' => 'Spremi poglavlje' + 'chapters_move' => 'Premjesti poglavlje' + 'chapters_move_named' => 'Premjesti poglavlje :chapterName' + 'chapter_move_success' => 'Poglavlje premješteno u :bookName' + 'chapters_permissions' => 'Dopuštenja za poglavlje' + 'chapters_empty' => 'U ovom poglavlju nema stranica.' + 'chapters_permissions_active' => 'Aktivna dopuštenja za poglavlje' + 'chapters_permissions_success' => 'Ažurirana dopuštenja za poglavlje' + 'chapters_search_this' => 'Pretraži poglavlje' + + // Pages + 'page' => 'Stranica' + 'pages' => 'Stranice' + 'x_pages' => ':count stranice|:count stranica' + 'pages_popular' => 'Popularne stranice' + 'pages_new' => 'Nova stranica' + 'pages_attachments' => 'Prilozi' + 'pages_navigation' => 'Navigacija stranice' + 'pages_delete' => 'Izbriši stranicu' + 'pages_delete_named' => 'Izbriši stranicu :pageName' + 'pages_delete_draft_named' => 'Izbriši nacrt stranice :pageName' + 'pages_delete_draft' => 'Izbriši nacrt stranice' + 'pages_delete_success' => 'Izbrisana stranica' + 'pages_delete_draft_success' => 'Izbrisan nacrt stranice' + 'pages_delete_confirm' => 'Jeste li sigurni da želite izbrisati stranicu?' + 'pages_delete_draft_confirm' => 'Jeste li sigurni da želite izbrisati nacrt stranice?' + 'pages_editing_named' => 'Uređivanje stranice :pageName' + 'pages_edit_draft_options' => 'Izrada skice' + 'pages_edit_save_draft' => 'Spremi nacrt' + 'pages_edit_draft' => 'Uredi nacrt stranice' + 'pages_editing_draft' => 'Uređivanja nacrta' + 'pages_editing_page' => 'Uređivanje stranice' + 'pages_edit_draft_save_at' => 'Nacrt spremljen kao' + 'pages_edit_delete_draft' => 'Izbriši nacrt' + 'pages_edit_discard_draft' => 'Odbaci nacrt' + 'pages_edit_set_changelog' => 'Postavi dnevnik promjena' + 'pages_edit_enter_changelog_desc' => 'Ukratko opišite promjene koje ste napravili' + 'pages_edit_enter_changelog' => 'Unesi dnevnik promjena' + 'pages_save' => 'Spremi stranicu' + 'pages_title' => 'Naslov stranice' + 'pages_name' => 'Ime stranice' + 'pages_md_editor' => 'Uređivač' + 'pages_md_preview' => 'Pregled' + 'pages_md_insert_image' => 'Umetni sliku' + 'pages_md_insert_link' => 'Umetni poveznicu' + 'pages_md_insert_drawing' => 'Umetni crtež' + 'pages_not_in_chapter' => 'Stranica nije u poglavlju' + 'pages_move' => 'Premjesti stranicu' + 'pages_move_success' => 'Stranica premještena u ":parentName"' + 'pages_copy' => 'Kopiraj stranicu' + 'pages_copy_desination' => 'Kopiraj odredište' + 'pages_copy_success' => 'Stranica je uspješno kopirana' + 'pages_permissions' => 'Dopuštenja stranice' + 'pages_permissions_success' => 'Ažurirana dopuštenja stranice' + 'pages_revision' => 'Revizija' + 'pages_revisions' => 'Revizija stranice' + 'pages_revisions_named' => 'Revizije stranice :pageName' + 'pages_revision_named' => 'Revizija stranice :pageName' + 'pages_revision_restored_from' => 'Oporavak iz #:id; :summary' + 'pages_revisions_created_by' => 'Stvoreno od' + 'pages_revisions_date' => 'Datum revizije' + 'pages_revisions_number' => '#' + 'pages_revisions_numbered' => 'Revizija #:id' + 'pages_revisions_numbered_changes' => 'Revizija #:id Promjene' + 'pages_revisions_changelog' => 'Dnevnik promjena' + 'pages_revisions_changes' => 'Promjene' + 'pages_revisions_current' => 'Trenutna verzija' + 'pages_revisions_preview' => 'Pregled' + 'pages_revisions_restore' => 'Vrati' + 'pages_revisions_none' => 'Ova stranica nema revizija' + 'pages_copy_link' => 'Kopiraj poveznicu' + 'pages_edit_content_link' => 'Uredi sadržaj' + 'pages_permissions_active' => 'Aktivna dopuštenja stranice' + 'pages_initial_revision' => 'Početno objavljivanje' + 'pages_initial_name' => 'Nova stranica' + 'pages_editing_draft_notification' => 'Uređujete nacrt stranice posljednji put spremljen :timeDiff.' + 'pages_draft_edited_notification' => 'Ova je stranica u međuvremenu ažurirana. Preporučujemo da odbacite ovaj nacrt.' + 'pages_draft_edit_active' => [ + 'start_a' => ':count korisnika koji uređuju ovu stranicu' + 'start_b' => ':userName je počeo uređivati ovu stranicu' + 'time_a' => 'otkad je stranica posljednji put ažurirana' + 'time_b' => 'u zadnjih :minCount minuta' + 'message' => ':start :time. Pripazite na uzajamna ažuriranja!' + ], + 'pages_draft_discarded' => 'Nacrt je odbijen jer je uređivač ažurirao postoječi sadržaj' + 'pages_specific' => 'Predlošci stranice' + 'pages_is_template' => 'Predložak stranice' + + // Editor Sidebar + 'page_tags' => 'Oznake stranice' + 'chapter_tags' => 'Oznake poglavlja' + 'book_tags' => 'Oznake knjiga' + 'shelf_tags' => 'Oznake polica' + 'tag' => 'Oznaka' + 'tags' => 'Tags', + 'tag_name' => 'Tag Name', + 'tag_value' => 'Oznaka vrijednosti (neobavezno)' + 'tags_add' => 'Dodaj oznaku' + 'tags_remove' => 'Makni oznaku' + 'attachments' => 'Prilozi' + 'attachments_explain' => 'Dodajte datoteke ili poveznice za prikaz na vašoj stranici. Vidljive su na rubnoj oznaci stranice.' + 'attachments_explain_instant_save' => 'Promjene se automatski spremaju.' + 'attachments_items' => 'Dodane stavke' + 'attachments_upload' => 'Dodaj datoteku' + 'attachments_link' => 'Dodaj poveznicu' + 'attachments_set_link' => 'Postavi poveznicu' + 'attachments_delete' => 'Jeste li sigurni da želite izbrisati ovu stavku?' + 'attachments_dropzone' => 'Dodajte datoteke ili kliknite ovdje' + 'attachments_no_files' => 'Nijedna datoteka nije prenesena' + 'attachments_explain_link' => 'Možete dodati poveznicu ako ne želite prenijeti datoteku. Poveznica može voditi na drugu stranicu ili datoteku.' + 'attachments_link_name' => 'Ime poveznice' + 'attachment_link' => 'Poveznica na privitak' + 'attachments_link_url' => 'Poveznica na datoteku' + 'attachments_link_url_hint' => 'Url ili stranica ili datoteka' + 'attach' => 'Dodaj' + 'attachments_insert_link' => 'Dodaj poveznicu na stranicu' + 'attachments_edit_file' => 'Uredi datoteku' + 'attachments_edit_file_name' => 'Ime datoteke' + 'attachments_edit_drop_upload' => 'Dodaj datoteku ili klikni ovdje za prijenos' + 'attachments_order_updated' => 'Ažurirani popis priloga' + 'attachments_updated_success' => 'Ažurirani detalji priloga' + 'attachments_deleted' => 'Izbrisani prilozi' + 'attachments_file_uploaded' => 'Datoteka je uspješno prenešena' + 'attachments_file_updated' => 'Datoteka je uspješno ažurirana' + 'attachments_link_attached' => 'Poveznica je dodana na stranicu' + 'templates' => 'Predlošci' + 'templates_set_as_template' => 'Stranica je predložak' + 'templates_explain_set_as_template' => 'Ovu stranicu možete postaviti pomoću predloška koji možete koristiti tijekom stvaranja drugih stranica. Ostali korisnici će ga također moći koristiti ako imaju dopuštenje.' + 'templates_replace_content' => 'Zamjeni sadržaj stranice' + 'templates_append_content' => 'Dodaj sadržaju stranice' + 'templates_prepend_content' => 'Dodaj na sadržaj stranice' + + // Profile View + 'profile_user_for_x' => 'Korisnik za :time' + 'profile_created_content' => 'Stvoreni sadržaj' + 'profile_not_created_pages' => ':userName nije kreirao nijednu stranicu' + 'profile_not_created_chapters' => ':userName nije kreirao nijedno poglavlje' + 'profile_not_created_books' => ':userName nije kreirao nijednu knjigu' + 'profile_not_created_shelves' => ':userName nije kreirao nijednu policu' + + // Comments + 'comment' => 'Komentar' + 'comments' => 'Komentari' + 'comment_add' => 'Dodaj komentar' + 'comment_placeholder' => 'Komentar ostavi ovdje' + 'comment_count' => '{0} Nema komentara|{1} 1 Komentar|[2,*] :count Komentara' + 'comment_save' => 'Spremi komentar' + 'comment_saving' => 'Spremanje komentara' + 'comment_deleting' => 'Brisanje komentara' + 'comment_new' => 'Novi komentar' + 'comment_created' => 'komentirano :createDiff' + 'comment_updated' => 'Ažurirano :updateDiff od :username' + 'comment_deleted_success' => 'Izbrisani komentar' + 'comment_created_success' => 'Dodani komentar' + 'comment_updated_success' => 'Ažurirani komentar' + 'comment_delete_confirm' => 'Jeste li sigurni da želite izbrisati ovaj komentar?' + 'comment_in_reply_to' => 'Odgovor na :commentId' + + // Revision + 'revision_delete_confirm' => 'Jeste li sigurni da želite izbrisati ovaj ispravak?' + 'revision_restore_confirm' => 'Jeste li sigurni da želite vratiti ovaj ispravak? Trenutni sadržaj će biti zamijenjen.' + 'revision_delete_success' => 'Izbrisani ispravak' + 'revision_cannot_delete_latest' => 'Posljednji ispravak se ne može izbrisati.' +]; diff --git a/resources/lang/hr/errors.php b/resources/lang/hr/errors.php new file mode 100644 index 000000000..a70bca80d --- /dev/null +++ b/resources/lang/hr/errors.php @@ -0,0 +1,101 @@ + 'Nemate dopuštenje za pristup traženoj stranici.' + 'permissionJson' => 'Nemate potrebno dopuštenje.' + + // Auth + 'error_user_exists_different_creds' => 'Korisnik s mailom :email već postoji, ali s drugom vjerodajnicom.' + 'email_already_confirmed' => 'Email je već potvrđen, pokušajte se logirati.' + 'email_confirmation_invalid' => 'Ova vjerodajnica nije valjana ili je već bila korištena. Pokušajte se ponovno registrirati.' + 'email_confirmation_expired' => 'Ova vjerodajnica je istekla. Poslan je novi email za pristup.' + 'email_confirmation_awaiting' => 'Email adresa za račun koji se koristi mora biti potvrđen' + 'ldap_fail_anonymous' => 'LDAP pristup nije uspio zbog anonimnosti' + 'ldap_fail_authed' => 'LDAP pristup nije uspio' + 'ldap_extension_not_installed' => 'LDAP PHP ekstenzija nije instalirana' + 'ldap_cannot_connect' => 'Nemoguće pristupiti ldap serveru, problem s mrežom' + 'saml_already_logged_in' => 'Već ste prijavljeni' + 'saml_user_not_registered' => 'Korisnik :name nije registriran i automatska registracija je onemogućena' + 'saml_no_email_address' => 'Nismo pronašli email adresu za ovog korisnika u vanjskim sustavima' + 'saml_invalid_response_id' => 'Sustav za autentifikaciju nije prepoznat. Ovaj problem možda je nastao zbog vraćanja nakon prijave.' + 'saml_fail_authed' => 'Prijava pomoću :system nije uspjela zbog neuspješne autorizacije' + 'social_no_action_defined' => 'Nije definirana nijedna radnja' + 'social_account_in_use' => 'Ovaj :socialAccount račun se već koristi. Pokušajte se prijaviti pomoću :socialAccount računa.' + 'social_account_email_in_use' => 'Ovaj mail :email se već koristi. Ako već imate naš račun možete se prijaviti pomoću :socialAccount računa u postavkama vašeg profila.' + 'social_account_existing' => 'Ovaj :socialAccount je već dodan u vaš profil.' + 'social_account_already_used_existing' => 'Ovaj :socialAccount već koristi drugi korisnik.' + 'social_account_not_used' => 'Ovaj :socialAccount račun ne koristi nijedan korisnik. Dodajte ga u postavke svog profila.' + 'social_account_register_instructions' => 'Ako nemate račun možete se registrirati pomoću :socialAccount opcija.' + 'social_driver_not_found' => 'Nije pronađeno' + 'social_driver_not_configured' => 'Postavke vašeg :socialAccount računa nisu ispravno postavljene.' + 'invite_token_expired' => 'Vaša pozivnica je istekla. Pokušajte ponovno postaviti lozinku.' + + // System + 'path_not_writable' => 'Datoteka :filePath ne može se prenijeti. Učinite je lakše prepoznatljivom vašem serveru.' + 'cannot_get_image_from_url' => 'Nemoguće preuzeti sliku sa :url' + 'cannot_create_thumbs' => 'Provjerite imate li instaliranu GD PHP ekstenziju.' + 'server_upload_limit' => 'Prevelika količina za server. Pokušajte prenijeti manju veličinu.' + 'uploaded' => 'Prevelika količina za server. Pokušajte prenijeti manju veličinu.' + 'image_upload_error' => 'Problem s prenosom slike' + 'image_upload_type_error' => 'Nepodržani format slike' + 'file_upload_timeout' => 'Isteklo vrijeme za prijenos datoteke.' + + // Attachments + 'attachment_not_found' => 'Prilozi nisu pronađeni' + + // Pages + 'page_draft_autosave_fail' => 'Problem sa spremanjem nacrta. Osigurajte stabilnu internetsku vezu.' + 'page_custom_home_deletion' => 'Stranica označena kao naslovnica ne može se izbrisati' + + // Entities + 'entity_not_found' => 'Nije pronađeno' + 'bookshelf_not_found' => 'Polica nije pronađena' + 'book_not_found' => 'Knjiga nije pronađena' + 'page_not_found' => 'Stranica nije pronađena' + 'chapter_not_found' => 'Poglavlje nije pronađeno' + 'selected_book_not_found' => 'Odabrana knjiga nije pronađena' + 'selected_book_chapter_not_found' => 'Odabrane knjige ili poglavlja nisu pronađena' + 'guests_cannot_save_drafts' => 'Gosti ne mogu spremiti nacrte' + + // Users + 'users_cannot_delete_only_admin' => 'Ne možete izbrisati' + 'users_cannot_delete_guest' => 'Ne možete izbrisati' + + // Roles + 'role_cannot_be_edited' => 'Ne može se urediti' + 'role_system_cannot_be_deleted' => 'Sistemske postavke ne možete izbrisati' + 'role_registration_default_cannot_delete' => 'Ne može se izbrisati' + 'role_cannot_remove_only_admin' => 'Učinite drugog korisnika administratorom prije uklanjanja ove administratorske uloge.' + + // Comments + 'comment_list' => 'Pogreška prilikom dohvaćanja komentara.' + 'cannot_add_comment_to_draft' => 'Ne možete ostaviti komentar na ovaj nacrt.' + 'comment_add' => 'Greška prilikom dodavanja ili ažuriranja komentara.' + 'comment_delete' => 'Greška prilikom brisanja komentara.' + 'empty_comment' => 'Ne možete ostaviti prazan komentar.' + + // Error pages + '404_page_not_found' => 'Stranica nije pronađena' + 'sorry_page_not_found' => 'Žao nam je, stranica koju tražite nije pronađena.' + 'sorry_page_not_found_permission_warning' => 'Ako smatrate da ova stranica još postoji, ali je ne vidite, moguće je da nemate omogućen pristup.' + 'return_home' => 'Povratak na početno' + 'error_occurred' => 'Došlo je do pogreške' + 'app_down' => ':appName trenutno nije dostupna' + 'back_soon' => 'Uskoro će se vratiti.' + + // API errors + 'api_no_authorization_found' => 'Nije pronađena autorizacija' + 'api_bad_authorization_format' => 'Pogreška prilikom autorizacije' + 'api_user_token_not_found' => 'Format autorizacije nije podržan' + 'api_incorrect_token_secret' => 'Netočan API token' + 'api_user_no_api_permission' => 'Vlasnik API tokena nema potrebna dopuštenja' + 'api_user_token_expired' => 'Autorizacija je istekla' + + // Settings & Maintenance + 'maintenance_test_email_failure' => 'Pogreška prilikom slanja testnog email:' + +]; diff --git a/resources/lang/hr/pagination.php b/resources/lang/hr/pagination.php new file mode 100644 index 000000000..aac413cff --- /dev/null +++ b/resources/lang/hr/pagination.php @@ -0,0 +1,12 @@ + '« Prethodno' + 'next' => 'Sljedeće »' + +]; diff --git a/resources/lang/hr/passwords.php b/resources/lang/hr/passwords.php new file mode 100644 index 000000000..7f67eb752 --- /dev/null +++ b/resources/lang/hr/passwords.php @@ -0,0 +1,14 @@ + 'Lozinka mora imati najmanje 8 znakova i biti potvrđena.' + 'token' => 'Ponovno postavljanje lozinke nemoguće putem ove adrese.' + 'sent' => 'Na vašu email adresu poslana je poveznica za ponovno postavljanje!' + 'reset' => 'Vaša je lozinka ponovno postavljena!' + +]; diff --git a/resources/lang/hr/settings.php b/resources/lang/hr/settings.php new file mode 100644 index 000000000..8c469a8ac --- /dev/null +++ b/resources/lang/hr/settings.php @@ -0,0 +1,264 @@ + 'Postavke' + 'settings_save' => 'Spremi postavke' + 'settings_save_success' => 'Postavke spremljene' + + // App Settings + 'app_customization' => 'Prilagođavanje' + 'app_features_security' => 'Značajke & Sigurnost' + 'app_name' => 'Ime aplikacije' + 'app_name_desc' => 'Ime je vidljivo u zaglavlju i svakoj sistemskoj poruci.' + 'app_name_header' => 'Prikaži ime u zaglavlju' + 'app_public_access' => 'Javni pristup' + 'app_public_access_desc' => 'Omogućavanje ove postavke pristup sadržaju imat će svi posjetitelji BookStack čak i ako nisu prijavljeni.' + 'app_public_access_desc_guest' => 'Javni pristup može se urediti putem opcije "Gost".' + 'app_public_access_toggle' => 'Dozvoli javni pristup' + 'app_public_viewing' => 'Dozvoljen javni pristup?' + 'app_secure_images' => 'Visoka razina sigurnosti prijenosa slika' + 'app_secure_images_toggle' => 'Omogući visoku sigurnost prijenosa slika' + 'app_secure_images_desc' => 'Zbog specifične izvedbe sve su slike javne. Osigurajte da indeksi direktorija nisu omogućeni kako bi se spriječio neovlašten pristup.' + 'app_editor' => 'Uređivač stranice' + 'app_editor_desc' => 'Odaberite uređivače stranica' + 'app_custom_html' => 'Prilagođeni HTML sadržaj' + 'app_custom_html_desc' => 'Sav sadržaj dodan ovdje bit će umetnut na dno stranice. To je korisno za stiliziranje i dodavanje analitičkog koda.' + 'app_custom_html_disabled_notice' => 'Prilagođeni HTML je onemogućen kako bi se osiguralo vraćanje promjena u slučaju kvara.' + 'app_logo' => 'Logo aplikacije' + 'app_logo_desc' => 'Slika smije biti najviše 43px u visinu.
Velike slike će biti smanjene.' + 'app_primary_color' => 'Primarna boja aplikacije' + 'app_primary_color_desc' => 'Postavlja primarnu boju za aplikaciju uključujući natpis, gumbe i veze.' + 'app_homepage' => 'Glavna stranica aplikacije' + 'app_homepage_desc' => 'Odaberite prikaz svoje glavne stranice umjesto već zadane. Za odabrane stranice ne vrijede zadana dopuštenja.' + 'app_homepage_select' => 'Odaberi stranicu' + 'app_footer_links' => 'Podnožje' + 'app_footer_links_desc' => 'Odaberite poveznice koje će biti vidljive u podnožju većina stranica čak i na nekima koje ne zahtijevaju prijavu. Na primjer, oznaku "trans::common.privacy_policy" možete koristiti za sistemski definirani prijevod teksta "Politika Privatnosti", a za "Uvjete korištenja" možete koristiti "trans::common.terms_of_service".' + 'app_footer_links_label' => 'Oznaka veze' + 'app_footer_links_url' => 'Oznaka URL' + 'app_footer_links_add' => 'Dodaj vezu na podnožje' + 'app_disable_comments' => 'Onemogući komentare' + 'app_disable_comments_toggle' => 'Onemogući komentare' + 'app_disable_comments_desc' => 'Onemogući komentare za sve stranice u aplikaciji.
Postojeći komentari nisu prikazani.' + + // Color settings + 'content_colors' => 'Boja sadržaja' + 'content_colors_desc' => 'Postavljanje boja za sve elemente stranice. Preporuča se odabir boja čija je svjetlina slična zadanim bojama.' + 'bookshelf_color' => 'Boja police' + 'book_color' => 'Boja knjige' + 'chapter_color' => 'Boja poglavlja' + 'page_color' => 'Boja stranice' + 'page_draft_color' => 'Boja nacrta' + + // Registration Settings + 'reg_settings' => 'Registracija' + 'reg_enable' => 'Omogući registraciju' + 'reg_enable_toggle' => 'Omogući registraciju' + 'reg_enable_desc' => 'Ako je omogućeno korisnik se može sam registrirati nakon čega će mu biti dodijeljena jedna od korisničkih uloga.' + 'reg_default_role' => 'Zadaj ulogu korisnika nakon registracije' + 'reg_enable_external_warning' => 'Gornja opcija se zanemaruje ako postoji LDAP ili SAML autorifikacija. Korisnički računi za nepostojeće članove automatski će se kreirati ako je vanjska provjera autentičnosti bila uspješna.' + 'reg_email_confirmation' => 'Potvrda e maila' + 'reg_email_confirmation_toggle' => 'Zahtjev za potvrdom e maila' + 'reg_confirm_email_desc' => 'Ako postoje ograničenja domene potvrda e maila će se zahtijevati i ova će se opcija zanemariti.' + 'reg_confirm_restrict_domain' => 'Ograničenja domene' + 'reg_confirm_restrict_domain_desc' => 'Unesite popis email domena kojima želite ograničiti registraciju i odvojite ih zarezom. Korisnicima će se slati email prije interakcije s aplikacijom.
Uzmite u obzir da će korisnici moći koristiti druge e mail adrese nakon uspješne registracije.' + 'reg_confirm_restrict_domain_placeholder' => 'Bez ograničenja' + + // Maintenance settings + 'maint' => 'Održavanje' + 'maint_image_cleanup' => 'Čišćenje slika' + 'maint_delete_images_only_in_revisions' => 'Izbriši slike koje postoje u prijašnjim revizijama' + 'maint_image_cleanup_run' => 'Pokreni čišćenje' + 'maint_image_cleanup_warning' => ':count moguće neiskorištene slike. Jeste li sigurni da želite izbrisati ove slike?' + 'maint_image_cleanup_success' => ':count moguće neiskorištene slike su pronađene i izbrisane!' + 'maint_image_cleanup_nothing_found' => 'Nema neiskorištenih slika, Ništa nije izbrisano!' + 'maint_send_test_email' => 'Pošalji testni Email' + 'maint_send_test_email_desc' => 'Na ovaj način šaljete testni Email na adresu navedenu u vašem profilu.' + 'maint_send_test_email_run' => 'Pošalji testni email' + 'maint_send_test_email_success' => 'Email je poslan na :address' + 'maint_send_test_email_mail_subject' => 'Testni email' + 'maint_send_test_email_mail_greeting' => 'Email se može koristiti!' + 'maint_send_test_email_mail_text' => 'Čestitamo! Ako ste primili ovaj e mail znači da ćete ga moći koristiti.' + 'maint_recycle_bin_desc' => 'Izbrisane police, knjige, poglavlja i stranice poslane su u Recycle bin i mogu biti vraćene ili trajno izbrisane. Starije stavke bit će automatski izbrisane nakon nekog vremena što ovisi o konfiguraciji sustava.' + 'maint_recycle_bin_open' => 'Otvori Recycle Bin' + + // Recycle Bin + 'recycle_bin' => 'Recycle Bin' + 'recycle_bin_desc' => 'Ovdje možete vratiti izbrisane stavke ili ih trajno ukloniti iz sustava. Popis nije filtriran kao što su to popisi u kojima su omogućeni filteri.' + 'recycle_bin_deleted_item' => 'Izbrisane stavke' + 'recycle_bin_deleted_by' => 'Izbrisano od' + 'recycle_bin_deleted_at' => 'Vrijeme brisanja' + 'recycle_bin_permanently_delete' => 'Trajno izbrisano' + 'recycle_bin_restore' => 'Vrati' + 'recycle_bin_contents_empty' => 'Recycle Bin je prazan' + 'recycle_bin_empty' => 'Isprazni Recycle Bin' + 'recycle_bin_empty_confirm' => 'Ovo će trajno obrisati sve stavke u Recycle Bin i sadržaje povezane s njima. Jeste li sigurni da želite isprazniti Recycle Bin?' + 'recycle_bin_destroy_confirm' => 'Ovom radnjom ćete trajno izbrisati ovu stavku i nećete je više moći vratiti. Želite li je trajno izbrisati?' + 'recycle_bin_destroy_list' => 'Stavke koje treba izbrisati' + 'recycle_bin_restore_list' => 'Stavke koje treba vratiti' + 'recycle_bin_restore_confirm' => 'Ova radnja vraća izbrisane stavke i njene podređene elemente na prvobitnu lokaciju. Ako je nadređena stavka izbrisana i nju treba vratiti.' + 'recycle_bin_restore_deleted_parent' => 'S obzirom da je nadređena stavka obrisana najprije treba vratiti nju.' + 'recycle_bin_destroy_notification' => 'Ukupno izbrisane :count stavke iz Recycle Bin' + 'recycle_bin_restore_notification' => 'Ukupno vraćene :count stavke iz Recycle Bin' + + // Audit Log + 'audit' => 'Dnevnik revizije' + 'audit_desc' => 'Ovaj dnevnik revizije prikazuje popis aktivnosti zabilježene u sustavu. Ovaj popis nije definiran budući da nisu postavljeni filteri.' + 'audit_event_filter' => 'Filter događaja' + 'audit_event_filter_no_filter' => 'Bez filtera' + 'audit_deleted_item' => 'Izbrisane stavke' + 'audit_deleted_item_name' => 'Ime: :name' + 'audit_table_user' => 'Korisnik' + 'audit_table_event' => 'Događaj' + 'audit_table_related' => 'Povezana stavka ili detalj' + 'audit_table_date' => 'Datum aktivnosti' + 'audit_date_from' => 'Rangiraj datum od' + 'audit_date_to' => 'Rangiraj datum do' + + // Role Settings + 'roles' => 'Uloge' + 'role_user_roles' => 'Uloge korisnika' + 'role_create' => 'Stvori novu ulogu' + 'role_create_success' => 'Uloga uspješno stvorena' + 'role_delete' => 'Izbriši ulogu' + 'role_delete_confirm' => 'Ovo će izbrisati ulogu povezanu s imenom \':roleName\'.' + 'role_delete_users_assigned' => 'Ova uloga dodijeljena je :userCount. Ako želite premjestiti korisnike iz ove uloge odaberite novu ulogu u nastavku.' + 'role_delete_sure' => 'Jeste li sigurni da želite obrisati ovu ulogu?' + 'role_delete_success' => 'Uloga je uspješno izbrisana' + 'role_edit' => 'Uredi ulogu' + 'role_details' => 'Detalji uloge' + 'role_name' => 'Ime uloge' + 'role_desc' => 'Kratki opis uloge' + 'role_external_auth_id' => 'Autorizacija' + 'role_system' => 'Dopuštenja sustava' + 'role_manage_users' => 'Upravljanje korisnicima' + 'role_manage_roles' => 'Upravljanje ulogama i dopuštenjima' + 'role_manage_entity_permissions' => 'Upravljanje dopuštenjima nad knjigama, poglavljima i stranicama' + 'role_manage_own_entity_permissions' => 'Upravljanje dopuštenjima vlastitih knjiga, poglavlja i stranica' + 'role_manage_page_templates' => 'Upravljanje predlošcima stranica' + 'role_access_api' => 'API pristup' + 'role_manage_settings' => 'Upravljanje postavkama aplikacija' + 'role_asset' => 'Upravljanje vlasništvom' + 'roles_system_warning' => 'Uzmite u obzir da pristup bilo kojem od ovih dopuštenja dozvoljavate korisniku upravljanje dopuštenjima ostalih u sustavu. Ova dopuštenja dodijelite pouzdanim korisnicima.' + 'role_asset_desc' => 'Ova dopuštenja kontroliraju zadane pristupe. Dopuštenja za knjige, poglavlja i stranice ih poništavaju.' + 'role_asset_admins' => 'Administratori automatski imaju pristup svim sadržajima, ali ove opcije mogu prikazati ili sakriti korisnička sučelja.' + 'role_all' => 'Sve' + 'role_own' => 'Vlastito' + 'role_controlled_by_asset' => 'Kontrolirano od strane vlasnika' + 'role_save' => 'Spremi ulogu' + 'role_update_success' => 'Uloga uspješno ažurirana' + 'role_users' => 'Korisnici u ovoj ulozi' + 'role_users_none' => 'Trenutno nijedan korisnik nije u ovoj ulozi' + + // Users + 'users' => 'Korisnici' + 'user_profile' => 'Profil korisnika' + 'users_add_new' => 'Dodajte novog korisnika' + 'users_search' => 'Pretražite korisnike' + 'users_latest_activity' => 'Zadnje aktivnosti' + 'users_details' => 'Detalji korisnika' + 'users_details_desc' => 'Postavite prikaz imena i email adrese za ovog korisnika. Email adresa koristit će se za prijavu u aplikaciju.' + 'users_details_desc_no_email' => 'Postavite prikaz imena ovog korisnika da ga drugi mogu prepoznati.' + 'users_role' => 'Uloge korisnika' + 'users_role_desc' => 'Odaberite koje će uloge biti dodijeljene ovom korisniku. Ako korisnik ima više uloga njihova će se dopuštenja prilagoditi.' + 'users_password' => 'Lozinka korisnika' + 'users_password_desc' => 'Postavite lozinku za prijavu u aplikaciju. Mora imati najmanje 6 znakova.' + 'users_send_invite_text' => 'Možete odabrati slanje e maila korisniku i dozvoliti mu da postavi svoju lozinku ili vi to možete učiniti za njega.' + 'users_send_invite_option' => 'Pošaljite pozivnicu korisniku putem emaila' + 'users_external_auth_id' => 'Vanjska autorizacija' + 'users_external_auth_id_desc' => 'Ovaj ID koristi se za komunikaciju s vanjskim sustavom za autorizaciju.' + 'users_password_warning' => 'Ispunite dolje samo ako želite promijeniti lozinku.' + 'users_system_public' => 'Ovaj korisnik predstavlja bilo kojeg gosta. Dodjeljuje se automatski.' + 'users_delete' => 'Izbrišite korisnika' + 'users_delete_named' => 'Izbrišite korisnika :userName' + 'users_delete_warning' => 'Ovo će ukloniti korisnika \':userName\' iz sustava.' + 'users_delete_confirm' => 'Jeste li sigurni da želite izbrisati ovog korisnika?' + 'users_migrate_ownership' => 'Premjestite vlasništvo' + 'users_migrate_ownership_desc' => 'Ovdje odaberite korisnika kojem ćete dodijeliti vlasništvo i sve stavke povezane s njim.' + 'users_none_selected' => 'Nije odabran nijedan korisnik' + 'users_delete_success' => 'Korisnik je uspješno premješten' + 'users_edit' => 'Uredite korisnika' + 'users_edit_profile' => 'Uredite profil' + 'users_edit_success' => 'Korisnik je uspješno ažuriran' + 'users_avatar' => 'Korisnički avatar' + 'users_avatar_desc' => 'Odaberite sliku koja će predstavljati korisnika. Maksimalno 256px.' + 'users_preferred_language' => 'Prioritetni jezik' + 'users_preferred_language_desc' => 'Ova će opcija promijeniti jezik korisničkog sučelja. Neće utjecati na sadržaj.' + 'users_social_accounts' => 'Računi društvenih mreža' + 'users_social_accounts_info' => 'Ovdje možete povezati račun s onim na društvenim mrežama za bržu i lakšu prijavu. Ako se odspojite ovdje to neće utjecati na prethodnu autorizaciju. Na postavkama računa vaše društvene mreže možete opozvati pristup.' + 'users_social_connect' => 'Poveži račun' + 'users_social_disconnect' => 'Odvoji račun' + 'users_social_connected' => ':socialAccount račun je uspješno dodan vašem profilu.' + 'users_social_disconnected' => ':socialAccount račun je uspješno odvojen od vašeg profila.' + 'users_api_tokens' => 'API tokeni' + 'users_api_tokens_none' => 'Nijedan API token nije stvoren za ovog korisnika' + 'users_api_tokens_create' => 'Stvori token' + 'users_api_tokens_expires' => 'Isteklo' + 'users_api_tokens_docs' => 'API dokumentacija' + + // API Tokens + 'user_api_token_create' => 'Stvori API token' + 'user_api_token_name' => 'Ime' + 'user_api_token_name_desc' => 'Imenujte svoj token na način da prepoznate njegovu svrhu.' + 'user_api_token_expiry' => 'Datum isteka' + 'user_api_token_expiry_desc' => 'Postavite datum kada token istječe. Ostavljanjem ovog polja praznim automatski se postavlja dugoročno razdoblje.' + 'user_api_token_create_secret_message' => 'Odmah nakon kreiranja tokena prikazat će se "Token ID" i "Token Secret". To će se prikazati samo jednom i zato preporučujemo da ga spremite na sigurno.' + 'user_api_token_create_success' => 'API token uspješno kreiran' + 'user_api_token_update_success' => 'API token uspješno ažuriran' + 'user_api_token' => 'API token' + 'user_api_token_id' => 'Token ID' + 'user_api_token_id_desc' => 'Ovaj sistemski generiran identifikator ne može se uređivati i bit će potreban pri API zahtjevima.' + 'user_api_token_secret' => 'Token Secret' + 'user_api_token_secret_desc' => 'Ovaj sistemski generirani Token Secret trebat ćete za API zahtjev. Prikazuje se samo prvi put i zato ga spremite na sigurno.' + 'user_api_token_created' => 'Token kreiran :timeAgo' + 'user_api_token_updated' => 'Token ažuriran :timeAgo' + 'user_api_token_delete' => 'Izbriši token' + 'user_api_token_delete_warning' => 'Ovo će potpuno izbrisati API token naziva \':tokenName\' iz našeg sustava.' + 'user_api_token_delete_confirm' => 'Jeste li sigurni da želite izbrisati ovaj API token?' + 'user_api_token_delete_success' => 'API token uspješno izbrisan' + + //! If editing translations files directly please ignore this in all + //! languages apart from en. Content will be auto-copied from en. + //!//////////////////////////////// + 'language_select' => [ + 'en' => 'Engleski' + 'ar' => '' + 'bg' => 'Bugarski' + 'bs' => 'Bosanski' + 'ca' => 'Català' + 'cs' => 'Češki' + 'da' => 'Danski' + 'de' => 'Njemački (Sie)' + 'de_informal' => 'Njemački (Du)' + 'es' => 'Španjolski' + 'es_AR' => 'Argentinski' + 'fr' => 'Francuski' + 'he' => '' + 'hu' => 'Mađarski' + 'id' => 'Bahasa Indonezijski' + 'it' => 'Talijanski' + 'ja' => '' + 'ko' => '' + 'lv' => 'Latviešu Valoda' + 'nl' => 'Nizozemski' + 'nb' => 'Norsk (Bokmål)' + 'pl' => 'Poljski' + 'pt' => 'Portugalski' + 'pt_BR' => 'Brazilski' + 'ru' => 'Ruski' + 'sk' => 'Slovensky' + 'sl' => 'Slovenščina' + 'sv' => 'Svenska' + 'tr' => 'Tirski' + 'uk' => '' + 'vi' => '' + 'zh_CN' => '' + 'zh_TW' => '' + ] + //!//////////////////////////////// +]; diff --git a/resources/lang/hr/validation.php b/resources/lang/hr/validation.php new file mode 100644 index 000000000..bbf382dad --- /dev/null +++ b/resources/lang/hr/validation.php @@ -0,0 +1,114 @@ + ':attribute mora biti prihvaćen.' + 'active_url' => ':attribute nema valjan URL.' + 'after' => ':attribute mora biti nakon :date.' + 'alpha' => ':attribute može sadržavati samo slova.' + 'alpha_dash' => ':attribute može sadržavati samo slova, brojeve, crtice i donje crtice.' + 'alpha_num' => ':attribute može sadržavati samo slova i brojeve.' + 'array' => ':attribute mora biti niz.' + 'before' => ':attribute mora biti prije :date.' + 'between' => [ + 'numeric' => ':attribute mora biti između :min i :max.' + 'file' => ':attribute mora biti između :min i :max kilobajta.' + 'string' => ':attribute mora biti između :min i :max znakova.' + 'array' => ':attribute mora biti između :min i :max stavki' + ], + 'boolean' => ':attribute mora biti točno ili netočno.' + 'confirmed' => ':attribute potvrde se ne podudaraju.' + 'date' => ':attribute nema valjani datum.' + 'date_format' => ':attribute ne odgovara formatu :format.' + 'different' => ':attribute i :other se moraju razlikovati.' + 'digits' => ':attribute mora biti :digits znakova.' + 'digits_between' => ':attribute mora biti između :min i :max znamenki.' + 'email' => ':attribute mora biti valjana email adresa.' + 'ends_with' => ':attribute mora završiti s :values' + 'filled' => ':attribute polje je obavezno.' + 'gt' => [ + 'numeric' => ':attribute mora biti veći od :value.' + 'file' => ':attribute mora biti veći od :value kilobajta.' + 'string' => ':attribute mora biti veći od :value znakova' + 'array' => ':attribute mora biti veći od :value stavki.' + ], + 'gte' => [ + 'numeric' => ':attribute mora biti veći ili jednak :value.' + 'file' => ':attribute mora biti veći ili jednak :value kilobajta.' + 'string' => ':attribute mora biti veći ili jednak :value znakova.' + 'array' => ':attribute mora imati :value stavki ili više.' + ], + 'exists' => 'Odabrani :attribute ne vrijedi.' + 'image' => ':attribute mora biti slika.' + 'image_extension' => ':attribute mora imati valjanu i podržanu ekstenziju.' + 'in' => 'Odabrani :attribute ne vrijedi.' + 'integer' => ':attribute mora biti cijeli broj.' + 'ip' => ':attribute mora biti valjana IP adresa.' + 'ipv4' => ':attribute mora biti valjana IPv4 adresa.' + 'ipv6' => ':attribute mora biti valjana IPv6 adresa.' + 'json' => ':attribute mora biti valjani JSON niz.' + 'lt' => [ + 'numeric' => ':attribute mora biti manji od :value.' + 'file' => ':attribute mora biti manji od :value kilobajta.' + 'string' => ':attribute mora biti manji od :value znakova.' + 'array' => ':attribute mora biti manji od :value stavki.' + ], + 'lte' => [ + 'numeric' => ':attribute mora biti manji ili jednak :value.' + 'file' => ':attribute mora biti manji ili jednak :value kilobajta.' + 'string' => ':attribute mora biti manji ili jednak :value znakova.' + 'array' => ':attribute mora imati više od :value stavki.' + ], + 'max' => [ + 'numeric' => ':attribute ne smije biti veći od :max.' + 'file' => ':attribute ne smije biti veći od :max kilobajta.' + 'string' => ':attribute ne smije biti duži od :max znakova.' + 'array' => ':attribute ne smije imati više od :max stavki.' + ], + 'mimes' => ':attribute mora biti datoteka tipa: :values.' + 'min' => [ + 'numeric' => ':attribute mora biti najmanje :min.' + 'file' => ':attribute mora imati najmanje :min kilobajta.' + 'string' => ':attribute mora imati najmanje :min znakova.' + 'array' => ':attribute mora imati najmanje :min stavki.' + ], + 'not_in' => 'Odabrani :attribute ne vrijedi.' + 'not_regex' => 'Format :attribute nije valjan.' + 'numeric' => ':attribute mora biti broj.' + 'regex' => 'Format :attribute nije valjan.' + 'required' => ':attribute polje je obavezno.' + 'required_if' => 'Polje :attribute je obavezno kada :other je :value.' + 'required_with' => 'Polje :attribute je potrebno kada :values je sadašnjost.' + 'required_with_all' => 'Polje :attribute je potrebno kada :values je sadašnjost.' + 'required_without' => 'Polje :attribute je potrebno kada :values nije sadašnjost.' + 'required_without_all' => 'Polje :attribute je potrebno kada ništa od :values nije sadašnjost.' + 'same' => ':attribute i :other se moraju podudarati.' + 'safe_url' => 'Navedena veza možda nije sigurna.' + 'size' => [ + 'numeric' => ':attribute mora biti :size.' + 'file' => ':attribute mora biti :size kilobajta.' + 'string' => ':attribute mora biti :size znakova.' + 'array' => ':attribute mora sadržavati :size stavki.' + ], + 'string' => ':attribute mora biti niz.' + 'timezone' => ':attribute mora biti valjan.' + 'unique' => ':attribute se već koristi.' + 'url' => 'Format :attribute nije valjan.' + 'uploaded' => 'Datoteka se ne može prenijeti. Server možda ne prihvaća datoteke te veličine.' + + // Custom validation lines + 'custom' => [ + 'password-confirm' => [ + 'required_with' => 'Potrebna potvrda lozinke' + ], + ], + + // Custom validation attributes + 'attributes' => [], +]; From 39928e1c6359d02575af3ffeef7bd8706561e7bb Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Wed, 2 Jun 2021 21:34:34 +0100 Subject: [PATCH 03/13] Reviewed base64 image upload support - Added test cases to cover. - Altered parsing logic to be a little less reliant on regex. - Added new iamge repo method for creating from data. - Added extension validation and additional type support. - Done some cleanup of common operations within PageContent. - Added message to API docs/method to mention image usage. For #2700 and #2631. --- app/Entities/Tools/PageContent.php | 86 +++++++++---------- .../Controllers/Api/PageApiController.php | 2 + app/Uploads/ImageRepo.php | 11 +++ tests/Entity/PageContentTest.php | 64 ++++++++++++++ 4 files changed, 119 insertions(+), 44 deletions(-) diff --git a/app/Entities/Tools/PageContent.php b/app/Entities/Tools/PageContent.php index 2c9586265..fbee2ccb6 100644 --- a/app/Entities/Tools/PageContent.php +++ b/app/Entities/Tools/PageContent.php @@ -1,17 +1,16 @@ saveBase64Images($this->page, $html); + $html = $this->extractBase64Images($this->page, $html); $this->page->html = $this->formatHtml($html); $this->page->text = $this->toPlainText(); $this->page->markdown = ''; @@ -69,45 +68,40 @@ class PageContent /** * Convert all base64 image data to saved images */ - public function saveBase64Images(Page $page, string $htmlText): string + public function extractBase64Images(Page $page, string $htmlText): string { - if ($htmlText == '') { + if (empty($htmlText) || strpos($htmlText, 'data:image') === false) { return $htmlText; } - libxml_use_internal_errors(true); - $doc = new DOMDocument(); - $doc->loadHTML(mb_convert_encoding($htmlText, 'HTML-ENTITIES', 'UTF-8')); + $doc = $this->loadDocumentFromHtml($htmlText); $container = $doc->documentElement; $body = $container->childNodes->item(0); $childNodes = $body->childNodes; $xPath = new DOMXPath($doc); + $imageRepo = app()->make(ImageRepo::class); + $allowedExtensions = ['jpg', 'jpeg', 'png', 'gif', 'webp']; // Get all img elements with image data blobs $imageNodes = $xPath->query('//img[contains(@src, \'data:image\')]'); - foreach($imageNodes as $imageNode) { + foreach ($imageNodes as $imageNode) { $imageSrc = $imageNode->getAttribute('src'); + [$dataDefinition, $base64ImageData] = explode(',', $imageSrc, 2); + $extension = strtolower(preg_split('/[\/;]/', $dataDefinition)[1] ?? 'png'); - # Parse base64 data - $result = preg_match('"data:image/[a-zA-Z]*(;base64,[a-zA-Z0-9+/\\= ]*)"', $imageSrc, $matches); + // Validate extension + if (!in_array($extension, $allowedExtensions)) { + $imageNode->setAttribute('src', ''); + continue; + } - if($result === 1) { - $base64ImageData = $matches[1]; - - $image = new Image(); - $imageService = app()->make(ImageService::class); - $permissionService = app(PermissionService::class); - $imageRepo = new ImageRepo(new Image(), $imageService, $permissionService, $page); - - # Use existing saveDrawing method used for Drawio diagrams - $image = $imageRepo->saveDrawing($base64ImageData, $page->id); - - // Create a new img element with the saved image URI - $newNode = $doc->createElement('img'); - $newNode->setAttribute('src', $image->path); - - // Replace the old img element - $imageNode->parentNode->replaceChild($newNode, $imageNode); + // Save image from data with a random name + $imageName = 'embedded-image-' . Str::random(8) . '.' . $extension; + try { + $image = $imageRepo->saveNewFromData($imageName, base64_decode($base64ImageData), 'gallery', $page->id); + $imageNode->setAttribute('src', $image->path); + } catch (ImageUploadException $exception) { + $imageNode->setAttribute('src', ''); } } @@ -125,14 +119,11 @@ class PageContent */ protected function formatHtml(string $htmlText): string { - if ($htmlText == '') { + if (empty($htmlText)) { return $htmlText; } - libxml_use_internal_errors(true); - $doc = new DOMDocument(); - $doc->loadHTML(mb_convert_encoding($htmlText, 'HTML-ENTITIES', 'UTF-8')); - + $doc = $this->loadDocumentFromHtml($htmlText); $container = $doc->documentElement; $body = $container->childNodes->item(0); $childNodes = $body->childNodes; @@ -171,7 +162,7 @@ class PageContent protected function updateLinks(DOMXPath $xpath, string $old, string $new) { $old = str_replace('"', '', $old); - $matchingLinks = $xpath->query('//body//*//*[@href="'.$old.'"]'); + $matchingLinks = $xpath->query('//body//*//*[@href="' . $old . '"]'); foreach ($matchingLinks as $domElem) { $domElem->setAttribute('href', $new); } @@ -224,7 +215,7 @@ class PageContent /** * Render the page for viewing */ - public function render(bool $blankIncludes = false) : string + public function render(bool $blankIncludes = false): string { $content = $this->page->html; @@ -250,9 +241,7 @@ class PageContent return []; } - libxml_use_internal_errors(true); - $doc = new DOMDocument(); - $doc->loadHTML(mb_convert_encoding($htmlContent, 'HTML-ENTITIES', 'UTF-8')); + $doc = $this->loadDocumentFromHtml($htmlContent); $xPath = new DOMXPath($doc); $headers = $xPath->query("//h1|//h2|//h3|//h4|//h5|//h6"); @@ -292,7 +281,7 @@ class PageContent /** * Remove any page include tags within the given HTML. */ - protected function blankPageIncludes(string $html) : string + protected function blankPageIncludes(string $html): string { return preg_replace("/{{@\s?([0-9].*?)}}/", '', $html); } @@ -300,7 +289,7 @@ class PageContent /** * Parse any include tags "{{@#section}}" to be part of the page. */ - protected function parsePageIncludes(string $html) : string + protected function parsePageIncludes(string $html): string { $matches = []; preg_match_all("/{{@\s?([0-9].*?)}}/", $html, $matches); @@ -343,9 +332,7 @@ class PageContent protected function fetchSectionOfPage(Page $page, string $sectionId): string { $topLevelTags = ['table', 'ul', 'ol']; - $doc = new DOMDocument(); - libxml_use_internal_errors(true); - $doc->loadHTML(mb_convert_encoding(''.$page->html.'', 'HTML-ENTITIES', 'UTF-8')); + $doc = $this->loadDocumentFromHtml('' . $page->html . ''); // Search included content for the id given and blank out if not exists. $matchingElem = $doc->getElementById($sectionId); @@ -368,4 +355,15 @@ class PageContent return $innerContent; } + + /** + * Create and load a DOMDocument from the given html content. + */ + protected function loadDocumentFromHtml(string $html): DOMDocument + { + libxml_use_internal_errors(true); + $doc = new DOMDocument(); + $doc->loadHTML(mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8')); + return $doc; + } } diff --git a/app/Http/Controllers/Api/PageApiController.php b/app/Http/Controllers/Api/PageApiController.php index a6db05833..fd4a16eff 100644 --- a/app/Http/Controllers/Api/PageApiController.php +++ b/app/Http/Controllers/Api/PageApiController.php @@ -60,6 +60,8 @@ class PageApiController extends ApiController * * Any HTML content provided should be kept to a single-block depth of plain HTML * elements to remain compatible with the BookStack front-end and editors. + * Any images included via base64 data URIs will be extracted and saved as gallery + * images against the page during upload. */ public function create(Request $request) { diff --git a/app/Uploads/ImageRepo.php b/app/Uploads/ImageRepo.php index e6f766824..ef249c58b 100644 --- a/app/Uploads/ImageRepo.php +++ b/app/Uploads/ImageRepo.php @@ -130,6 +130,17 @@ class ImageRepo return $image; } + /** + * Save a new image from an existing image data string. + * @throws ImageUploadException + */ + public function saveNewFromData(string $imageName, string $imageData, string $type, int $uploadedTo = 0) + { + $image = $this->imageService->saveNew($imageName, $imageData, $type, $uploadedTo); + $this->loadThumbs($image); + return $image; + } + /** * Save a drawing the the database. * @throws ImageUploadException diff --git a/tests/Entity/PageContentTest.php b/tests/Entity/PageContentTest.php index 6d5200794..670557b0c 100644 --- a/tests/Entity/PageContentTest.php +++ b/tests/Entity/PageContentTest.php @@ -3,9 +3,13 @@ use BookStack\Entities\Tools\PageContent; use BookStack\Entities\Models\Page; use Tests\TestCase; +use Tests\Uploads\UsesImages; class PageContentTest extends TestCase { + use UsesImages; + + protected $base64Jpeg = '/9j/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/yQALCAABAAEBAREA/8wABgAQEAX/2gAIAQEAAD8A0s8g/9k='; public function test_page_includes() { @@ -479,4 +483,64 @@ class PageContentTest extends TestCase $pageView = $this->get($page->getUrl()); $pageView->assertElementExists('.page-content p > s'); } + + public function test_base64_images_get_extracted_from_page_content() + { + $this->asEditor(); + $page = Page::query()->first(); + + $this->put($page->getUrl(), [ + 'name' => $page->name, 'summary' => '', + 'html' => '

test

', + ]); + + $page->refresh(); + $this->assertStringMatchesFormat('%Atest%A

%A', $page->html); + + $matches = []; + preg_match('/src="(.*?)"/', $page->html, $matches); + $imagePath = $matches[1]; + $imageFile = public_path($imagePath); + $this->assertEquals(base64_decode($this->base64Jpeg), file_get_contents($imageFile)); + + $this->deleteImage($imagePath); + } + + public function test_base64_images_get_extracted_when_containing_whitespace() + { + $this->asEditor(); + $page = Page::query()->first(); + + $base64PngWithWhitespace = "iVBORw0KGg\noAAAANSUhE\tUgAAAAEAAAA BCA YAAAAfFcSJAAA\n\t ACklEQVR4nGMAAQAABQAB"; + $base64PngWithoutWhitespace = 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACklEQVR4nGMAAQAABQAB'; + $this->put($page->getUrl(), [ + 'name' => $page->name, 'summary' => '', + 'html' => '

test

', + ]); + + $page->refresh(); + $this->assertStringMatchesFormat('%Atest%A

%A', $page->html); + + $matches = []; + preg_match('/src="(.*?)"/', $page->html, $matches); + $imagePath = $matches[1]; + $imageFile = public_path($imagePath); + $this->assertEquals(base64_decode($base64PngWithoutWhitespace), file_get_contents($imageFile)); + + $this->deleteImage($imagePath); + } + + public function test_base64_images_blanked_if_not_supported_extension_for_extract() + { + $this->asEditor(); + $page = Page::query()->first(); + + $this->put($page->getUrl(), [ + 'name' => $page->name, 'summary' => '', + 'html' => '

test

', + ]); + + $page->refresh(); + $this->assertStringContainsString('html); + } } From e51352e1a4aa43e67fad054a8cfc3889dcd4e2a1 Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Wed, 2 Jun 2021 21:50:38 +0100 Subject: [PATCH 04/13] Added back in commas, reset settings language array Related to #2784 --- resources/lang/hr/activities.php | 64 ++-- resources/lang/hr/auth.php | 110 +++--- resources/lang/hr/common.php | 128 +++---- resources/lang/hr/components.php | 48 +-- resources/lang/hr/entities.php | 574 +++++++++++++++---------------- resources/lang/hr/errors.php | 140 ++++---- resources/lang/hr/pagination.php | 4 +- resources/lang/hr/passwords.php | 8 +- resources/lang/hr/settings.php | 458 ++++++++++++------------ resources/lang/hr/validation.php | 156 ++++----- 10 files changed, 845 insertions(+), 845 deletions(-) diff --git a/resources/lang/hr/activities.php b/resources/lang/hr/activities.php index 204d4fa7e..6ecf80a9b 100644 --- a/resources/lang/hr/activities.php +++ b/resources/lang/hr/activities.php @@ -6,46 +6,46 @@ return [ // Pages - 'page_create' => 'stvorena stranica' - 'page_create_notification' => 'Stranica je uspješno stvorena' - 'page_update' => 'ažurirana stranica' - 'page_update_notification' => 'Stranica je uspješno ažurirana' - 'page_delete' => 'izbrisana stranica' - 'page_delete_notification' => 'Stranica je uspješno izbrisana' - 'page_restore' => 'obnovljena stranica' - 'page_restore_notification' => 'Stranica je uspješno obnovljena' - 'page_move' => 'premještena stranica' + 'page_create' => 'stvorena stranica', + 'page_create_notification' => 'Stranica je uspješno stvorena', + 'page_update' => 'ažurirana stranica', + 'page_update_notification' => 'Stranica je uspješno ažurirana', + 'page_delete' => 'izbrisana stranica', + 'page_delete_notification' => 'Stranica je uspješno izbrisana', + 'page_restore' => 'obnovljena stranica', + 'page_restore_notification' => 'Stranica je uspješno obnovljena', + 'page_move' => 'premještena stranica', // Chapters - 'chapter_create' => 'stvoreno poglavlje' - 'chapter_create_notification' => 'Poglavlje je uspješno stvoreno' - 'chapter_update' => 'ažurirano poglavlje' - 'chapter_update_notification' => 'Poglavlje je uspješno ažurirano' - 'chapter_delete' => 'izbrisano poglavlje' - 'chapter_delete_notification' => 'Poglavlje je uspješno izbrisano' - 'chapter_move' => 'premiješteno poglavlje' + 'chapter_create' => 'stvoreno poglavlje', + 'chapter_create_notification' => 'Poglavlje je uspješno stvoreno', + 'chapter_update' => 'ažurirano poglavlje', + 'chapter_update_notification' => 'Poglavlje je uspješno ažurirano', + 'chapter_delete' => 'izbrisano poglavlje', + 'chapter_delete_notification' => 'Poglavlje je uspješno izbrisano', + 'chapter_move' => 'premiješteno poglavlje', // Books - 'book_create' => 'stvorena knjiga' - 'book_create_notification' => 'Knjiga je uspješno stvorena' - 'book_update' => 'ažurirana knjiga' - 'book_update_notification' => 'Knjiga je uspješno ažurirana' - 'book_delete' => 'izbrisana knjiga' - 'book_delete_notification' => 'Knjiga je uspješno izbrisana' - 'book_sort' => 'razvrstana knjiga' - 'book_sort_notification' => 'Knjiga je uspješno razvrstana' + 'book_create' => 'stvorena knjiga', + 'book_create_notification' => 'Knjiga je uspješno stvorena', + 'book_update' => 'ažurirana knjiga', + 'book_update_notification' => 'Knjiga je uspješno ažurirana', + 'book_delete' => 'izbrisana knjiga', + 'book_delete_notification' => 'Knjiga je uspješno izbrisana', + 'book_sort' => 'razvrstana knjiga', + 'book_sort_notification' => 'Knjiga je uspješno razvrstana', // Bookshelves - 'bookshelf_create' => 'stvorena polica za knjige' - 'bookshelf_create_notification' => 'Polica za knjige je uspješno stvorena' - 'bookshelf_update' => 'ažurirana polica za knjige' - 'bookshelf_update_notification' => 'Polica za knjige je uspješno ažurirana' - 'bookshelf_delete' => 'izbrisana polica za knjige' - 'bookshelf_delete_notification' => 'Polica za knjige je uspješno izbrisana' + 'bookshelf_create' => 'stvorena polica za knjige', + 'bookshelf_create_notification' => 'Polica za knjige je uspješno stvorena', + 'bookshelf_update' => 'ažurirana polica za knjige', + 'bookshelf_update_notification' => 'Polica za knjige je uspješno ažurirana', + 'bookshelf_delete' => 'izbrisana polica za knjige', + 'bookshelf_delete_notification' => 'Polica za knjige je uspješno izbrisana', // Favourites // Other - 'commented_on' => 'komentirano' - 'permissions_update' => 'ažurirana dopuštenja' + 'commented_on' => 'komentirano', + 'permissions_update' => 'ažurirana dopuštenja', ]; diff --git a/resources/lang/hr/auth.php b/resources/lang/hr/auth.php index 0b41d37b2..55a2cb3b5 100644 --- a/resources/lang/hr/auth.php +++ b/resources/lang/hr/auth.php @@ -6,72 +6,72 @@ */ return [ - 'failed' => 'Ove vjerodajnice ne podudaraju se s našim zapisima.' - 'throttle' => 'Previše pokušaja prijave. Molimo vas da pokušate za :seconds sekundi.' + 'failed' => 'Ove vjerodajnice ne podudaraju se s našim zapisima.', + 'throttle' => 'Previše pokušaja prijave. Molimo vas da pokušate za :seconds sekundi.', // Login & Register - 'sign_up' => 'Registrirajte se' - 'log_in' => 'Prijavite se' - 'log_in_with' => 'Prijavite se sa :socialDriver' - 'sign_up_with' => 'Registrirajte se sa :socialDriver' - 'logout' => 'Odjavite se' + 'sign_up' => 'Registrirajte se', + 'log_in' => 'Prijavite se', + 'log_in_with' => 'Prijavite se sa :socialDriver', + 'sign_up_with' => 'Registrirajte se sa :socialDriver', + 'logout' => 'Odjavite se', - 'name' => 'Ime' - 'username' => 'Korisničko ime' - 'email' => 'Email' - 'password' => 'Lozinka' - 'password_confirm' => 'Potvrdite lozinku' - 'password_hint' => 'Mora imati više od 7 znakova' - 'forgot_password' => 'Zaboravili ste lozinku?' - 'remember_me' => 'Zapamti me' - 'ldap_email_hint' => 'Molimo upišite mail korišten za ovaj račun.' - 'create_account' => 'Stvori račun' - 'already_have_account' => 'Imate li već račun?' - 'dont_have_account' => 'Nemate račun?' - 'social_login' => 'Social Login' - 'social_registration' => 'Social Registration' - 'social_registration_text' => 'Prijavite se putem drugih servisa.' + 'name' => 'Ime', + 'username' => 'Korisničko ime', + 'email' => 'Email', + 'password' => 'Lozinka', + 'password_confirm' => 'Potvrdite lozinku', + 'password_hint' => 'Mora imati više od 7 znakova', + 'forgot_password' => 'Zaboravili ste lozinku?', + 'remember_me' => 'Zapamti me', + 'ldap_email_hint' => 'Molimo upišite mail korišten za ovaj račun.', + 'create_account' => 'Stvori račun', + 'already_have_account' => 'Imate li već račun?', + 'dont_have_account' => 'Nemate račun?', + 'social_login' => 'Social Login', + 'social_registration' => 'Social Registration', + 'social_registration_text' => 'Prijavite se putem drugih servisa.', - 'register_thanks' => 'Zahvaljujemo na registraciji!' - 'register_confirm' => 'Molimo, provjerite svoj email i kliknite gumb za potvrdu pristupa :appName.' - 'registrations_disabled' => 'Registracije su trenutno onemogućene' - 'registration_email_domain_invalid' => 'Ova e-mail adresa se ne može koristiti u ovoj aplikaciji' - 'register_success' => 'Hvala na prijavi! Sada ste registrirani i prijavljeni.' + 'register_thanks' => 'Zahvaljujemo na registraciji!', + 'register_confirm' => 'Molimo, provjerite svoj email i kliknite gumb za potvrdu pristupa :appName.', + 'registrations_disabled' => 'Registracije su trenutno onemogućene', + 'registration_email_domain_invalid' => 'Ova e-mail adresa se ne može koristiti u ovoj aplikaciji', + 'register_success' => 'Hvala na prijavi! Sada ste registrirani i prijavljeni.', // Password Reset - 'reset_password' => 'Promijenite lozinku' - 'reset_password_send_instructions' => 'Upišite svoju e-mail adresu kako biste primili poveznicu za promjenu lozinke.' - 'reset_password_send_button' => 'Pošalji poveznicu za promjenu lozinke' - 'reset_password_sent' => 'Poveznica za promjenu lozinke poslat će se na :email adresu ako je u našem sustavu.' - 'reset_password_success' => 'Vaša lozinka je uspješno promijenjena.' - 'email_reset_subject' => 'Promijenite svoju :appName lozinku' - 'email_reset_text' => 'Primili ste ovu poruku jer je zatražena promjena lozinke za vaš račun.' - 'email_reset_not_requested' => 'Ako niste tražili promjenu lozinke slobodno zanemarite ovu poruku.' + 'reset_password' => 'Promijenite lozinku', + 'reset_password_send_instructions' => 'Upišite svoju e-mail adresu kako biste primili poveznicu za promjenu lozinke.', + 'reset_password_send_button' => 'Pošalji poveznicu za promjenu lozinke', + 'reset_password_sent' => 'Poveznica za promjenu lozinke poslat će se na :email adresu ako je u našem sustavu.', + 'reset_password_success' => 'Vaša lozinka je uspješno promijenjena.', + 'email_reset_subject' => 'Promijenite svoju :appName lozinku', + 'email_reset_text' => 'Primili ste ovu poruku jer je zatražena promjena lozinke za vaš račun.', + 'email_reset_not_requested' => 'Ako niste tražili promjenu lozinke slobodno zanemarite ovu poruku.', // Email Confirmation - 'email_confirm_subject' => 'Potvrdite svoju e-mail adresu na :appName' - 'email_confirm_greeting' => 'Hvala na prijavi :appName!' - 'email_confirm_text' => 'Molimo potvrdite svoju e-mail adresu klikom na donji gumb.' - 'email_confirm_action' => 'Potvrdi Email' - 'email_confirm_send_error' => 'Potvrda e-mail adrese je obavezna, ali sustav ne može poslati e-mail. Javite se administratoru kako bi provjerio vaš e-mail.' - 'email_confirm_success' => 'Vaš e-mail adresa je potvrđena!' - 'email_confirm_resent' => 'Ponovno je poslana potvrda. Molimo, provjerite svoj inbox.' + 'email_confirm_subject' => 'Potvrdite svoju e-mail adresu na :appName', + 'email_confirm_greeting' => 'Hvala na prijavi :appName!', + 'email_confirm_text' => 'Molimo potvrdite svoju e-mail adresu klikom na donji gumb.', + 'email_confirm_action' => 'Potvrdi Email', + 'email_confirm_send_error' => 'Potvrda e-mail adrese je obavezna, ali sustav ne može poslati e-mail. Javite se administratoru kako bi provjerio vaš e-mail.', + 'email_confirm_success' => 'Vaš e-mail adresa je potvrđena!', + 'email_confirm_resent' => 'Ponovno je poslana potvrda. Molimo, provjerite svoj inbox.', - 'email_not_confirmed' => 'E-mail adresa nije potvrđena.' - 'email_not_confirmed_text' => 'Vaša e-mail adresa još nije potvrđena.' - 'email_not_confirmed_click_link' => 'Molimo, kliknite na poveznicu koju ste primili kratko nakon registracije.' - 'email_not_confirmed_resend' => 'Ako ne možete pronaći e-mail za postavljanje lozinke možete ga zatražiti ponovno ispunjavanjem ovog obrasca.' - 'email_not_confirmed_resend_button' => 'Ponovno pošalji e-mail potvrde' + 'email_not_confirmed' => 'E-mail adresa nije potvrđena.', + 'email_not_confirmed_text' => 'Vaša e-mail adresa još nije potvrđena.', + 'email_not_confirmed_click_link' => 'Molimo, kliknite na poveznicu koju ste primili kratko nakon registracije.', + 'email_not_confirmed_resend' => 'Ako ne možete pronaći e-mail za postavljanje lozinke možete ga zatražiti ponovno ispunjavanjem ovog obrasca.', + 'email_not_confirmed_resend_button' => 'Ponovno pošalji e-mail potvrde', // User Invite - 'user_invite_email_subject' => 'Pozvani ste pridružiti se :appName!' - 'user_invite_email_greeting' => 'Vaš račun je kreiran za vas na :appName' - 'user_invite_email_text' => 'Kliknite ispod da biste postavili račun i dobili pristup.' - 'user_invite_email_action' => 'Postavite lozinku' - 'user_invite_page_welcome' => 'Dobrodošli u :appName!' - 'user_invite_page_text' => 'Da biste postavili račun i dobili pristup trebate unijeti lozinku kojom ćete se ubuduće prijaviti na :appName.' - 'user_invite_page_confirm_button' => 'Potvrdite lozinku' - 'user_invite_success' => 'Lozinka je postavljena, možete pristupiti :appName!' + 'user_invite_email_subject' => 'Pozvani ste pridružiti se :appName!', + 'user_invite_email_greeting' => 'Vaš račun je kreiran za vas na :appName', + 'user_invite_email_text' => 'Kliknite ispod da biste postavili račun i dobili pristup.', + 'user_invite_email_action' => 'Postavite lozinku', + 'user_invite_page_welcome' => 'Dobrodošli u :appName!', + 'user_invite_page_text' => 'Da biste postavili račun i dobili pristup trebate unijeti lozinku kojom ćete se ubuduće prijaviti na :appName.', + 'user_invite_page_confirm_button' => 'Potvrdite lozinku', + 'user_invite_success' => 'Lozinka je postavljena, možete pristupiti :appName!', ]; \ No newline at end of file diff --git a/resources/lang/hr/common.php b/resources/lang/hr/common.php index 0aa3118ed..8f98f3d74 100644 --- a/resources/lang/hr/common.php +++ b/resources/lang/hr/common.php @@ -5,85 +5,85 @@ return [ // Buttons - 'cancel' => 'Odustani' - 'confirm' => 'Potvrdi' - 'back' => 'Natrag' - 'save' => 'Spremi' - 'continue' => 'Nastavi' - 'select' => 'Odaberi' - 'toggle_all' => 'Prebaci sve' - 'more' => 'Više' + 'cancel' => 'Odustani', + 'confirm' => 'Potvrdi', + 'back' => 'Natrag', + 'save' => 'Spremi', + 'continue' => 'Nastavi', + 'select' => 'Odaberi', + 'toggle_all' => 'Prebaci sve', + 'more' => 'Više', // Form Labels - 'name' => 'Ime' - 'description' => 'Opis' - 'role' => 'Uloga' - 'cover_image' => 'Naslovna slika' - 'cover_image_description' => 'Slika treba biti približno 440x250px.' + 'name' => 'Ime', + 'description' => 'Opis', + 'role' => 'Uloga', + 'cover_image' => 'Naslovna slika', + 'cover_image_description' => 'Slika treba biti približno 440x250px.', // Actions - 'actions' => 'Aktivnost' - 'view' => 'Pogled' - 'view_all' => 'Pogledaj sve' - 'create' => 'Stvori' - 'update' => 'Ažuriraj' - 'edit' => 'Uredi' - 'sort' => 'Razvrstaj' - 'move' => 'Makni' - 'copy' => 'Kopiraj' - 'reply' => 'Ponovi' - 'delete' => 'Izbriši' - 'delete_confirm' => 'Potvrdite brisanje' - 'search' => 'Traži' - 'search_clear' => 'Očisti pretragu' - 'reset' => 'Ponovno postavi' - 'remove' => 'Ukloni' - 'add' => 'Dodaj' - 'fullscreen' => 'Cijeli zaslon' + 'actions' => 'Aktivnost', + 'view' => 'Pogled', + 'view_all' => 'Pogledaj sve', + 'create' => 'Stvori', + 'update' => 'Ažuriraj', + 'edit' => 'Uredi', + 'sort' => 'Razvrstaj', + 'move' => 'Makni', + 'copy' => 'Kopiraj', + 'reply' => 'Ponovi', + 'delete' => 'Izbriši', + 'delete_confirm' => 'Potvrdite brisanje', + 'search' => 'Traži', + 'search_clear' => 'Očisti pretragu', + 'reset' => 'Ponovno postavi', + 'remove' => 'Ukloni', + 'add' => 'Dodaj', + 'fullscreen' => 'Cijeli zaslon', // Sort Options - 'sort_options' => 'Razvrstaj opcije' - 'sort_direction_toggle' => 'Razvrstaj smjer prebacivanja' - 'sort_ascending' => 'Razvrstaj uzlazno' - 'sort_descending' => 'Razvrstaj silazno' - 'sort_name' => 'Ime' - 'sort_default' => 'Zadano' - 'sort_created_at' => 'Datum' - 'sort_updated_at' => 'Ažuriraj datum' + 'sort_options' => 'Razvrstaj opcije', + 'sort_direction_toggle' => 'Razvrstaj smjer prebacivanja', + 'sort_ascending' => 'Razvrstaj uzlazno', + 'sort_descending' => 'Razvrstaj silazno', + 'sort_name' => 'Ime', + 'sort_default' => 'Zadano', + 'sort_created_at' => 'Datum', + 'sort_updated_at' => 'Ažuriraj datum', // Misc - 'deleted_user' => 'Izbrisani korisnik' - 'no_activity' => 'Nema aktivnosti za pregled' - 'no_items' => 'Nedostupno' - 'back_to_top' => 'Natrag na vrh' - 'toggle_details' => 'Prebaci detalje' - 'toggle_thumbnails' => 'Uključi minijature' - 'details' => 'Detalji' - 'grid_view' => 'Prikaz rešetke' - 'list_view' => 'Prikaz popisa' - 'default' => 'Zadano' - 'breadcrumb' => 'Breadcrumb' + 'deleted_user' => 'Izbrisani korisnik', + 'no_activity' => 'Nema aktivnosti za pregled', + 'no_items' => 'Nedostupno', + 'back_to_top' => 'Natrag na vrh', + 'toggle_details' => 'Prebaci detalje', + 'toggle_thumbnails' => 'Uključi minijature', + 'details' => 'Detalji', + 'grid_view' => 'Prikaz rešetke', + 'list_view' => 'Prikaz popisa', + 'default' => 'Zadano', + 'breadcrumb' => 'Breadcrumb', // Header - 'header_menu_expand' => 'Proširi izbornik' - 'profile_menu' => 'Profil' - 'view_profile' => 'Vidi profil' - 'edit_profile' => 'Uredite profil' - 'dark_mode' => 'Tamni način' - 'light_mode' => 'Svijetli način' + 'header_menu_expand' => 'Proširi izbornik', + 'profile_menu' => 'Profil', + 'view_profile' => 'Vidi profil', + 'edit_profile' => 'Uredite profil', + 'dark_mode' => 'Tamni način', + 'light_mode' => 'Svijetli način', // Layout tabs - 'tab_info' => 'Info' - 'tab_info_label' => 'Tab: pokaži sekundarne informacije' - 'tab_content' => 'Sadržaj' - 'tab_content_label' => 'Tab: pokaži primarni sadržaj' + 'tab_info' => 'Info', + 'tab_info_label' => 'Tab: pokaži sekundarne informacije', + 'tab_content' => 'Sadržaj', + 'tab_content_label' => 'Tab: pokaži primarni sadržaj', // Email Content - 'email_action_help' => 'Ako imate poteškoća s klikom na gumb ":actionText", kopirajte i zalijepite donji URL u vaš preglednik.' - 'email_rights' => 'Sva prava pridržana' + 'email_action_help' => 'Ako imate poteškoća s klikom na gumb ":actionText", kopirajte i zalijepite donji URL u vaš preglednik.', + 'email_rights' => 'Sva prava pridržana', // Footer Link Options // Not directly used but available for convenience to users. - 'privacy_policy' => 'Politika privatnosti' - 'terms_of_service' => 'Uvjeti korištenja' + 'privacy_policy' => 'Politika privatnosti', + 'terms_of_service' => 'Uvjeti korištenja', ]; diff --git a/resources/lang/hr/components.php b/resources/lang/hr/components.php index 028484566..5caffd55f 100644 --- a/resources/lang/hr/components.php +++ b/resources/lang/hr/components.php @@ -5,30 +5,30 @@ return [ // Image Manager - 'image_select' => 'Odabir slike' - 'image_all' => 'Sve' - 'image_all_title' => 'Vidi sve slike' - 'image_book_title' => 'Vidi slike dodane ovoj knjizi' - 'image_page_title' => 'Vidi slike dodane ovoj stranici' - 'image_search_hint' => 'Pretraži pomoću imena slike' - 'image_uploaded' => 'Učitano :uploadedDate' - 'image_load_more' => 'Učitaj više' - 'image_image_name' => 'Ime slike' - 'image_delete_used' => 'Ova slika korištena je na donjoj stranici.' - 'image_delete_confirm_text' => 'Jeste li sigurni da želite obrisati sliku?' - 'image_select_image' => 'Odaberi sliku' - 'image_dropzone' => 'Prebacite sliku ili kliknite ovdje za prijenos' - 'images_deleted' => 'Obrisane slike' - 'image_preview' => 'Pregled slike' - 'image_upload_success' => 'Slika je uspješno dodana' - 'image_update_success' => 'Detalji slike su uspješno ažurirani' - 'image_delete_success' => 'Slika je obrisana' - 'image_upload_remove' => 'Ukloni' + 'image_select' => 'Odabir slike', + 'image_all' => 'Sve', + 'image_all_title' => 'Vidi sve slike', + 'image_book_title' => 'Vidi slike dodane ovoj knjizi', + 'image_page_title' => 'Vidi slike dodane ovoj stranici', + 'image_search_hint' => 'Pretraži pomoću imena slike', + 'image_uploaded' => 'Učitano :uploadedDate', + 'image_load_more' => 'Učitaj više', + 'image_image_name' => 'Ime slike', + 'image_delete_used' => 'Ova slika korištena je na donjoj stranici.', + 'image_delete_confirm_text' => 'Jeste li sigurni da želite obrisati sliku?', + 'image_select_image' => 'Odaberi sliku', + 'image_dropzone' => 'Prebacite sliku ili kliknite ovdje za prijenos', + 'images_deleted' => 'Obrisane slike', + 'image_preview' => 'Pregled slike', + 'image_upload_success' => 'Slika je uspješno dodana', + 'image_update_success' => 'Detalji slike su uspješno ažurirani', + 'image_delete_success' => 'Slika je obrisana', + 'image_upload_remove' => 'Ukloni', // Code Editor - 'code_editor' => 'Uredi kod' - 'code_language' => 'Jezik koda' - 'code_content' => 'Sadržaj koda' - 'code_session_history' => 'Povijest sesije' - 'code_save' => 'Spremi kod' + 'code_editor' => 'Uredi kod', + 'code_language' => 'Jezik koda', + 'code_content' => 'Sadržaj koda', + 'code_session_history' => 'Povijest sesije', + 'code_save' => 'Spremi kod', ]; diff --git a/resources/lang/hr/entities.php b/resources/lang/hr/entities.php index 085557514..613b35ee9 100644 --- a/resources/lang/hr/entities.php +++ b/resources/lang/hr/entities.php @@ -6,313 +6,313 @@ return [ // Shared - 'recently_created' => 'Nedavno stvoreno' - 'recently_created_pages' => 'Nedavno stvorene stranice' - 'recently_updated_pages' => 'Nedavno ažurirane stranice' - 'recently_created_chapters' => 'Nedavno stvorena poglavlja' - 'recently_created_books' => 'Nedavno stvorene knjige' - 'recently_created_shelves' => 'Nedavno stvorene police' - 'recently_update' => 'Nedavno ažurirano' - 'recently_viewed' => 'Nedavno viđeno' - 'recent_activity' => 'Nedavna aktivnost' - 'create_now' => 'Stvori sada' - 'revisions' => 'Revizije' - 'meta_revision' => 'Revizija #:revisionCount' - 'meta_created' => 'Stvoreno :timeLength' - 'meta_created_name' => 'Stvoreno :timeLength od :user' - 'meta_updated' => 'Ažurirano :timeLength' - 'meta_updated_name' => 'Ažurirano :timeLength od :user' - 'meta_owned_name' => 'Vlasništvo :user' - 'entity_select' => 'Odaberi subjekt' - 'images' => 'Slike' - 'my_recent_drafts' => 'Nedavne skice' - 'my_recently_viewed' => 'Nedavno viđeno' - 'no_pages_viewed' => 'Niste pogledali nijednu stranicu' - 'no_pages_recently_created' => 'Nema nedavno stvorenih stranica' - 'no_pages_recently_updated' => 'Nema nedavno ažuriranih stranica' - 'export' => 'Izvoz' - 'export_html' => 'Web File' - 'export_pdf' => 'PDF File' - 'export_text' => 'Text File' + 'recently_created' => 'Nedavno stvoreno', + 'recently_created_pages' => 'Nedavno stvorene stranice', + 'recently_updated_pages' => 'Nedavno ažurirane stranice', + 'recently_created_chapters' => 'Nedavno stvorena poglavlja', + 'recently_created_books' => 'Nedavno stvorene knjige', + 'recently_created_shelves' => 'Nedavno stvorene police', + 'recently_update' => 'Nedavno ažurirano', + 'recently_viewed' => 'Nedavno viđeno', + 'recent_activity' => 'Nedavna aktivnost', + 'create_now' => 'Stvori sada', + 'revisions' => 'Revizije', + 'meta_revision' => 'Revizija #:revisionCount', + 'meta_created' => 'Stvoreno :timeLength', + 'meta_created_name' => 'Stvoreno :timeLength od :user', + 'meta_updated' => 'Ažurirano :timeLength', + 'meta_updated_name' => 'Ažurirano :timeLength od :user', + 'meta_owned_name' => 'Vlasništvo :user', + 'entity_select' => 'Odaberi subjekt', + 'images' => 'Slike', + 'my_recent_drafts' => 'Nedavne skice', + 'my_recently_viewed' => 'Nedavno viđeno', + 'no_pages_viewed' => 'Niste pogledali nijednu stranicu', + 'no_pages_recently_created' => 'Nema nedavno stvorenih stranica', + 'no_pages_recently_updated' => 'Nema nedavno ažuriranih stranica', + 'export' => 'Izvoz', + 'export_html' => 'Web File', + 'export_pdf' => 'PDF File', + 'export_text' => 'Text File', // Permissions and restrictions - 'permissions' => 'Dopuštenja' - 'permissions_intro' => 'Jednom postavljene, ove dozvole bit će prioritetne ostalim dopuštenjima.' - 'permissions_enable' => 'Omogući dopuštenje za korištenje' - 'permissions_save' => 'Spremi dopuštenje' - 'permissions_owner' => 'Vlasnik' + 'permissions' => 'Dopuštenja', + 'permissions_intro' => 'Jednom postavljene, ove dozvole bit će prioritetne ostalim dopuštenjima.', + 'permissions_enable' => 'Omogući dopuštenje za korištenje', + 'permissions_save' => 'Spremi dopuštenje', + 'permissions_owner' => 'Vlasnik', // Search - 'search_results' => 'Pretraži rezultate' - 'search_total_results_found' => ':count rezultat|:count ukupno pronađenih rezultata' - 'search_clear' => 'Očisti pretragu' - 'search_no_pages' => 'Nijedna stranica ne podudara se s ovim pretraživanjem' - 'search_for_term' => 'Traži :term' - 'search_more' => 'Više rezultata' - 'search_advanced' => 'Napredno pretraživanje' - 'search_terms' => 'Pretraži pojmove' - 'search_content_type' => 'Vrsta sadržaja' - 'search_exact_matches' => 'Podudarnosti' - 'search_tags' => 'Označi pretragu' - 'search_options' => 'Opcije' - 'search_viewed_by_me' => 'Pregledano od mene' - 'search_not_viewed_by_me' => 'Nije pregledano od mene' - 'search_permissions_set' => 'Set dopuštenja' - 'search_created_by_me' => 'Stvoreno od mene' - 'search_updated_by_me' => 'Ažurirano od mene' - 'search_owned_by_me' => 'Moje vlasništvo' - 'search_date_options' => 'Opcije datuma' - 'search_updated_before' => 'Ažurirano prije' - 'search_updated_after' => 'Ažurirano nakon' - 'search_created_before' => 'Stvoreno prije' - 'search_created_after' => 'Stvoreno nakon' - 'search_set_date' => 'Datumi' - 'search_update' => 'Ažuriraj pretragu' + 'search_results' => 'Pretraži rezultate', + 'search_total_results_found' => ':count rezultat|:count ukupno pronađenih rezultata', + 'search_clear' => 'Očisti pretragu', + 'search_no_pages' => 'Nijedna stranica ne podudara se s ovim pretraživanjem', + 'search_for_term' => 'Traži :term', + 'search_more' => 'Više rezultata', + 'search_advanced' => 'Napredno pretraživanje', + 'search_terms' => 'Pretraži pojmove', + 'search_content_type' => 'Vrsta sadržaja', + 'search_exact_matches' => 'Podudarnosti', + 'search_tags' => 'Označi pretragu', + 'search_options' => 'Opcije', + 'search_viewed_by_me' => 'Pregledano od mene', + 'search_not_viewed_by_me' => 'Nije pregledano od mene', + 'search_permissions_set' => 'Set dopuštenja', + 'search_created_by_me' => 'Stvoreno od mene', + 'search_updated_by_me' => 'Ažurirano od mene', + 'search_owned_by_me' => 'Moje vlasništvo', + 'search_date_options' => 'Opcije datuma', + 'search_updated_before' => 'Ažurirano prije', + 'search_updated_after' => 'Ažurirano nakon', + 'search_created_before' => 'Stvoreno prije', + 'search_created_after' => 'Stvoreno nakon', + 'search_set_date' => 'Datumi', + 'search_update' => 'Ažuriraj pretragu', // Shelves - 'shelf' => 'Polica' - 'shelves' => 'Police' - 'x_shelves' => ':count polica|:count polica' - 'shelves_long' => 'Police za knjige' - 'shelves_empty' => 'Nijedna polica nije stvorena' - 'shelves_create' => 'Stvori novu policu' - 'shelves_popular' => 'Popularne police' - 'shelves_new' => 'Nove police' - 'shelves_new_action' => 'Nova polica' - 'shelves_popular_empty' => 'Najpopularnije police pojavit će se. ovdje.' - 'shelves_new_empty' => 'Nedavno stvorene police pojavit će se ovdje.' - 'shelves_save' => 'Spremi policu' - 'shelves_books' => 'Knjige na ovoj polici' - 'shelves_add_books' => 'Dodaj knjige na ovu policu' - 'shelves_drag_books' => 'Prebaci knjige na ovu policu' - 'shelves_empty_contents' => 'Ova polica još nema dodijeljene knjige' - 'shelves_edit_and_assign' => 'Uredi policu za dodavanje knjiga' - 'shelves_edit_named' => 'Uredi policu :name' - 'shelves_edit' => 'Uredi policu' - 'shelves_delete' => 'Izbriši policu' - 'shelves_delete_named' => 'Izbriši policu :name' - 'shelves_delete_confirmation' => 'Jeste li sigurni da želite obrisati policu?' - 'shelves_permissions' => 'Dopuštenja za policu' - 'shelves_permissions_updated' => 'Ažurirana dopuštenja za policu' - 'shelves_permissions_active' => 'Aktivirana dopuštenja za policu' - 'shelves_copy_permissions_to_books' => 'Kopiraj dopuštenja za knjige' - 'shelves_copy_permissions' => 'Kopiraj dopuštenja' - 'shelves_copy_permissions_explain' => 'Ovo će promijeniti trenutna dopuštenja za policu i knjige u njoj. Prije aktivacije provjerite jesu li sve dopuštenja za ovu policu spremljena.' - 'shelves_copy_permission_success' => 'Dopuštenja za policu kopirana za :count knjiga' + 'shelf' => 'Polica', + 'shelves' => 'Police', + 'x_shelves' => ':count polica|:count polica', + 'shelves_long' => 'Police za knjige', + 'shelves_empty' => 'Nijedna polica nije stvorena', + 'shelves_create' => 'Stvori novu policu', + 'shelves_popular' => 'Popularne police', + 'shelves_new' => 'Nove police', + 'shelves_new_action' => 'Nova polica', + 'shelves_popular_empty' => 'Najpopularnije police pojavit će se. ovdje.', + 'shelves_new_empty' => 'Nedavno stvorene police pojavit će se ovdje.', + 'shelves_save' => 'Spremi policu', + 'shelves_books' => 'Knjige na ovoj polici', + 'shelves_add_books' => 'Dodaj knjige na ovu policu', + 'shelves_drag_books' => 'Prebaci knjige na ovu policu', + 'shelves_empty_contents' => 'Ova polica još nema dodijeljene knjige', + 'shelves_edit_and_assign' => 'Uredi policu za dodavanje knjiga', + 'shelves_edit_named' => 'Uredi policu :name', + 'shelves_edit' => 'Uredi policu', + 'shelves_delete' => 'Izbriši policu', + 'shelves_delete_named' => 'Izbriši policu :name', + 'shelves_delete_confirmation' => 'Jeste li sigurni da želite obrisati policu?', + 'shelves_permissions' => 'Dopuštenja za policu', + 'shelves_permissions_updated' => 'Ažurirana dopuštenja za policu', + 'shelves_permissions_active' => 'Aktivirana dopuštenja za policu', + 'shelves_copy_permissions_to_books' => 'Kopiraj dopuštenja za knjige', + 'shelves_copy_permissions' => 'Kopiraj dopuštenja', + 'shelves_copy_permissions_explain' => 'Ovo će promijeniti trenutna dopuštenja za policu i knjige u njoj. Prije aktivacije provjerite jesu li sve dopuštenja za ovu policu spremljena.', + 'shelves_copy_permission_success' => 'Dopuštenja za policu kopirana za :count knjiga', // Books - 'book' => 'Knjiga' - 'books' => 'Knjige' - 'x_books' => ':count knjiga|:count knjiga' - 'books_empty' => 'Nijedna knjiga nije stvorena' - 'books_popular' => 'Popularne knjige' - 'books_recent' => 'Nedavne knjige' - 'books_new' => 'Nove knjige' - 'books_new_action' => 'Nova knjiga' - 'books_popular_empty' => 'Najpopularnije knjige pojavit će se ovdje.' - 'books_new_empty' => 'Najnovije knjige pojavit će se ovdje.' - 'books_create' => 'Stvori novu knjigu' - 'books_delete' => 'Izbriši knjigu' - 'books_delete_named' => 'Izbriši knjigu :bookName' - 'books_delete_explain' => 'Ovaj korak će izbrisati knjigu \':bookName\'. Izbrisati će sve stranice i poglavlja.' - 'books_delete_confirmation' => 'Jeste li sigurni da želite izbrisati ovu knjigu?' - 'books_edit' => 'Uredi knjigu' - 'books_edit_named' => 'Uredi knjigu :bookName' - 'books_form_book_name' => 'Ime knjige' - 'books_save' => 'Spremi knjigu' - 'books_permissions' => 'Dopuštenja za knjigu' - 'books_permissions_updated' => 'Ažurirana dopuštenja za knjigu' - 'books_empty_contents' => 'U ovoj knjizi još nema stranica ni poglavlja.' - 'books_empty_create_page' => 'Stvori novu stranicu' - 'books_empty_sort_current_book' => 'Razvrstaj postojeće knjige' - 'books_empty_add_chapter' => 'Dodaj poglavlje' - 'books_permissions_active' => 'Aktivna dopuštenja za knjigu' - 'books_search_this' => 'Traži knjigu' - 'books_navigation' => 'Navigacija knjige' - 'books_sort' => 'Razvrstaj sadržaj knjige' - 'books_sort_named' => 'Razvrstaj knjigu :bookName' - 'books_sort_name' => 'Razvrstaj po imenu' - 'books_sort_created' => 'Razvrstaj po datumu nastanka' - 'books_sort_updated' => 'Razvrstaj po datumu ažuriranja' - 'books_sort_chapters_first' => 'Prva poglavlja' - 'books_sort_chapters_last' => 'Zadnja poglavlja' - 'books_sort_show_other' => 'Pokaži ostale knjige' - 'books_sort_save' => 'Spremi novi poredak' + 'book' => 'Knjiga', + 'books' => 'Knjige', + 'x_books' => ':count knjiga|:count knjiga', + 'books_empty' => 'Nijedna knjiga nije stvorena', + 'books_popular' => 'Popularne knjige', + 'books_recent' => 'Nedavne knjige', + 'books_new' => 'Nove knjige', + 'books_new_action' => 'Nova knjiga', + 'books_popular_empty' => 'Najpopularnije knjige pojavit će se ovdje.', + 'books_new_empty' => 'Najnovije knjige pojavit će se ovdje.', + 'books_create' => 'Stvori novu knjigu', + 'books_delete' => 'Izbriši knjigu', + 'books_delete_named' => 'Izbriši knjigu :bookName', + 'books_delete_explain' => 'Ovaj korak će izbrisati knjigu \':bookName\'. Izbrisati će sve stranice i poglavlja.', + 'books_delete_confirmation' => 'Jeste li sigurni da želite izbrisati ovu knjigu?', + 'books_edit' => 'Uredi knjigu', + 'books_edit_named' => 'Uredi knjigu :bookName', + 'books_form_book_name' => 'Ime knjige', + 'books_save' => 'Spremi knjigu', + 'books_permissions' => 'Dopuštenja za knjigu', + 'books_permissions_updated' => 'Ažurirana dopuštenja za knjigu', + 'books_empty_contents' => 'U ovoj knjizi još nema stranica ni poglavlja.', + 'books_empty_create_page' => 'Stvori novu stranicu', + 'books_empty_sort_current_book' => 'Razvrstaj postojeće knjige', + 'books_empty_add_chapter' => 'Dodaj poglavlje', + 'books_permissions_active' => 'Aktivna dopuštenja za knjigu', + 'books_search_this' => 'Traži knjigu', + 'books_navigation' => 'Navigacija knjige', + 'books_sort' => 'Razvrstaj sadržaj knjige', + 'books_sort_named' => 'Razvrstaj knjigu :bookName', + 'books_sort_name' => 'Razvrstaj po imenu', + 'books_sort_created' => 'Razvrstaj po datumu nastanka', + 'books_sort_updated' => 'Razvrstaj po datumu ažuriranja', + 'books_sort_chapters_first' => 'Prva poglavlja', + 'books_sort_chapters_last' => 'Zadnja poglavlja', + 'books_sort_show_other' => 'Pokaži ostale knjige', + 'books_sort_save' => 'Spremi novi poredak', // Chapters - 'chapter' => 'Poglavlje' - 'chapters' => 'Poglavlja' - 'x_chapters' => ':count poglavlje|:count poglavlja' - 'chapters_popular' => 'Popularna poglavlja' - 'chapters_new' => 'Novo poglavlje' - 'chapters_create' => 'Stvori novo poglavlje' - 'chapters_delete' => 'Izbriši poglavlje' - 'chapters_delete_named' => 'Izbriši poglavlje :chapterName' - 'chapters_delete_explain' => 'Ovaj korak briše poglavlje \':chapterName\'. Sve stranice u njemu će biti izbrisane.' - 'chapters_delete_confirm' => 'Jeste li sigurni da želite izbrisati poglavlje?' - 'chapters_edit' => 'Uredi poglavlje' - 'chapters_edit_named' => 'Uredi poglavlje :chapterName' - 'chapters_save' => 'Spremi poglavlje' - 'chapters_move' => 'Premjesti poglavlje' - 'chapters_move_named' => 'Premjesti poglavlje :chapterName' - 'chapter_move_success' => 'Poglavlje premješteno u :bookName' - 'chapters_permissions' => 'Dopuštenja za poglavlje' - 'chapters_empty' => 'U ovom poglavlju nema stranica.' - 'chapters_permissions_active' => 'Aktivna dopuštenja za poglavlje' - 'chapters_permissions_success' => 'Ažurirana dopuštenja za poglavlje' - 'chapters_search_this' => 'Pretraži poglavlje' + 'chapter' => 'Poglavlje', + 'chapters' => 'Poglavlja', + 'x_chapters' => ':count poglavlje|:count poglavlja', + 'chapters_popular' => 'Popularna poglavlja', + 'chapters_new' => 'Novo poglavlje', + 'chapters_create' => 'Stvori novo poglavlje', + 'chapters_delete' => 'Izbriši poglavlje', + 'chapters_delete_named' => 'Izbriši poglavlje :chapterName', + 'chapters_delete_explain' => 'Ovaj korak briše poglavlje \':chapterName\'. Sve stranice u njemu će biti izbrisane.', + 'chapters_delete_confirm' => 'Jeste li sigurni da želite izbrisati poglavlje?', + 'chapters_edit' => 'Uredi poglavlje', + 'chapters_edit_named' => 'Uredi poglavlje :chapterName', + 'chapters_save' => 'Spremi poglavlje', + 'chapters_move' => 'Premjesti poglavlje', + 'chapters_move_named' => 'Premjesti poglavlje :chapterName', + 'chapter_move_success' => 'Poglavlje premješteno u :bookName', + 'chapters_permissions' => 'Dopuštenja za poglavlje', + 'chapters_empty' => 'U ovom poglavlju nema stranica.', + 'chapters_permissions_active' => 'Aktivna dopuštenja za poglavlje', + 'chapters_permissions_success' => 'Ažurirana dopuštenja za poglavlje', + 'chapters_search_this' => 'Pretraži poglavlje', // Pages - 'page' => 'Stranica' - 'pages' => 'Stranice' - 'x_pages' => ':count stranice|:count stranica' - 'pages_popular' => 'Popularne stranice' - 'pages_new' => 'Nova stranica' - 'pages_attachments' => 'Prilozi' - 'pages_navigation' => 'Navigacija stranice' - 'pages_delete' => 'Izbriši stranicu' - 'pages_delete_named' => 'Izbriši stranicu :pageName' - 'pages_delete_draft_named' => 'Izbriši nacrt stranice :pageName' - 'pages_delete_draft' => 'Izbriši nacrt stranice' - 'pages_delete_success' => 'Izbrisana stranica' - 'pages_delete_draft_success' => 'Izbrisan nacrt stranice' - 'pages_delete_confirm' => 'Jeste li sigurni da želite izbrisati stranicu?' - 'pages_delete_draft_confirm' => 'Jeste li sigurni da želite izbrisati nacrt stranice?' - 'pages_editing_named' => 'Uređivanje stranice :pageName' - 'pages_edit_draft_options' => 'Izrada skice' - 'pages_edit_save_draft' => 'Spremi nacrt' - 'pages_edit_draft' => 'Uredi nacrt stranice' - 'pages_editing_draft' => 'Uređivanja nacrta' - 'pages_editing_page' => 'Uređivanje stranice' - 'pages_edit_draft_save_at' => 'Nacrt spremljen kao' - 'pages_edit_delete_draft' => 'Izbriši nacrt' - 'pages_edit_discard_draft' => 'Odbaci nacrt' - 'pages_edit_set_changelog' => 'Postavi dnevnik promjena' - 'pages_edit_enter_changelog_desc' => 'Ukratko opišite promjene koje ste napravili' - 'pages_edit_enter_changelog' => 'Unesi dnevnik promjena' - 'pages_save' => 'Spremi stranicu' - 'pages_title' => 'Naslov stranice' - 'pages_name' => 'Ime stranice' - 'pages_md_editor' => 'Uređivač' - 'pages_md_preview' => 'Pregled' - 'pages_md_insert_image' => 'Umetni sliku' - 'pages_md_insert_link' => 'Umetni poveznicu' - 'pages_md_insert_drawing' => 'Umetni crtež' - 'pages_not_in_chapter' => 'Stranica nije u poglavlju' - 'pages_move' => 'Premjesti stranicu' - 'pages_move_success' => 'Stranica premještena u ":parentName"' - 'pages_copy' => 'Kopiraj stranicu' - 'pages_copy_desination' => 'Kopiraj odredište' - 'pages_copy_success' => 'Stranica je uspješno kopirana' - 'pages_permissions' => 'Dopuštenja stranice' - 'pages_permissions_success' => 'Ažurirana dopuštenja stranice' - 'pages_revision' => 'Revizija' - 'pages_revisions' => 'Revizija stranice' - 'pages_revisions_named' => 'Revizije stranice :pageName' - 'pages_revision_named' => 'Revizija stranice :pageName' - 'pages_revision_restored_from' => 'Oporavak iz #:id; :summary' - 'pages_revisions_created_by' => 'Stvoreno od' - 'pages_revisions_date' => 'Datum revizije' - 'pages_revisions_number' => '#' - 'pages_revisions_numbered' => 'Revizija #:id' - 'pages_revisions_numbered_changes' => 'Revizija #:id Promjene' - 'pages_revisions_changelog' => 'Dnevnik promjena' - 'pages_revisions_changes' => 'Promjene' - 'pages_revisions_current' => 'Trenutna verzija' - 'pages_revisions_preview' => 'Pregled' - 'pages_revisions_restore' => 'Vrati' - 'pages_revisions_none' => 'Ova stranica nema revizija' - 'pages_copy_link' => 'Kopiraj poveznicu' - 'pages_edit_content_link' => 'Uredi sadržaj' - 'pages_permissions_active' => 'Aktivna dopuštenja stranice' - 'pages_initial_revision' => 'Početno objavljivanje' - 'pages_initial_name' => 'Nova stranica' - 'pages_editing_draft_notification' => 'Uređujete nacrt stranice posljednji put spremljen :timeDiff.' - 'pages_draft_edited_notification' => 'Ova je stranica u međuvremenu ažurirana. Preporučujemo da odbacite ovaj nacrt.' + 'page' => 'Stranica', + 'pages' => 'Stranice', + 'x_pages' => ':count stranice|:count stranica', + 'pages_popular' => 'Popularne stranice', + 'pages_new' => 'Nova stranica', + 'pages_attachments' => 'Prilozi', + 'pages_navigation' => 'Navigacija stranice', + 'pages_delete' => 'Izbriši stranicu', + 'pages_delete_named' => 'Izbriši stranicu :pageName', + 'pages_delete_draft_named' => 'Izbriši nacrt stranice :pageName', + 'pages_delete_draft' => 'Izbriši nacrt stranice', + 'pages_delete_success' => 'Izbrisana stranica', + 'pages_delete_draft_success' => 'Izbrisan nacrt stranice', + 'pages_delete_confirm' => 'Jeste li sigurni da želite izbrisati stranicu?', + 'pages_delete_draft_confirm' => 'Jeste li sigurni da želite izbrisati nacrt stranice?', + 'pages_editing_named' => 'Uređivanje stranice :pageName', + 'pages_edit_draft_options' => 'Izrada skice', + 'pages_edit_save_draft' => 'Spremi nacrt', + 'pages_edit_draft' => 'Uredi nacrt stranice', + 'pages_editing_draft' => 'Uređivanja nacrta', + 'pages_editing_page' => 'Uređivanje stranice', + 'pages_edit_draft_save_at' => 'Nacrt spremljen kao', + 'pages_edit_delete_draft' => 'Izbriši nacrt', + 'pages_edit_discard_draft' => 'Odbaci nacrt', + 'pages_edit_set_changelog' => 'Postavi dnevnik promjena', + 'pages_edit_enter_changelog_desc' => 'Ukratko opišite promjene koje ste napravili', + 'pages_edit_enter_changelog' => 'Unesi dnevnik promjena', + 'pages_save' => 'Spremi stranicu', + 'pages_title' => 'Naslov stranice', + 'pages_name' => 'Ime stranice', + 'pages_md_editor' => 'Uređivač', + 'pages_md_preview' => 'Pregled', + 'pages_md_insert_image' => 'Umetni sliku', + 'pages_md_insert_link' => 'Umetni poveznicu', + 'pages_md_insert_drawing' => 'Umetni crtež', + 'pages_not_in_chapter' => 'Stranica nije u poglavlju', + 'pages_move' => 'Premjesti stranicu', + 'pages_move_success' => 'Stranica premještena u ":parentName"', + 'pages_copy' => 'Kopiraj stranicu', + 'pages_copy_desination' => 'Kopiraj odredište', + 'pages_copy_success' => 'Stranica je uspješno kopirana', + 'pages_permissions' => 'Dopuštenja stranice', + 'pages_permissions_success' => 'Ažurirana dopuštenja stranice', + 'pages_revision' => 'Revizija', + 'pages_revisions' => 'Revizija stranice', + 'pages_revisions_named' => 'Revizije stranice :pageName', + 'pages_revision_named' => 'Revizija stranice :pageName', + 'pages_revision_restored_from' => 'Oporavak iz #:id; :summary', + 'pages_revisions_created_by' => 'Stvoreno od', + 'pages_revisions_date' => 'Datum revizije', + 'pages_revisions_number' => '#', + 'pages_revisions_numbered' => 'Revizija #:id', + 'pages_revisions_numbered_changes' => 'Revizija #:id Promjene', + 'pages_revisions_changelog' => 'Dnevnik promjena', + 'pages_revisions_changes' => 'Promjene', + 'pages_revisions_current' => 'Trenutna verzija', + 'pages_revisions_preview' => 'Pregled', + 'pages_revisions_restore' => 'Vrati', + 'pages_revisions_none' => 'Ova stranica nema revizija', + 'pages_copy_link' => 'Kopiraj poveznicu', + 'pages_edit_content_link' => 'Uredi sadržaj', + 'pages_permissions_active' => 'Aktivna dopuštenja stranice', + 'pages_initial_revision' => 'Početno objavljivanje', + 'pages_initial_name' => 'Nova stranica', + 'pages_editing_draft_notification' => 'Uređujete nacrt stranice posljednji put spremljen :timeDiff.', + 'pages_draft_edited_notification' => 'Ova je stranica u međuvremenu ažurirana. Preporučujemo da odbacite ovaj nacrt.', 'pages_draft_edit_active' => [ - 'start_a' => ':count korisnika koji uređuju ovu stranicu' - 'start_b' => ':userName je počeo uređivati ovu stranicu' - 'time_a' => 'otkad je stranica posljednji put ažurirana' - 'time_b' => 'u zadnjih :minCount minuta' - 'message' => ':start :time. Pripazite na uzajamna ažuriranja!' + 'start_a' => ':count korisnika koji uređuju ovu stranicu', + 'start_b' => ':userName je počeo uređivati ovu stranicu', + 'time_a' => 'otkad je stranica posljednji put ažurirana', + 'time_b' => 'u zadnjih :minCount minuta', + 'message' => ':start :time. Pripazite na uzajamna ažuriranja!', ], - 'pages_draft_discarded' => 'Nacrt je odbijen jer je uređivač ažurirao postoječi sadržaj' - 'pages_specific' => 'Predlošci stranice' - 'pages_is_template' => 'Predložak stranice' + 'pages_draft_discarded' => 'Nacrt je odbijen jer je uređivač ažurirao postoječi sadržaj', + 'pages_specific' => 'Predlošci stranice', + 'pages_is_template' => 'Predložak stranice', // Editor Sidebar - 'page_tags' => 'Oznake stranice' - 'chapter_tags' => 'Oznake poglavlja' - 'book_tags' => 'Oznake knjiga' - 'shelf_tags' => 'Oznake polica' - 'tag' => 'Oznaka' - 'tags' => 'Tags', - 'tag_name' => 'Tag Name', - 'tag_value' => 'Oznaka vrijednosti (neobavezno)' - 'tags_add' => 'Dodaj oznaku' - 'tags_remove' => 'Makni oznaku' - 'attachments' => 'Prilozi' - 'attachments_explain' => 'Dodajte datoteke ili poveznice za prikaz na vašoj stranici. Vidljive su na rubnoj oznaci stranice.' - 'attachments_explain_instant_save' => 'Promjene se automatski spremaju.' - 'attachments_items' => 'Dodane stavke' - 'attachments_upload' => 'Dodaj datoteku' - 'attachments_link' => 'Dodaj poveznicu' - 'attachments_set_link' => 'Postavi poveznicu' - 'attachments_delete' => 'Jeste li sigurni da želite izbrisati ovu stavku?' - 'attachments_dropzone' => 'Dodajte datoteke ili kliknite ovdje' - 'attachments_no_files' => 'Nijedna datoteka nije prenesena' - 'attachments_explain_link' => 'Možete dodati poveznicu ako ne želite prenijeti datoteku. Poveznica može voditi na drugu stranicu ili datoteku.' - 'attachments_link_name' => 'Ime poveznice' - 'attachment_link' => 'Poveznica na privitak' - 'attachments_link_url' => 'Poveznica na datoteku' - 'attachments_link_url_hint' => 'Url ili stranica ili datoteka' - 'attach' => 'Dodaj' - 'attachments_insert_link' => 'Dodaj poveznicu na stranicu' - 'attachments_edit_file' => 'Uredi datoteku' - 'attachments_edit_file_name' => 'Ime datoteke' - 'attachments_edit_drop_upload' => 'Dodaj datoteku ili klikni ovdje za prijenos' - 'attachments_order_updated' => 'Ažurirani popis priloga' - 'attachments_updated_success' => 'Ažurirani detalji priloga' - 'attachments_deleted' => 'Izbrisani prilozi' - 'attachments_file_uploaded' => 'Datoteka je uspješno prenešena' - 'attachments_file_updated' => 'Datoteka je uspješno ažurirana' - 'attachments_link_attached' => 'Poveznica je dodana na stranicu' - 'templates' => 'Predlošci' - 'templates_set_as_template' => 'Stranica je predložak' - 'templates_explain_set_as_template' => 'Ovu stranicu možete postaviti pomoću predloška koji možete koristiti tijekom stvaranja drugih stranica. Ostali korisnici će ga također moći koristiti ako imaju dopuštenje.' - 'templates_replace_content' => 'Zamjeni sadržaj stranice' - 'templates_append_content' => 'Dodaj sadržaju stranice' - 'templates_prepend_content' => 'Dodaj na sadržaj stranice' + 'page_tags' => 'Oznake stranice', + 'chapter_tags' => 'Oznake poglavlja', + 'book_tags' => 'Oznake knjiga', + 'shelf_tags' => 'Oznake polica', + 'tag' => 'Oznaka', + 'tags' => 'Tags', + 'tag_name' => 'Tag Name', + 'tag_value' => 'Oznaka vrijednosti (neobavezno)', + 'tags_add' => 'Dodaj oznaku', + 'tags_remove' => 'Makni oznaku', + 'attachments' => 'Prilozi', + 'attachments_explain' => 'Dodajte datoteke ili poveznice za prikaz na vašoj stranici. Vidljive su na rubnoj oznaci stranice.', + 'attachments_explain_instant_save' => 'Promjene se automatski spremaju.', + 'attachments_items' => 'Dodane stavke', + 'attachments_upload' => 'Dodaj datoteku', + 'attachments_link' => 'Dodaj poveznicu', + 'attachments_set_link' => 'Postavi poveznicu', + 'attachments_delete' => 'Jeste li sigurni da želite izbrisati ovu stavku?', + 'attachments_dropzone' => 'Dodajte datoteke ili kliknite ovdje', + 'attachments_no_files' => 'Nijedna datoteka nije prenesena', + 'attachments_explain_link' => 'Možete dodati poveznicu ako ne želite prenijeti datoteku. Poveznica može voditi na drugu stranicu ili datoteku.', + 'attachments_link_name' => 'Ime poveznice', + 'attachment_link' => 'Poveznica na privitak', + 'attachments_link_url' => 'Poveznica na datoteku', + 'attachments_link_url_hint' => 'Url ili stranica ili datoteka', + 'attach' => 'Dodaj', + 'attachments_insert_link' => 'Dodaj poveznicu na stranicu', + 'attachments_edit_file' => 'Uredi datoteku', + 'attachments_edit_file_name' => 'Ime datoteke', + 'attachments_edit_drop_upload' => 'Dodaj datoteku ili klikni ovdje za prijenos', + 'attachments_order_updated' => 'Ažurirani popis priloga', + 'attachments_updated_success' => 'Ažurirani detalji priloga', + 'attachments_deleted' => 'Izbrisani prilozi', + 'attachments_file_uploaded' => 'Datoteka je uspješno prenešena', + 'attachments_file_updated' => 'Datoteka je uspješno ažurirana', + 'attachments_link_attached' => 'Poveznica je dodana na stranicu', + 'templates' => 'Predlošci', + 'templates_set_as_template' => 'Stranica je predložak', + 'templates_explain_set_as_template' => 'Ovu stranicu možete postaviti pomoću predloška koji možete koristiti tijekom stvaranja drugih stranica. Ostali korisnici će ga također moći koristiti ako imaju dopuštenje.', + 'templates_replace_content' => 'Zamjeni sadržaj stranice', + 'templates_append_content' => 'Dodaj sadržaju stranice', + 'templates_prepend_content' => 'Dodaj na sadržaj stranice', // Profile View - 'profile_user_for_x' => 'Korisnik za :time' - 'profile_created_content' => 'Stvoreni sadržaj' - 'profile_not_created_pages' => ':userName nije kreirao nijednu stranicu' - 'profile_not_created_chapters' => ':userName nije kreirao nijedno poglavlje' - 'profile_not_created_books' => ':userName nije kreirao nijednu knjigu' - 'profile_not_created_shelves' => ':userName nije kreirao nijednu policu' + 'profile_user_for_x' => 'Korisnik za :time', + 'profile_created_content' => 'Stvoreni sadržaj', + 'profile_not_created_pages' => ':userName nije kreirao nijednu stranicu', + 'profile_not_created_chapters' => ':userName nije kreirao nijedno poglavlje', + 'profile_not_created_books' => ':userName nije kreirao nijednu knjigu', + 'profile_not_created_shelves' => ':userName nije kreirao nijednu policu', // Comments - 'comment' => 'Komentar' - 'comments' => 'Komentari' - 'comment_add' => 'Dodaj komentar' - 'comment_placeholder' => 'Komentar ostavi ovdje' - 'comment_count' => '{0} Nema komentara|{1} 1 Komentar|[2,*] :count Komentara' - 'comment_save' => 'Spremi komentar' - 'comment_saving' => 'Spremanje komentara' - 'comment_deleting' => 'Brisanje komentara' - 'comment_new' => 'Novi komentar' - 'comment_created' => 'komentirano :createDiff' - 'comment_updated' => 'Ažurirano :updateDiff od :username' - 'comment_deleted_success' => 'Izbrisani komentar' - 'comment_created_success' => 'Dodani komentar' - 'comment_updated_success' => 'Ažurirani komentar' - 'comment_delete_confirm' => 'Jeste li sigurni da želite izbrisati ovaj komentar?' - 'comment_in_reply_to' => 'Odgovor na :commentId' + 'comment' => 'Komentar', + 'comments' => 'Komentari', + 'comment_add' => 'Dodaj komentar', + 'comment_placeholder' => 'Komentar ostavi ovdje', + 'comment_count' => '{0} Nema komentara|{1} 1 Komentar|[2,*] :count Komentara', + 'comment_save' => 'Spremi komentar', + 'comment_saving' => 'Spremanje komentara', + 'comment_deleting' => 'Brisanje komentara', + 'comment_new' => 'Novi komentar', + 'comment_created' => 'komentirano :createDiff', + 'comment_updated' => 'Ažurirano :updateDiff od :username', + 'comment_deleted_success' => 'Izbrisani komentar', + 'comment_created_success' => 'Dodani komentar', + 'comment_updated_success' => 'Ažurirani komentar', + 'comment_delete_confirm' => 'Jeste li sigurni da želite izbrisati ovaj komentar?', + 'comment_in_reply_to' => 'Odgovor na :commentId', // Revision - 'revision_delete_confirm' => 'Jeste li sigurni da želite izbrisati ovaj ispravak?' - 'revision_restore_confirm' => 'Jeste li sigurni da želite vratiti ovaj ispravak? Trenutni sadržaj će biti zamijenjen.' - 'revision_delete_success' => 'Izbrisani ispravak' - 'revision_cannot_delete_latest' => 'Posljednji ispravak se ne može izbrisati.' + 'revision_delete_confirm' => 'Jeste li sigurni da želite izbrisati ovaj ispravak?', + 'revision_restore_confirm' => 'Jeste li sigurni da želite vratiti ovaj ispravak? Trenutni sadržaj će biti zamijenjen.', + 'revision_delete_success' => 'Izbrisani ispravak', + 'revision_cannot_delete_latest' => 'Posljednji ispravak se ne može izbrisati.', ]; diff --git a/resources/lang/hr/errors.php b/resources/lang/hr/errors.php index a70bca80d..841e7a0e5 100644 --- a/resources/lang/hr/errors.php +++ b/resources/lang/hr/errors.php @@ -5,97 +5,97 @@ return [ // Permissions - 'permission' => 'Nemate dopuštenje za pristup traženoj stranici.' - 'permissionJson' => 'Nemate potrebno dopuštenje.' + 'permission' => 'Nemate dopuštenje za pristup traženoj stranici.', + 'permissionJson' => 'Nemate potrebno dopuštenje.', // Auth - 'error_user_exists_different_creds' => 'Korisnik s mailom :email već postoji, ali s drugom vjerodajnicom.' - 'email_already_confirmed' => 'Email je već potvrđen, pokušajte se logirati.' - 'email_confirmation_invalid' => 'Ova vjerodajnica nije valjana ili je već bila korištena. Pokušajte se ponovno registrirati.' - 'email_confirmation_expired' => 'Ova vjerodajnica je istekla. Poslan je novi email za pristup.' - 'email_confirmation_awaiting' => 'Email adresa za račun koji se koristi mora biti potvrđen' - 'ldap_fail_anonymous' => 'LDAP pristup nije uspio zbog anonimnosti' - 'ldap_fail_authed' => 'LDAP pristup nije uspio' - 'ldap_extension_not_installed' => 'LDAP PHP ekstenzija nije instalirana' - 'ldap_cannot_connect' => 'Nemoguće pristupiti ldap serveru, problem s mrežom' - 'saml_already_logged_in' => 'Već ste prijavljeni' - 'saml_user_not_registered' => 'Korisnik :name nije registriran i automatska registracija je onemogućena' - 'saml_no_email_address' => 'Nismo pronašli email adresu za ovog korisnika u vanjskim sustavima' - 'saml_invalid_response_id' => 'Sustav za autentifikaciju nije prepoznat. Ovaj problem možda je nastao zbog vraćanja nakon prijave.' - 'saml_fail_authed' => 'Prijava pomoću :system nije uspjela zbog neuspješne autorizacije' - 'social_no_action_defined' => 'Nije definirana nijedna radnja' - 'social_account_in_use' => 'Ovaj :socialAccount račun se već koristi. Pokušajte se prijaviti pomoću :socialAccount računa.' - 'social_account_email_in_use' => 'Ovaj mail :email se već koristi. Ako već imate naš račun možete se prijaviti pomoću :socialAccount računa u postavkama vašeg profila.' - 'social_account_existing' => 'Ovaj :socialAccount je već dodan u vaš profil.' - 'social_account_already_used_existing' => 'Ovaj :socialAccount već koristi drugi korisnik.' - 'social_account_not_used' => 'Ovaj :socialAccount račun ne koristi nijedan korisnik. Dodajte ga u postavke svog profila.' - 'social_account_register_instructions' => 'Ako nemate račun možete se registrirati pomoću :socialAccount opcija.' - 'social_driver_not_found' => 'Nije pronađeno' - 'social_driver_not_configured' => 'Postavke vašeg :socialAccount računa nisu ispravno postavljene.' - 'invite_token_expired' => 'Vaša pozivnica je istekla. Pokušajte ponovno postaviti lozinku.' + 'error_user_exists_different_creds' => 'Korisnik s mailom :email već postoji, ali s drugom vjerodajnicom.', + 'email_already_confirmed' => 'Email je već potvrđen, pokušajte se logirati.', + 'email_confirmation_invalid' => 'Ova vjerodajnica nije valjana ili je već bila korištena. Pokušajte se ponovno registrirati.', + 'email_confirmation_expired' => 'Ova vjerodajnica je istekla. Poslan je novi email za pristup.', + 'email_confirmation_awaiting' => 'Email adresa za račun koji se koristi mora biti potvrđen', + 'ldap_fail_anonymous' => 'LDAP pristup nije uspio zbog anonimnosti', + 'ldap_fail_authed' => 'LDAP pristup nije uspio', + 'ldap_extension_not_installed' => 'LDAP PHP ekstenzija nije instalirana', + 'ldap_cannot_connect' => 'Nemoguće pristupiti ldap serveru, problem s mrežom', + 'saml_already_logged_in' => 'Već ste prijavljeni', + 'saml_user_not_registered' => 'Korisnik :name nije registriran i automatska registracija je onemogućena', + 'saml_no_email_address' => 'Nismo pronašli email adresu za ovog korisnika u vanjskim sustavima', + 'saml_invalid_response_id' => 'Sustav za autentifikaciju nije prepoznat. Ovaj problem možda je nastao zbog vraćanja nakon prijave.', + 'saml_fail_authed' => 'Prijava pomoću :system nije uspjela zbog neuspješne autorizacije', + 'social_no_action_defined' => 'Nije definirana nijedna radnja', + 'social_account_in_use' => 'Ovaj :socialAccount račun se već koristi. Pokušajte se prijaviti pomoću :socialAccount računa.', + 'social_account_email_in_use' => 'Ovaj mail :email se već koristi. Ako već imate naš račun možete se prijaviti pomoću :socialAccount računa u postavkama vašeg profila.', + 'social_account_existing' => 'Ovaj :socialAccount je već dodan u vaš profil.', + 'social_account_already_used_existing' => 'Ovaj :socialAccount već koristi drugi korisnik.', + 'social_account_not_used' => 'Ovaj :socialAccount račun ne koristi nijedan korisnik. Dodajte ga u postavke svog profila.', + 'social_account_register_instructions' => 'Ako nemate račun možete se registrirati pomoću :socialAccount opcija.', + 'social_driver_not_found' => 'Nije pronađeno', + 'social_driver_not_configured' => 'Postavke vašeg :socialAccount računa nisu ispravno postavljene.', + 'invite_token_expired' => 'Vaša pozivnica je istekla. Pokušajte ponovno postaviti lozinku.', // System - 'path_not_writable' => 'Datoteka :filePath ne može se prenijeti. Učinite je lakše prepoznatljivom vašem serveru.' - 'cannot_get_image_from_url' => 'Nemoguće preuzeti sliku sa :url' - 'cannot_create_thumbs' => 'Provjerite imate li instaliranu GD PHP ekstenziju.' - 'server_upload_limit' => 'Prevelika količina za server. Pokušajte prenijeti manju veličinu.' - 'uploaded' => 'Prevelika količina za server. Pokušajte prenijeti manju veličinu.' - 'image_upload_error' => 'Problem s prenosom slike' - 'image_upload_type_error' => 'Nepodržani format slike' - 'file_upload_timeout' => 'Isteklo vrijeme za prijenos datoteke.' + 'path_not_writable' => 'Datoteka :filePath ne može se prenijeti. Učinite je lakše prepoznatljivom vašem serveru.', + 'cannot_get_image_from_url' => 'Nemoguće preuzeti sliku sa :url', + 'cannot_create_thumbs' => 'Provjerite imate li instaliranu GD PHP ekstenziju.', + 'server_upload_limit' => 'Prevelika količina za server. Pokušajte prenijeti manju veličinu.', + 'uploaded' => 'Prevelika količina za server. Pokušajte prenijeti manju veličinu.', + 'image_upload_error' => 'Problem s prenosom slike', + 'image_upload_type_error' => 'Nepodržani format slike', + 'file_upload_timeout' => 'Isteklo vrijeme za prijenos datoteke.', // Attachments - 'attachment_not_found' => 'Prilozi nisu pronađeni' + 'attachment_not_found' => 'Prilozi nisu pronađeni', // Pages - 'page_draft_autosave_fail' => 'Problem sa spremanjem nacrta. Osigurajte stabilnu internetsku vezu.' - 'page_custom_home_deletion' => 'Stranica označena kao naslovnica ne može se izbrisati' + 'page_draft_autosave_fail' => 'Problem sa spremanjem nacrta. Osigurajte stabilnu internetsku vezu.', + 'page_custom_home_deletion' => 'Stranica označena kao naslovnica ne može se izbrisati', // Entities - 'entity_not_found' => 'Nije pronađeno' - 'bookshelf_not_found' => 'Polica nije pronađena' - 'book_not_found' => 'Knjiga nije pronađena' - 'page_not_found' => 'Stranica nije pronađena' - 'chapter_not_found' => 'Poglavlje nije pronađeno' - 'selected_book_not_found' => 'Odabrana knjiga nije pronađena' - 'selected_book_chapter_not_found' => 'Odabrane knjige ili poglavlja nisu pronađena' - 'guests_cannot_save_drafts' => 'Gosti ne mogu spremiti nacrte' + 'entity_not_found' => 'Nije pronađeno', + 'bookshelf_not_found' => 'Polica nije pronađena', + 'book_not_found' => 'Knjiga nije pronađena', + 'page_not_found' => 'Stranica nije pronađena', + 'chapter_not_found' => 'Poglavlje nije pronađeno', + 'selected_book_not_found' => 'Odabrana knjiga nije pronađena', + 'selected_book_chapter_not_found' => 'Odabrane knjige ili poglavlja nisu pronađena', + 'guests_cannot_save_drafts' => 'Gosti ne mogu spremiti nacrte', // Users - 'users_cannot_delete_only_admin' => 'Ne možete izbrisati' - 'users_cannot_delete_guest' => 'Ne možete izbrisati' + 'users_cannot_delete_only_admin' => 'Ne možete izbrisati', + 'users_cannot_delete_guest' => 'Ne možete izbrisati', // Roles - 'role_cannot_be_edited' => 'Ne može se urediti' - 'role_system_cannot_be_deleted' => 'Sistemske postavke ne možete izbrisati' - 'role_registration_default_cannot_delete' => 'Ne može se izbrisati' - 'role_cannot_remove_only_admin' => 'Učinite drugog korisnika administratorom prije uklanjanja ove administratorske uloge.' + 'role_cannot_be_edited' => 'Ne može se urediti', + 'role_system_cannot_be_deleted' => 'Sistemske postavke ne možete izbrisati', + 'role_registration_default_cannot_delete' => 'Ne može se izbrisati', + 'role_cannot_remove_only_admin' => 'Učinite drugog korisnika administratorom prije uklanjanja ove administratorske uloge.', // Comments - 'comment_list' => 'Pogreška prilikom dohvaćanja komentara.' - 'cannot_add_comment_to_draft' => 'Ne možete ostaviti komentar na ovaj nacrt.' - 'comment_add' => 'Greška prilikom dodavanja ili ažuriranja komentara.' - 'comment_delete' => 'Greška prilikom brisanja komentara.' - 'empty_comment' => 'Ne možete ostaviti prazan komentar.' + 'comment_list' => 'Pogreška prilikom dohvaćanja komentara.', + 'cannot_add_comment_to_draft' => 'Ne možete ostaviti komentar na ovaj nacrt.', + 'comment_add' => 'Greška prilikom dodavanja ili ažuriranja komentara.', + 'comment_delete' => 'Greška prilikom brisanja komentara.', + 'empty_comment' => 'Ne možete ostaviti prazan komentar.', // Error pages - '404_page_not_found' => 'Stranica nije pronađena' - 'sorry_page_not_found' => 'Žao nam je, stranica koju tražite nije pronađena.' - 'sorry_page_not_found_permission_warning' => 'Ako smatrate da ova stranica još postoji, ali je ne vidite, moguće je da nemate omogućen pristup.' - 'return_home' => 'Povratak na početno' - 'error_occurred' => 'Došlo je do pogreške' - 'app_down' => ':appName trenutno nije dostupna' - 'back_soon' => 'Uskoro će se vratiti.' + '404_page_not_found' => 'Stranica nije pronađena', + 'sorry_page_not_found' => 'Žao nam je, stranica koju tražite nije pronađena.', + 'sorry_page_not_found_permission_warning' => 'Ako smatrate da ova stranica još postoji, ali je ne vidite, moguće je da nemate omogućen pristup.', + 'return_home' => 'Povratak na početno', + 'error_occurred' => 'Došlo je do pogreške', + 'app_down' => ':appName trenutno nije dostupna', + 'back_soon' => 'Uskoro će se vratiti.', // API errors - 'api_no_authorization_found' => 'Nije pronađena autorizacija' - 'api_bad_authorization_format' => 'Pogreška prilikom autorizacije' - 'api_user_token_not_found' => 'Format autorizacije nije podržan' - 'api_incorrect_token_secret' => 'Netočan API token' - 'api_user_no_api_permission' => 'Vlasnik API tokena nema potrebna dopuštenja' - 'api_user_token_expired' => 'Autorizacija je istekla' + 'api_no_authorization_found' => 'Nije pronađena autorizacija', + 'api_bad_authorization_format' => 'Pogreška prilikom autorizacije', + 'api_user_token_not_found' => 'Format autorizacije nije podržan', + 'api_incorrect_token_secret' => 'Netočan API token', + 'api_user_no_api_permission' => 'Vlasnik API tokena nema potrebna dopuštenja', + 'api_user_token_expired' => 'Autorizacija je istekla', // Settings & Maintenance - 'maintenance_test_email_failure' => 'Pogreška prilikom slanja testnog email:' + 'maintenance_test_email_failure' => 'Pogreška prilikom slanja testnog email:', ]; diff --git a/resources/lang/hr/pagination.php b/resources/lang/hr/pagination.php index aac413cff..1165a1074 100644 --- a/resources/lang/hr/pagination.php +++ b/resources/lang/hr/pagination.php @@ -6,7 +6,7 @@ */ return [ - 'previous' => '« Prethodno' - 'next' => 'Sljedeće »' + 'previous' => '« Prethodno', + 'next' => 'Sljedeće »', ]; diff --git a/resources/lang/hr/passwords.php b/resources/lang/hr/passwords.php index 7f67eb752..71ea4e911 100644 --- a/resources/lang/hr/passwords.php +++ b/resources/lang/hr/passwords.php @@ -6,9 +6,9 @@ */ return [ - 'password' => 'Lozinka mora imati najmanje 8 znakova i biti potvrđena.' - 'token' => 'Ponovno postavljanje lozinke nemoguće putem ove adrese.' - 'sent' => 'Na vašu email adresu poslana je poveznica za ponovno postavljanje!' - 'reset' => 'Vaša je lozinka ponovno postavljena!' + 'password' => 'Lozinka mora imati najmanje 8 znakova i biti potvrđena.', + 'token' => 'Ponovno postavljanje lozinke nemoguće putem ove adrese.', + 'sent' => 'Na vašu email adresu poslana je poveznica za ponovno postavljanje!', + 'reset' => 'Vaša je lozinka ponovno postavljena!', ]; diff --git a/resources/lang/hr/settings.php b/resources/lang/hr/settings.php index 8c469a8ac..ba018e30c 100644 --- a/resources/lang/hr/settings.php +++ b/resources/lang/hr/settings.php @@ -7,258 +7,258 @@ return [ // Common Messages - 'settings' => 'Postavke' - 'settings_save' => 'Spremi postavke' - 'settings_save_success' => 'Postavke spremljene' + 'settings' => 'Postavke', + 'settings_save' => 'Spremi postavke', + 'settings_save_success' => 'Postavke spremljene', // App Settings - 'app_customization' => 'Prilagođavanje' - 'app_features_security' => 'Značajke & Sigurnost' - 'app_name' => 'Ime aplikacije' - 'app_name_desc' => 'Ime je vidljivo u zaglavlju i svakoj sistemskoj poruci.' - 'app_name_header' => 'Prikaži ime u zaglavlju' - 'app_public_access' => 'Javni pristup' - 'app_public_access_desc' => 'Omogućavanje ove postavke pristup sadržaju imat će svi posjetitelji BookStack čak i ako nisu prijavljeni.' - 'app_public_access_desc_guest' => 'Javni pristup može se urediti putem opcije "Gost".' - 'app_public_access_toggle' => 'Dozvoli javni pristup' - 'app_public_viewing' => 'Dozvoljen javni pristup?' - 'app_secure_images' => 'Visoka razina sigurnosti prijenosa slika' - 'app_secure_images_toggle' => 'Omogući visoku sigurnost prijenosa slika' - 'app_secure_images_desc' => 'Zbog specifične izvedbe sve su slike javne. Osigurajte da indeksi direktorija nisu omogućeni kako bi se spriječio neovlašten pristup.' - 'app_editor' => 'Uređivač stranice' - 'app_editor_desc' => 'Odaberite uređivače stranica' - 'app_custom_html' => 'Prilagođeni HTML sadržaj' - 'app_custom_html_desc' => 'Sav sadržaj dodan ovdje bit će umetnut na dno stranice. To je korisno za stiliziranje i dodavanje analitičkog koda.' - 'app_custom_html_disabled_notice' => 'Prilagođeni HTML je onemogućen kako bi se osiguralo vraćanje promjena u slučaju kvara.' - 'app_logo' => 'Logo aplikacije' - 'app_logo_desc' => 'Slika smije biti najviše 43px u visinu.
Velike slike će biti smanjene.' - 'app_primary_color' => 'Primarna boja aplikacije' - 'app_primary_color_desc' => 'Postavlja primarnu boju za aplikaciju uključujući natpis, gumbe i veze.' - 'app_homepage' => 'Glavna stranica aplikacije' - 'app_homepage_desc' => 'Odaberite prikaz svoje glavne stranice umjesto već zadane. Za odabrane stranice ne vrijede zadana dopuštenja.' - 'app_homepage_select' => 'Odaberi stranicu' - 'app_footer_links' => 'Podnožje' - 'app_footer_links_desc' => 'Odaberite poveznice koje će biti vidljive u podnožju većina stranica čak i na nekima koje ne zahtijevaju prijavu. Na primjer, oznaku "trans::common.privacy_policy" možete koristiti za sistemski definirani prijevod teksta "Politika Privatnosti", a za "Uvjete korištenja" možete koristiti "trans::common.terms_of_service".' - 'app_footer_links_label' => 'Oznaka veze' - 'app_footer_links_url' => 'Oznaka URL' - 'app_footer_links_add' => 'Dodaj vezu na podnožje' - 'app_disable_comments' => 'Onemogući komentare' - 'app_disable_comments_toggle' => 'Onemogući komentare' - 'app_disable_comments_desc' => 'Onemogući komentare za sve stranice u aplikaciji.
Postojeći komentari nisu prikazani.' + 'app_customization' => 'Prilagođavanje', + 'app_features_security' => 'Značajke & Sigurnost', + 'app_name' => 'Ime aplikacije', + 'app_name_desc' => 'Ime je vidljivo u zaglavlju i svakoj sistemskoj poruci.', + 'app_name_header' => 'Prikaži ime u zaglavlju', + 'app_public_access' => 'Javni pristup', + 'app_public_access_desc' => 'Omogućavanje ove postavke pristup sadržaju imat će svi posjetitelji BookStack čak i ako nisu prijavljeni.', + 'app_public_access_desc_guest' => 'Javni pristup može se urediti putem opcije "Gost".', + 'app_public_access_toggle' => 'Dozvoli javni pristup', + 'app_public_viewing' => 'Dozvoljen javni pristup?', + 'app_secure_images' => 'Visoka razina sigurnosti prijenosa slika', + 'app_secure_images_toggle' => 'Omogući visoku sigurnost prijenosa slika', + 'app_secure_images_desc' => 'Zbog specifične izvedbe sve su slike javne. Osigurajte da indeksi direktorija nisu omogućeni kako bi se spriječio neovlašten pristup.', + 'app_editor' => 'Uređivač stranice', + 'app_editor_desc' => 'Odaberite uređivače stranica', + 'app_custom_html' => 'Prilagođeni HTML sadržaj', + 'app_custom_html_desc' => 'Sav sadržaj dodan ovdje bit će umetnut na dno stranice. To je korisno za stiliziranje i dodavanje analitičkog koda.', + 'app_custom_html_disabled_notice' => 'Prilagođeni HTML je onemogućen kako bi se osiguralo vraćanje promjena u slučaju kvara.', + 'app_logo' => 'Logo aplikacije', + 'app_logo_desc' => 'Slika smije biti najviše 43px u visinu.
Velike slike će biti smanjene.', + 'app_primary_color' => 'Primarna boja aplikacije', + 'app_primary_color_desc' => 'Postavlja primarnu boju za aplikaciju uključujući natpis, gumbe i veze.', + 'app_homepage' => 'Glavna stranica aplikacije', + 'app_homepage_desc' => 'Odaberite prikaz svoje glavne stranice umjesto već zadane. Za odabrane stranice ne vrijede zadana dopuštenja.', + 'app_homepage_select' => 'Odaberi stranicu', + 'app_footer_links' => 'Podnožje', + 'app_footer_links_desc' => 'Odaberite poveznice koje će biti vidljive u podnožju većina stranica čak i na nekima koje ne zahtijevaju prijavu. Na primjer, oznaku "trans::common.privacy_policy" možete koristiti za sistemski definirani prijevod teksta "Politika Privatnosti", a za "Uvjete korištenja" možete koristiti "trans::common.terms_of_service".', + 'app_footer_links_label' => 'Oznaka veze', + 'app_footer_links_url' => 'Oznaka URL', + 'app_footer_links_add' => 'Dodaj vezu na podnožje', + 'app_disable_comments' => 'Onemogući komentare', + 'app_disable_comments_toggle' => 'Onemogući komentare', + 'app_disable_comments_desc' => 'Onemogući komentare za sve stranice u aplikaciji.
Postojeći komentari nisu prikazani.', // Color settings - 'content_colors' => 'Boja sadržaja' - 'content_colors_desc' => 'Postavljanje boja za sve elemente stranice. Preporuča se odabir boja čija je svjetlina slična zadanim bojama.' - 'bookshelf_color' => 'Boja police' - 'book_color' => 'Boja knjige' - 'chapter_color' => 'Boja poglavlja' - 'page_color' => 'Boja stranice' - 'page_draft_color' => 'Boja nacrta' + 'content_colors' => 'Boja sadržaja', + 'content_colors_desc' => 'Postavljanje boja za sve elemente stranice. Preporuča se odabir boja čija je svjetlina slična zadanim bojama.', + 'bookshelf_color' => 'Boja police', + 'book_color' => 'Boja knjige', + 'chapter_color' => 'Boja poglavlja', + 'page_color' => 'Boja stranice', + 'page_draft_color' => 'Boja nacrta', // Registration Settings - 'reg_settings' => 'Registracija' - 'reg_enable' => 'Omogući registraciju' - 'reg_enable_toggle' => 'Omogući registraciju' - 'reg_enable_desc' => 'Ako je omogućeno korisnik se može sam registrirati nakon čega će mu biti dodijeljena jedna od korisničkih uloga.' - 'reg_default_role' => 'Zadaj ulogu korisnika nakon registracije' - 'reg_enable_external_warning' => 'Gornja opcija se zanemaruje ako postoji LDAP ili SAML autorifikacija. Korisnički računi za nepostojeće članove automatski će se kreirati ako je vanjska provjera autentičnosti bila uspješna.' - 'reg_email_confirmation' => 'Potvrda e maila' - 'reg_email_confirmation_toggle' => 'Zahtjev za potvrdom e maila' - 'reg_confirm_email_desc' => 'Ako postoje ograničenja domene potvrda e maila će se zahtijevati i ova će se opcija zanemariti.' - 'reg_confirm_restrict_domain' => 'Ograničenja domene' - 'reg_confirm_restrict_domain_desc' => 'Unesite popis email domena kojima želite ograničiti registraciju i odvojite ih zarezom. Korisnicima će se slati email prije interakcije s aplikacijom.
Uzmite u obzir da će korisnici moći koristiti druge e mail adrese nakon uspješne registracije.' - 'reg_confirm_restrict_domain_placeholder' => 'Bez ograničenja' + 'reg_settings' => 'Registracija', + 'reg_enable' => 'Omogući registraciju', + 'reg_enable_toggle' => 'Omogući registraciju', + 'reg_enable_desc' => 'Ako je omogućeno korisnik se može sam registrirati nakon čega će mu biti dodijeljena jedna od korisničkih uloga.', + 'reg_default_role' => 'Zadaj ulogu korisnika nakon registracije', + 'reg_enable_external_warning' => 'Gornja opcija se zanemaruje ako postoji LDAP ili SAML autorifikacija. Korisnički računi za nepostojeće članove automatski će se kreirati ako je vanjska provjera autentičnosti bila uspješna.', + 'reg_email_confirmation' => 'Potvrda e maila', + 'reg_email_confirmation_toggle' => 'Zahtjev za potvrdom e maila', + 'reg_confirm_email_desc' => 'Ako postoje ograničenja domene potvrda e maila će se zahtijevati i ova će se opcija zanemariti.', + 'reg_confirm_restrict_domain' => 'Ograničenja domene', + 'reg_confirm_restrict_domain_desc' => 'Unesite popis email domena kojima želite ograničiti registraciju i odvojite ih zarezom. Korisnicima će se slati email prije interakcije s aplikacijom.
Uzmite u obzir da će korisnici moći koristiti druge e mail adrese nakon uspješne registracije.', + 'reg_confirm_restrict_domain_placeholder' => 'Bez ograničenja', // Maintenance settings - 'maint' => 'Održavanje' - 'maint_image_cleanup' => 'Čišćenje slika' - 'maint_delete_images_only_in_revisions' => 'Izbriši slike koje postoje u prijašnjim revizijama' - 'maint_image_cleanup_run' => 'Pokreni čišćenje' - 'maint_image_cleanup_warning' => ':count moguće neiskorištene slike. Jeste li sigurni da želite izbrisati ove slike?' - 'maint_image_cleanup_success' => ':count moguće neiskorištene slike su pronađene i izbrisane!' - 'maint_image_cleanup_nothing_found' => 'Nema neiskorištenih slika, Ništa nije izbrisano!' - 'maint_send_test_email' => 'Pošalji testni Email' - 'maint_send_test_email_desc' => 'Na ovaj način šaljete testni Email na adresu navedenu u vašem profilu.' - 'maint_send_test_email_run' => 'Pošalji testni email' - 'maint_send_test_email_success' => 'Email je poslan na :address' - 'maint_send_test_email_mail_subject' => 'Testni email' - 'maint_send_test_email_mail_greeting' => 'Email se može koristiti!' - 'maint_send_test_email_mail_text' => 'Čestitamo! Ako ste primili ovaj e mail znači da ćete ga moći koristiti.' - 'maint_recycle_bin_desc' => 'Izbrisane police, knjige, poglavlja i stranice poslane su u Recycle bin i mogu biti vraćene ili trajno izbrisane. Starije stavke bit će automatski izbrisane nakon nekog vremena što ovisi o konfiguraciji sustava.' - 'maint_recycle_bin_open' => 'Otvori Recycle Bin' + 'maint' => 'Održavanje', + 'maint_image_cleanup' => 'Čišćenje slika', + 'maint_delete_images_only_in_revisions' => 'Izbriši slike koje postoje u prijašnjim revizijama', + 'maint_image_cleanup_run' => 'Pokreni čišćenje', + 'maint_image_cleanup_warning' => ':count moguće neiskorištene slike. Jeste li sigurni da želite izbrisati ove slike?', + 'maint_image_cleanup_success' => ':count moguće neiskorištene slike su pronađene i izbrisane!', + 'maint_image_cleanup_nothing_found' => 'Nema neiskorištenih slika, Ništa nije izbrisano!', + 'maint_send_test_email' => 'Pošalji testni Email', + 'maint_send_test_email_desc' => 'Na ovaj način šaljete testni Email na adresu navedenu u vašem profilu.', + 'maint_send_test_email_run' => 'Pošalji testni email', + 'maint_send_test_email_success' => 'Email je poslan na :address', + 'maint_send_test_email_mail_subject' => 'Testni email', + 'maint_send_test_email_mail_greeting' => 'Email se može koristiti!', + 'maint_send_test_email_mail_text' => 'Čestitamo! Ako ste primili ovaj e mail znači da ćete ga moći koristiti.', + 'maint_recycle_bin_desc' => 'Izbrisane police, knjige, poglavlja i stranice poslane su u Recycle bin i mogu biti vraćene ili trajno izbrisane. Starije stavke bit će automatski izbrisane nakon nekog vremena što ovisi o konfiguraciji sustava.', + 'maint_recycle_bin_open' => 'Otvori Recycle Bin', // Recycle Bin - 'recycle_bin' => 'Recycle Bin' - 'recycle_bin_desc' => 'Ovdje možete vratiti izbrisane stavke ili ih trajno ukloniti iz sustava. Popis nije filtriran kao što su to popisi u kojima su omogućeni filteri.' - 'recycle_bin_deleted_item' => 'Izbrisane stavke' - 'recycle_bin_deleted_by' => 'Izbrisano od' - 'recycle_bin_deleted_at' => 'Vrijeme brisanja' - 'recycle_bin_permanently_delete' => 'Trajno izbrisano' - 'recycle_bin_restore' => 'Vrati' - 'recycle_bin_contents_empty' => 'Recycle Bin je prazan' - 'recycle_bin_empty' => 'Isprazni Recycle Bin' - 'recycle_bin_empty_confirm' => 'Ovo će trajno obrisati sve stavke u Recycle Bin i sadržaje povezane s njima. Jeste li sigurni da želite isprazniti Recycle Bin?' - 'recycle_bin_destroy_confirm' => 'Ovom radnjom ćete trajno izbrisati ovu stavku i nećete je više moći vratiti. Želite li je trajno izbrisati?' - 'recycle_bin_destroy_list' => 'Stavke koje treba izbrisati' - 'recycle_bin_restore_list' => 'Stavke koje treba vratiti' - 'recycle_bin_restore_confirm' => 'Ova radnja vraća izbrisane stavke i njene podređene elemente na prvobitnu lokaciju. Ako je nadređena stavka izbrisana i nju treba vratiti.' - 'recycle_bin_restore_deleted_parent' => 'S obzirom da je nadređena stavka obrisana najprije treba vratiti nju.' - 'recycle_bin_destroy_notification' => 'Ukupno izbrisane :count stavke iz Recycle Bin' - 'recycle_bin_restore_notification' => 'Ukupno vraćene :count stavke iz Recycle Bin' + 'recycle_bin' => 'Recycle Bin', + 'recycle_bin_desc' => 'Ovdje možete vratiti izbrisane stavke ili ih trajno ukloniti iz sustava. Popis nije filtriran kao što su to popisi u kojima su omogućeni filteri.', + 'recycle_bin_deleted_item' => 'Izbrisane stavke', + 'recycle_bin_deleted_by' => 'Izbrisano od', + 'recycle_bin_deleted_at' => 'Vrijeme brisanja', + 'recycle_bin_permanently_delete' => 'Trajno izbrisano', + 'recycle_bin_restore' => 'Vrati', + 'recycle_bin_contents_empty' => 'Recycle Bin je prazan', + 'recycle_bin_empty' => 'Isprazni Recycle Bin', + 'recycle_bin_empty_confirm' => 'Ovo će trajno obrisati sve stavke u Recycle Bin i sadržaje povezane s njima. Jeste li sigurni da želite isprazniti Recycle Bin?', + 'recycle_bin_destroy_confirm' => 'Ovom radnjom ćete trajno izbrisati ovu stavku i nećete je više moći vratiti. Želite li je trajno izbrisati?', + 'recycle_bin_destroy_list' => 'Stavke koje treba izbrisati', + 'recycle_bin_restore_list' => 'Stavke koje treba vratiti', + 'recycle_bin_restore_confirm' => 'Ova radnja vraća izbrisane stavke i njene podređene elemente na prvobitnu lokaciju. Ako je nadređena stavka izbrisana i nju treba vratiti.', + 'recycle_bin_restore_deleted_parent' => 'S obzirom da je nadređena stavka obrisana najprije treba vratiti nju.', + 'recycle_bin_destroy_notification' => 'Ukupno izbrisane :count stavke iz Recycle Bin', + 'recycle_bin_restore_notification' => 'Ukupno vraćene :count stavke iz Recycle Bin', // Audit Log - 'audit' => 'Dnevnik revizije' - 'audit_desc' => 'Ovaj dnevnik revizije prikazuje popis aktivnosti zabilježene u sustavu. Ovaj popis nije definiran budući da nisu postavljeni filteri.' - 'audit_event_filter' => 'Filter događaja' - 'audit_event_filter_no_filter' => 'Bez filtera' - 'audit_deleted_item' => 'Izbrisane stavke' - 'audit_deleted_item_name' => 'Ime: :name' - 'audit_table_user' => 'Korisnik' - 'audit_table_event' => 'Događaj' - 'audit_table_related' => 'Povezana stavka ili detalj' - 'audit_table_date' => 'Datum aktivnosti' - 'audit_date_from' => 'Rangiraj datum od' - 'audit_date_to' => 'Rangiraj datum do' + 'audit' => 'Dnevnik revizije', + 'audit_desc' => 'Ovaj dnevnik revizije prikazuje popis aktivnosti zabilježene u sustavu. Ovaj popis nije definiran budući da nisu postavljeni filteri.', + 'audit_event_filter' => 'Filter događaja', + 'audit_event_filter_no_filter' => 'Bez filtera', + 'audit_deleted_item' => 'Izbrisane stavke', + 'audit_deleted_item_name' => 'Ime: :name', + 'audit_table_user' => 'Korisnik', + 'audit_table_event' => 'Događaj', + 'audit_table_related' => 'Povezana stavka ili detalj', + 'audit_table_date' => 'Datum aktivnosti', + 'audit_date_from' => 'Rangiraj datum od', + 'audit_date_to' => 'Rangiraj datum do', // Role Settings - 'roles' => 'Uloge' - 'role_user_roles' => 'Uloge korisnika' - 'role_create' => 'Stvori novu ulogu' - 'role_create_success' => 'Uloga uspješno stvorena' - 'role_delete' => 'Izbriši ulogu' - 'role_delete_confirm' => 'Ovo će izbrisati ulogu povezanu s imenom \':roleName\'.' - 'role_delete_users_assigned' => 'Ova uloga dodijeljena je :userCount. Ako želite premjestiti korisnike iz ove uloge odaberite novu ulogu u nastavku.' - 'role_delete_sure' => 'Jeste li sigurni da želite obrisati ovu ulogu?' - 'role_delete_success' => 'Uloga je uspješno izbrisana' - 'role_edit' => 'Uredi ulogu' - 'role_details' => 'Detalji uloge' - 'role_name' => 'Ime uloge' - 'role_desc' => 'Kratki opis uloge' - 'role_external_auth_id' => 'Autorizacija' - 'role_system' => 'Dopuštenja sustava' - 'role_manage_users' => 'Upravljanje korisnicima' - 'role_manage_roles' => 'Upravljanje ulogama i dopuštenjima' - 'role_manage_entity_permissions' => 'Upravljanje dopuštenjima nad knjigama, poglavljima i stranicama' - 'role_manage_own_entity_permissions' => 'Upravljanje dopuštenjima vlastitih knjiga, poglavlja i stranica' - 'role_manage_page_templates' => 'Upravljanje predlošcima stranica' - 'role_access_api' => 'API pristup' - 'role_manage_settings' => 'Upravljanje postavkama aplikacija' - 'role_asset' => 'Upravljanje vlasništvom' - 'roles_system_warning' => 'Uzmite u obzir da pristup bilo kojem od ovih dopuštenja dozvoljavate korisniku upravljanje dopuštenjima ostalih u sustavu. Ova dopuštenja dodijelite pouzdanim korisnicima.' - 'role_asset_desc' => 'Ova dopuštenja kontroliraju zadane pristupe. Dopuštenja za knjige, poglavlja i stranice ih poništavaju.' - 'role_asset_admins' => 'Administratori automatski imaju pristup svim sadržajima, ali ove opcije mogu prikazati ili sakriti korisnička sučelja.' - 'role_all' => 'Sve' - 'role_own' => 'Vlastito' - 'role_controlled_by_asset' => 'Kontrolirano od strane vlasnika' - 'role_save' => 'Spremi ulogu' - 'role_update_success' => 'Uloga uspješno ažurirana' - 'role_users' => 'Korisnici u ovoj ulozi' - 'role_users_none' => 'Trenutno nijedan korisnik nije u ovoj ulozi' + 'roles' => 'Uloge', + 'role_user_roles' => 'Uloge korisnika', + 'role_create' => 'Stvori novu ulogu', + 'role_create_success' => 'Uloga uspješno stvorena', + 'role_delete' => 'Izbriši ulogu', + 'role_delete_confirm' => 'Ovo će izbrisati ulogu povezanu s imenom \':roleName\'.', + 'role_delete_users_assigned' => 'Ova uloga dodijeljena je :userCount. Ako želite premjestiti korisnike iz ove uloge odaberite novu ulogu u nastavku.', + 'role_delete_sure' => 'Jeste li sigurni da želite obrisati ovu ulogu?', + 'role_delete_success' => 'Uloga je uspješno izbrisana', + 'role_edit' => 'Uredi ulogu', + 'role_details' => 'Detalji uloge', + 'role_name' => 'Ime uloge', + 'role_desc' => 'Kratki opis uloge', + 'role_external_auth_id' => 'Autorizacija', + 'role_system' => 'Dopuštenja sustava', + 'role_manage_users' => 'Upravljanje korisnicima', + 'role_manage_roles' => 'Upravljanje ulogama i dopuštenjima', + 'role_manage_entity_permissions' => 'Upravljanje dopuštenjima nad knjigama, poglavljima i stranicama', + 'role_manage_own_entity_permissions' => 'Upravljanje dopuštenjima vlastitih knjiga, poglavlja i stranica', + 'role_manage_page_templates' => 'Upravljanje predlošcima stranica', + 'role_access_api' => 'API pristup', + 'role_manage_settings' => 'Upravljanje postavkama aplikacija', + 'role_asset' => 'Upravljanje vlasništvom', + 'roles_system_warning' => 'Uzmite u obzir da pristup bilo kojem od ovih dopuštenja dozvoljavate korisniku upravljanje dopuštenjima ostalih u sustavu. Ova dopuštenja dodijelite pouzdanim korisnicima.', + 'role_asset_desc' => 'Ova dopuštenja kontroliraju zadane pristupe. Dopuštenja za knjige, poglavlja i stranice ih poništavaju.', + 'role_asset_admins' => 'Administratori automatski imaju pristup svim sadržajima, ali ove opcije mogu prikazati ili sakriti korisnička sučelja.', + 'role_all' => 'Sve', + 'role_own' => 'Vlastito', + 'role_controlled_by_asset' => 'Kontrolirano od strane vlasnika', + 'role_save' => 'Spremi ulogu', + 'role_update_success' => 'Uloga uspješno ažurirana', + 'role_users' => 'Korisnici u ovoj ulozi', + 'role_users_none' => 'Trenutno nijedan korisnik nije u ovoj ulozi', // Users - 'users' => 'Korisnici' - 'user_profile' => 'Profil korisnika' - 'users_add_new' => 'Dodajte novog korisnika' - 'users_search' => 'Pretražite korisnike' - 'users_latest_activity' => 'Zadnje aktivnosti' - 'users_details' => 'Detalji korisnika' - 'users_details_desc' => 'Postavite prikaz imena i email adrese za ovog korisnika. Email adresa koristit će se za prijavu u aplikaciju.' - 'users_details_desc_no_email' => 'Postavite prikaz imena ovog korisnika da ga drugi mogu prepoznati.' - 'users_role' => 'Uloge korisnika' - 'users_role_desc' => 'Odaberite koje će uloge biti dodijeljene ovom korisniku. Ako korisnik ima više uloga njihova će se dopuštenja prilagoditi.' - 'users_password' => 'Lozinka korisnika' - 'users_password_desc' => 'Postavite lozinku za prijavu u aplikaciju. Mora imati najmanje 6 znakova.' - 'users_send_invite_text' => 'Možete odabrati slanje e maila korisniku i dozvoliti mu da postavi svoju lozinku ili vi to možete učiniti za njega.' - 'users_send_invite_option' => 'Pošaljite pozivnicu korisniku putem emaila' - 'users_external_auth_id' => 'Vanjska autorizacija' - 'users_external_auth_id_desc' => 'Ovaj ID koristi se za komunikaciju s vanjskim sustavom za autorizaciju.' - 'users_password_warning' => 'Ispunite dolje samo ako želite promijeniti lozinku.' - 'users_system_public' => 'Ovaj korisnik predstavlja bilo kojeg gosta. Dodjeljuje se automatski.' - 'users_delete' => 'Izbrišite korisnika' - 'users_delete_named' => 'Izbrišite korisnika :userName' - 'users_delete_warning' => 'Ovo će ukloniti korisnika \':userName\' iz sustava.' - 'users_delete_confirm' => 'Jeste li sigurni da želite izbrisati ovog korisnika?' - 'users_migrate_ownership' => 'Premjestite vlasništvo' - 'users_migrate_ownership_desc' => 'Ovdje odaberite korisnika kojem ćete dodijeliti vlasništvo i sve stavke povezane s njim.' - 'users_none_selected' => 'Nije odabran nijedan korisnik' - 'users_delete_success' => 'Korisnik je uspješno premješten' - 'users_edit' => 'Uredite korisnika' - 'users_edit_profile' => 'Uredite profil' - 'users_edit_success' => 'Korisnik je uspješno ažuriran' - 'users_avatar' => 'Korisnički avatar' - 'users_avatar_desc' => 'Odaberite sliku koja će predstavljati korisnika. Maksimalno 256px.' - 'users_preferred_language' => 'Prioritetni jezik' - 'users_preferred_language_desc' => 'Ova će opcija promijeniti jezik korisničkog sučelja. Neće utjecati na sadržaj.' - 'users_social_accounts' => 'Računi društvenih mreža' - 'users_social_accounts_info' => 'Ovdje možete povezati račun s onim na društvenim mrežama za bržu i lakšu prijavu. Ako se odspojite ovdje to neće utjecati na prethodnu autorizaciju. Na postavkama računa vaše društvene mreže možete opozvati pristup.' - 'users_social_connect' => 'Poveži račun' - 'users_social_disconnect' => 'Odvoji račun' - 'users_social_connected' => ':socialAccount račun je uspješno dodan vašem profilu.' - 'users_social_disconnected' => ':socialAccount račun je uspješno odvojen od vašeg profila.' - 'users_api_tokens' => 'API tokeni' - 'users_api_tokens_none' => 'Nijedan API token nije stvoren za ovog korisnika' - 'users_api_tokens_create' => 'Stvori token' - 'users_api_tokens_expires' => 'Isteklo' - 'users_api_tokens_docs' => 'API dokumentacija' + 'users' => 'Korisnici', + 'user_profile' => 'Profil korisnika', + 'users_add_new' => 'Dodajte novog korisnika', + 'users_search' => 'Pretražite korisnike', + 'users_latest_activity' => 'Zadnje aktivnosti', + 'users_details' => 'Detalji korisnika', + 'users_details_desc' => 'Postavite prikaz imena i email adrese za ovog korisnika. Email adresa koristit će se za prijavu u aplikaciju.', + 'users_details_desc_no_email' => 'Postavite prikaz imena ovog korisnika da ga drugi mogu prepoznati.', + 'users_role' => 'Uloge korisnika', + 'users_role_desc' => 'Odaberite koje će uloge biti dodijeljene ovom korisniku. Ako korisnik ima više uloga njihova će se dopuštenja prilagoditi.', + 'users_password' => 'Lozinka korisnika', + 'users_password_desc' => 'Postavite lozinku za prijavu u aplikaciju. Mora imati najmanje 6 znakova.', + 'users_send_invite_text' => 'Možete odabrati slanje e maila korisniku i dozvoliti mu da postavi svoju lozinku ili vi to možete učiniti za njega.', + 'users_send_invite_option' => 'Pošaljite pozivnicu korisniku putem emaila', + 'users_external_auth_id' => 'Vanjska autorizacija', + 'users_external_auth_id_desc' => 'Ovaj ID koristi se za komunikaciju s vanjskim sustavom za autorizaciju.', + 'users_password_warning' => 'Ispunite dolje samo ako želite promijeniti lozinku.', + 'users_system_public' => 'Ovaj korisnik predstavlja bilo kojeg gosta. Dodjeljuje se automatski.', + 'users_delete' => 'Izbrišite korisnika', + 'users_delete_named' => 'Izbrišite korisnika :userName', + 'users_delete_warning' => 'Ovo će ukloniti korisnika \':userName\' iz sustava.', + 'users_delete_confirm' => 'Jeste li sigurni da želite izbrisati ovog korisnika?', + 'users_migrate_ownership' => 'Premjestite vlasništvo', + 'users_migrate_ownership_desc' => 'Ovdje odaberite korisnika kojem ćete dodijeliti vlasništvo i sve stavke povezane s njim.', + 'users_none_selected' => 'Nije odabran nijedan korisnik', + 'users_delete_success' => 'Korisnik je uspješno premješten', + 'users_edit' => 'Uredite korisnika', + 'users_edit_profile' => 'Uredite profil', + 'users_edit_success' => 'Korisnik je uspješno ažuriran', + 'users_avatar' => 'Korisnički avatar', + 'users_avatar_desc' => 'Odaberite sliku koja će predstavljati korisnika. Maksimalno 256px.', + 'users_preferred_language' => 'Prioritetni jezik', + 'users_preferred_language_desc' => 'Ova će opcija promijeniti jezik korisničkog sučelja. Neće utjecati na sadržaj.', + 'users_social_accounts' => 'Računi društvenih mreža', + 'users_social_accounts_info' => 'Ovdje možete povezati račun s onim na društvenim mrežama za bržu i lakšu prijavu. Ako se odspojite ovdje to neće utjecati na prethodnu autorizaciju. Na postavkama računa vaše društvene mreže možete opozvati pristup.', + 'users_social_connect' => 'Poveži račun', + 'users_social_disconnect' => 'Odvoji račun', + 'users_social_connected' => ':socialAccount račun je uspješno dodan vašem profilu.', + 'users_social_disconnected' => ':socialAccount račun je uspješno odvojen od vašeg profila.', + 'users_api_tokens' => 'API tokeni', + 'users_api_tokens_none' => 'Nijedan API token nije stvoren za ovog korisnika', + 'users_api_tokens_create' => 'Stvori token', + 'users_api_tokens_expires' => 'Isteklo', + 'users_api_tokens_docs' => 'API dokumentacija', // API Tokens - 'user_api_token_create' => 'Stvori API token' - 'user_api_token_name' => 'Ime' - 'user_api_token_name_desc' => 'Imenujte svoj token na način da prepoznate njegovu svrhu.' - 'user_api_token_expiry' => 'Datum isteka' - 'user_api_token_expiry_desc' => 'Postavite datum kada token istječe. Ostavljanjem ovog polja praznim automatski se postavlja dugoročno razdoblje.' - 'user_api_token_create_secret_message' => 'Odmah nakon kreiranja tokena prikazat će se "Token ID" i "Token Secret". To će se prikazati samo jednom i zato preporučujemo da ga spremite na sigurno.' - 'user_api_token_create_success' => 'API token uspješno kreiran' - 'user_api_token_update_success' => 'API token uspješno ažuriran' - 'user_api_token' => 'API token' - 'user_api_token_id' => 'Token ID' - 'user_api_token_id_desc' => 'Ovaj sistemski generiran identifikator ne može se uređivati i bit će potreban pri API zahtjevima.' - 'user_api_token_secret' => 'Token Secret' - 'user_api_token_secret_desc' => 'Ovaj sistemski generirani Token Secret trebat ćete za API zahtjev. Prikazuje se samo prvi put i zato ga spremite na sigurno.' - 'user_api_token_created' => 'Token kreiran :timeAgo' - 'user_api_token_updated' => 'Token ažuriran :timeAgo' - 'user_api_token_delete' => 'Izbriši token' - 'user_api_token_delete_warning' => 'Ovo će potpuno izbrisati API token naziva \':tokenName\' iz našeg sustava.' - 'user_api_token_delete_confirm' => 'Jeste li sigurni da želite izbrisati ovaj API token?' - 'user_api_token_delete_success' => 'API token uspješno izbrisan' + 'user_api_token_create' => 'Stvori API token', + 'user_api_token_name' => 'Ime', + 'user_api_token_name_desc' => 'Imenujte svoj token na način da prepoznate njegovu svrhu.', + 'user_api_token_expiry' => 'Datum isteka', + 'user_api_token_expiry_desc' => 'Postavite datum kada token istječe. Ostavljanjem ovog polja praznim automatski se postavlja dugoročno razdoblje.', + 'user_api_token_create_secret_message' => 'Odmah nakon kreiranja tokena prikazat će se "Token ID" i "Token Secret". To će se prikazati samo jednom i zato preporučujemo da ga spremite na sigurno.', + 'user_api_token_create_success' => 'API token uspješno kreiran', + 'user_api_token_update_success' => 'API token uspješno ažuriran', + 'user_api_token' => 'API token', + 'user_api_token_id' => 'Token ID', + 'user_api_token_id_desc' => 'Ovaj sistemski generiran identifikator ne može se uređivati i bit će potreban pri API zahtjevima.', + 'user_api_token_secret' => 'Token Secret', + 'user_api_token_secret_desc' => 'Ovaj sistemski generirani Token Secret trebat ćete za API zahtjev. Prikazuje se samo prvi put i zato ga spremite na sigurno.', + 'user_api_token_created' => 'Token kreiran :timeAgo', + 'user_api_token_updated' => 'Token ažuriran :timeAgo', + 'user_api_token_delete' => 'Izbriši token', + 'user_api_token_delete_warning' => 'Ovo će potpuno izbrisati API token naziva \':tokenName\' iz našeg sustava.', + 'user_api_token_delete_confirm' => 'Jeste li sigurni da želite izbrisati ovaj API token?', + 'user_api_token_delete_success' => 'API token uspješno izbrisan', //! If editing translations files directly please ignore this in all //! languages apart from en. Content will be auto-copied from en. //!//////////////////////////////// 'language_select' => [ - 'en' => 'Engleski' - 'ar' => '' - 'bg' => 'Bugarski' - 'bs' => 'Bosanski' - 'ca' => 'Català' - 'cs' => 'Češki' - 'da' => 'Danski' - 'de' => 'Njemački (Sie)' - 'de_informal' => 'Njemački (Du)' - 'es' => 'Španjolski' - 'es_AR' => 'Argentinski' - 'fr' => 'Francuski' - 'he' => '' - 'hu' => 'Mađarski' - 'id' => 'Bahasa Indonezijski' - 'it' => 'Talijanski' - 'ja' => '' - 'ko' => '' - 'lv' => 'Latviešu Valoda' - 'nl' => 'Nizozemski' - 'nb' => 'Norsk (Bokmål)' - 'pl' => 'Poljski' - 'pt' => 'Portugalski' - 'pt_BR' => 'Brazilski' - 'ru' => 'Ruski' - 'sk' => 'Slovensky' - 'sl' => 'Slovenščina' - 'sv' => 'Svenska' - 'tr' => 'Tirski' - 'uk' => '' - 'vi' => '' - 'zh_CN' => '' - 'zh_TW' => '' + 'en' => 'English', + 'ar' => 'العربية', + 'bg' => 'Bǎlgarski', + 'bs' => 'Bosanski', + 'ca' => 'Català', + 'cs' => 'Česky', + 'da' => 'Dansk', + 'de' => 'Deutsch (Sie)', + 'de_informal' => 'Deutsch (Du)', + 'es' => 'Español', + 'es_AR' => 'Español Argentina', + 'fr' => 'Français', + 'he' => 'עברית', + 'hu' => 'Magyar', + 'id' => 'Bahasa Indonesia', + 'it' => 'Italian', + 'ja' => '日本語', + 'ko' => '한국어', + 'lv' => 'Latviešu Valoda', + 'nl' => 'Nederlands', + 'nb' => 'Norsk (Bokmål)', + 'pl' => 'Polski', + 'pt' => 'Português', + 'pt_BR' => 'Português do Brasil', + 'ru' => 'Русский', + 'sk' => 'Slovensky', + 'sl' => 'Slovenščina', + 'sv' => 'Svenska', + 'tr' => 'Türkçe', + 'uk' => 'Українська', + 'vi' => 'Tiếng Việt', + 'zh_CN' => '简体中文', + 'zh_TW' => '繁體中文', ] //!//////////////////////////////// ]; diff --git a/resources/lang/hr/validation.php b/resources/lang/hr/validation.php index bbf382dad..5b1849c5f 100644 --- a/resources/lang/hr/validation.php +++ b/resources/lang/hr/validation.php @@ -8,104 +8,104 @@ return [ // Standard laravel validation lines - 'accepted' => ':attribute mora biti prihvaćen.' - 'active_url' => ':attribute nema valjan URL.' - 'after' => ':attribute mora biti nakon :date.' - 'alpha' => ':attribute može sadržavati samo slova.' - 'alpha_dash' => ':attribute može sadržavati samo slova, brojeve, crtice i donje crtice.' - 'alpha_num' => ':attribute može sadržavati samo slova i brojeve.' - 'array' => ':attribute mora biti niz.' - 'before' => ':attribute mora biti prije :date.' + 'accepted' => ':attribute mora biti prihvaćen.', + 'active_url' => ':attribute nema valjan URL.', + 'after' => ':attribute mora biti nakon :date.', + 'alpha' => ':attribute može sadržavati samo slova.', + 'alpha_dash' => ':attribute može sadržavati samo slova, brojeve, crtice i donje crtice.', + 'alpha_num' => ':attribute može sadržavati samo slova i brojeve.', + 'array' => ':attribute mora biti niz.', + 'before' => ':attribute mora biti prije :date.', 'between' => [ - 'numeric' => ':attribute mora biti između :min i :max.' - 'file' => ':attribute mora biti između :min i :max kilobajta.' - 'string' => ':attribute mora biti između :min i :max znakova.' - 'array' => ':attribute mora biti između :min i :max stavki' + 'numeric' => ':attribute mora biti između :min i :max.', + 'file' => ':attribute mora biti između :min i :max kilobajta.', + 'string' => ':attribute mora biti između :min i :max znakova.', + 'array' => ':attribute mora biti između :min i :max stavki', ], - 'boolean' => ':attribute mora biti točno ili netočno.' - 'confirmed' => ':attribute potvrde se ne podudaraju.' - 'date' => ':attribute nema valjani datum.' - 'date_format' => ':attribute ne odgovara formatu :format.' - 'different' => ':attribute i :other se moraju razlikovati.' - 'digits' => ':attribute mora biti :digits znakova.' - 'digits_between' => ':attribute mora biti između :min i :max znamenki.' - 'email' => ':attribute mora biti valjana email adresa.' - 'ends_with' => ':attribute mora završiti s :values' - 'filled' => ':attribute polje je obavezno.' + 'boolean' => ':attribute mora biti točno ili netočno.', + 'confirmed' => ':attribute potvrde se ne podudaraju.', + 'date' => ':attribute nema valjani datum.', + 'date_format' => ':attribute ne odgovara formatu :format.', + 'different' => ':attribute i :other se moraju razlikovati.', + 'digits' => ':attribute mora biti :digits znakova.', + 'digits_between' => ':attribute mora biti između :min i :max znamenki.', + 'email' => ':attribute mora biti valjana email adresa.', + 'ends_with' => ':attribute mora završiti s :values', + 'filled' => ':attribute polje je obavezno.', 'gt' => [ - 'numeric' => ':attribute mora biti veći od :value.' - 'file' => ':attribute mora biti veći od :value kilobajta.' - 'string' => ':attribute mora biti veći od :value znakova' - 'array' => ':attribute mora biti veći od :value stavki.' + 'numeric' => ':attribute mora biti veći od :value.', + 'file' => ':attribute mora biti veći od :value kilobajta.', + 'string' => ':attribute mora biti veći od :value znakova', + 'array' => ':attribute mora biti veći od :value stavki.', ], 'gte' => [ - 'numeric' => ':attribute mora biti veći ili jednak :value.' - 'file' => ':attribute mora biti veći ili jednak :value kilobajta.' - 'string' => ':attribute mora biti veći ili jednak :value znakova.' - 'array' => ':attribute mora imati :value stavki ili više.' + 'numeric' => ':attribute mora biti veći ili jednak :value.', + 'file' => ':attribute mora biti veći ili jednak :value kilobajta.', + 'string' => ':attribute mora biti veći ili jednak :value znakova.', + 'array' => ':attribute mora imati :value stavki ili više.', ], - 'exists' => 'Odabrani :attribute ne vrijedi.' - 'image' => ':attribute mora biti slika.' - 'image_extension' => ':attribute mora imati valjanu i podržanu ekstenziju.' - 'in' => 'Odabrani :attribute ne vrijedi.' - 'integer' => ':attribute mora biti cijeli broj.' - 'ip' => ':attribute mora biti valjana IP adresa.' - 'ipv4' => ':attribute mora biti valjana IPv4 adresa.' - 'ipv6' => ':attribute mora biti valjana IPv6 adresa.' - 'json' => ':attribute mora biti valjani JSON niz.' + 'exists' => 'Odabrani :attribute ne vrijedi.', + 'image' => ':attribute mora biti slika.', + 'image_extension' => ':attribute mora imati valjanu i podržanu ekstenziju.', + 'in' => 'Odabrani :attribute ne vrijedi.', + 'integer' => ':attribute mora biti cijeli broj.', + 'ip' => ':attribute mora biti valjana IP adresa.', + 'ipv4' => ':attribute mora biti valjana IPv4 adresa.', + 'ipv6' => ':attribute mora biti valjana IPv6 adresa.', + 'json' => ':attribute mora biti valjani JSON niz.', 'lt' => [ - 'numeric' => ':attribute mora biti manji od :value.' - 'file' => ':attribute mora biti manji od :value kilobajta.' - 'string' => ':attribute mora biti manji od :value znakova.' - 'array' => ':attribute mora biti manji od :value stavki.' + 'numeric' => ':attribute mora biti manji od :value.', + 'file' => ':attribute mora biti manji od :value kilobajta.', + 'string' => ':attribute mora biti manji od :value znakova.', + 'array' => ':attribute mora biti manji od :value stavki.', ], 'lte' => [ - 'numeric' => ':attribute mora biti manji ili jednak :value.' - 'file' => ':attribute mora biti manji ili jednak :value kilobajta.' - 'string' => ':attribute mora biti manji ili jednak :value znakova.' - 'array' => ':attribute mora imati više od :value stavki.' + 'numeric' => ':attribute mora biti manji ili jednak :value.', + 'file' => ':attribute mora biti manji ili jednak :value kilobajta.', + 'string' => ':attribute mora biti manji ili jednak :value znakova.', + 'array' => ':attribute mora imati više od :value stavki.', ], 'max' => [ - 'numeric' => ':attribute ne smije biti veći od :max.' - 'file' => ':attribute ne smije biti veći od :max kilobajta.' - 'string' => ':attribute ne smije biti duži od :max znakova.' - 'array' => ':attribute ne smije imati više od :max stavki.' + 'numeric' => ':attribute ne smije biti veći od :max.', + 'file' => ':attribute ne smije biti veći od :max kilobajta.', + 'string' => ':attribute ne smije biti duži od :max znakova.', + 'array' => ':attribute ne smije imati više od :max stavki.', ], - 'mimes' => ':attribute mora biti datoteka tipa: :values.' + 'mimes' => ':attribute mora biti datoteka tipa: :values.', 'min' => [ - 'numeric' => ':attribute mora biti najmanje :min.' - 'file' => ':attribute mora imati najmanje :min kilobajta.' - 'string' => ':attribute mora imati najmanje :min znakova.' - 'array' => ':attribute mora imati najmanje :min stavki.' + 'numeric' => ':attribute mora biti najmanje :min.', + 'file' => ':attribute mora imati najmanje :min kilobajta.', + 'string' => ':attribute mora imati najmanje :min znakova.', + 'array' => ':attribute mora imati najmanje :min stavki.', ], - 'not_in' => 'Odabrani :attribute ne vrijedi.' - 'not_regex' => 'Format :attribute nije valjan.' - 'numeric' => ':attribute mora biti broj.' - 'regex' => 'Format :attribute nije valjan.' - 'required' => ':attribute polje je obavezno.' - 'required_if' => 'Polje :attribute je obavezno kada :other je :value.' - 'required_with' => 'Polje :attribute je potrebno kada :values je sadašnjost.' - 'required_with_all' => 'Polje :attribute je potrebno kada :values je sadašnjost.' - 'required_without' => 'Polje :attribute je potrebno kada :values nije sadašnjost.' - 'required_without_all' => 'Polje :attribute je potrebno kada ništa od :values nije sadašnjost.' - 'same' => ':attribute i :other se moraju podudarati.' - 'safe_url' => 'Navedena veza možda nije sigurna.' + 'not_in' => 'Odabrani :attribute ne vrijedi.', + 'not_regex' => 'Format :attribute nije valjan.', + 'numeric' => ':attribute mora biti broj.', + 'regex' => 'Format :attribute nije valjan.', + 'required' => ':attribute polje je obavezno.', + 'required_if' => 'Polje :attribute je obavezno kada :other je :value.', + 'required_with' => 'Polje :attribute je potrebno kada :values je sadašnjost.', + 'required_with_all' => 'Polje :attribute je potrebno kada :values je sadašnjost.', + 'required_without' => 'Polje :attribute je potrebno kada :values nije sadašnjost.', + 'required_without_all' => 'Polje :attribute je potrebno kada ništa od :values nije sadašnjost.', + 'same' => ':attribute i :other se moraju podudarati.', + 'safe_url' => 'Navedena veza možda nije sigurna.', 'size' => [ - 'numeric' => ':attribute mora biti :size.' - 'file' => ':attribute mora biti :size kilobajta.' - 'string' => ':attribute mora biti :size znakova.' - 'array' => ':attribute mora sadržavati :size stavki.' + 'numeric' => ':attribute mora biti :size.', + 'file' => ':attribute mora biti :size kilobajta.', + 'string' => ':attribute mora biti :size znakova.', + 'array' => ':attribute mora sadržavati :size stavki.', ], - 'string' => ':attribute mora biti niz.' - 'timezone' => ':attribute mora biti valjan.' - 'unique' => ':attribute se već koristi.' - 'url' => 'Format :attribute nije valjan.' - 'uploaded' => 'Datoteka se ne može prenijeti. Server možda ne prihvaća datoteke te veličine.' + 'string' => ':attribute mora biti niz.', + 'timezone' => ':attribute mora biti valjan.', + 'unique' => ':attribute se već koristi.', + 'url' => 'Format :attribute nije valjan.', + 'uploaded' => 'Datoteka se ne može prenijeti. Server možda ne prihvaća datoteke te veličine.', // Custom validation lines 'custom' => [ 'password-confirm' => [ - 'required_with' => 'Potrebna potvrda lozinke' + 'required_with' => 'Potrebna potvrda lozinke', ], ], From 24eef03fb987c5a01e4ced2fe6daa6072f17e7cf Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Wed, 2 Jun 2021 21:55:30 +0100 Subject: [PATCH 05/13] Added croatian to required arrays/lists --- app/Config/app.php | 2 +- app/Http/Middleware/Localization.php | 1 + resources/lang/en/settings.php | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/app/Config/app.php b/app/Config/app.php index ea5252f4f..550c98b0a 100755 --- a/app/Config/app.php +++ b/app/Config/app.php @@ -56,7 +56,7 @@ return [ 'locale' => env('APP_LANG', 'en'), // Locales available - 'locales' => ['en', 'ar', 'bg', 'bs', 'ca', 'cs', 'da', 'de', 'de_informal', 'es', 'es_AR', 'fa', 'fr', 'he', 'hu', 'id', 'it', 'ja', 'ko', 'lv', 'nl', 'nb', 'pt', 'pt_BR', 'sk', 'sl', 'sv', 'pl', 'ru', 'th', 'tr', 'uk', 'vi', 'zh_CN', 'zh_TW',], + 'locales' => ['en', 'ar', 'bg', 'bs', 'ca', 'cs', 'da', 'de', 'de_informal', 'es', 'es_AR', 'fa', 'fr', 'he', 'hr', 'hu', 'id', 'it', 'ja', 'ko', 'lv', 'nl', 'nb', 'pt', 'pt_BR', 'sk', 'sl', 'sv', 'pl', 'ru', 'th', 'tr', 'uk', 'vi', 'zh_CN', 'zh_TW',], // Application Fallback Locale 'fallback_locale' => 'en', diff --git a/app/Http/Middleware/Localization.php b/app/Http/Middleware/Localization.php index cd084746c..0b286a713 100644 --- a/app/Http/Middleware/Localization.php +++ b/app/Http/Middleware/Localization.php @@ -28,6 +28,7 @@ class Localization 'es_AR' => 'es_AR', 'fr' => 'fr_FR', 'he' => 'he_IL', + 'hr' => 'hr_HR', 'id' => 'id_ID', 'it' => 'it_IT', 'ja' => 'ja', diff --git a/resources/lang/en/settings.php b/resources/lang/en/settings.php index ab7f15322..8a7946b12 100755 --- a/resources/lang/en/settings.php +++ b/resources/lang/en/settings.php @@ -241,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'עברית', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', From 0d17d18d078a5d84957a58c0364f0146303c412a Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Wed, 2 Jun 2021 21:56:53 +0100 Subject: [PATCH 06/13] New Crowdin updates (#2777) * New translations common.php (Latvian) * New translations entities.php (Latvian) * New translations activities.php (Italian) * New translations common.php (Italian) * New translations entities.php (Italian) * New translations errors.php (Italian) * New translations settings.php (Italian) * New translations common.php (Spanish, Argentina) * New translations entities.php (Spanish, Argentina) * New translations activities.php (Spanish, Argentina) * New translations common.php (Spanish, Argentina) * New translations common.php (French) * New translations common.php (Swedish) * New translations activities.php (Swedish) * New translations common.php (Swedish) * New translations entities.php (Swedish) * New translations errors.php (Swedish) * New translations settings.php (Swedish) * New translations validation.php (Bulgarian) * New translations validation.php (Bulgarian) * New translations common.php (Bulgarian) * New translations validation.php (Bulgarian) * New translations settings.php (Bulgarian) * New translations activities.php (Indonesian) * New translations settings.php (Bulgarian) * New translations common.php (Bulgarian) * New translations entities.php (Bulgarian) * New translations activities.php (Turkish) * New translations settings.php (Bulgarian) * New translations components.php (Bulgarian) * New translations activities.php (Russian) * New translations common.php (Russian) * New translations entities.php (Russian) * New translations common.php (Russian) * New translations entities.php (Russian) --- resources/lang/bg/common.php | 6 +- resources/lang/bg/components.php | 2 +- resources/lang/bg/entities.php | 12 ++-- resources/lang/bg/settings.php | 106 ++++++++++++++-------------- resources/lang/bg/validation.php | 88 +++++++++++------------ resources/lang/es_AR/activities.php | 4 +- resources/lang/es_AR/common.php | 8 +-- resources/lang/es_AR/entities.php | 4 +- resources/lang/fr/common.php | 4 +- resources/lang/id/activities.php | 18 ++--- resources/lang/it/activities.php | 4 +- resources/lang/it/common.php | 8 +-- resources/lang/it/entities.php | 4 +- resources/lang/it/errors.php | 6 +- resources/lang/it/settings.php | 10 +-- resources/lang/lv/common.php | 8 +-- resources/lang/lv/entities.php | 2 +- resources/lang/ru/activities.php | 4 +- resources/lang/ru/common.php | 8 +-- resources/lang/ru/entities.php | 4 +- resources/lang/sv/activities.php | 4 +- resources/lang/sv/common.php | 20 +++--- resources/lang/sv/entities.php | 12 ++-- resources/lang/sv/errors.php | 6 +- resources/lang/sv/settings.php | 20 +++--- resources/lang/tr/activities.php | 4 +- 26 files changed, 188 insertions(+), 188 deletions(-) diff --git a/resources/lang/bg/common.php b/resources/lang/bg/common.php index 600d8df3d..7c833bd0d 100644 --- a/resources/lang/bg/common.php +++ b/resources/lang/bg/common.php @@ -33,7 +33,7 @@ return [ 'copy' => 'Копирай', 'reply' => 'Отговори', 'delete' => 'Изтрий', - 'delete_confirm' => 'Confirm Deletion', + 'delete_confirm' => 'Потвърдете изтриването', 'search' => 'Търси', 'search_clear' => 'Изчисти търсенето', 'reset' => 'Нулирай', @@ -88,6 +88,6 @@ return [ // Footer Link Options // Not directly used but available for convenience to users. - 'privacy_policy' => 'Privacy Policy', - 'terms_of_service' => 'Terms of Service', + 'privacy_policy' => 'Лични данни', + 'terms_of_service' => 'Общи условия', ]; diff --git a/resources/lang/bg/components.php b/resources/lang/bg/components.php index b15aa6f79..4be89bfb5 100644 --- a/resources/lang/bg/components.php +++ b/resources/lang/bg/components.php @@ -15,7 +15,7 @@ return [ 'image_load_more' => 'Зареди повече', 'image_image_name' => 'Име на изображението', 'image_delete_used' => 'Това изображение е използвано в страницата по-долу.', - 'image_delete_confirm_text' => 'Are you sure you want to delete this image?', + 'image_delete_confirm_text' => 'Сигурни ли сте, че искате да изтриете това изображение?', 'image_select_image' => 'Изберете изображение', 'image_dropzone' => 'Поставете тук изображение или кликнете тук за да качите', 'images_deleted' => 'Изображението е изтрито', diff --git a/resources/lang/bg/entities.php b/resources/lang/bg/entities.php index f5ca1850c..accf2157a 100644 --- a/resources/lang/bg/entities.php +++ b/resources/lang/bg/entities.php @@ -22,13 +22,13 @@ return [ 'meta_created_name' => 'Създадено преди :timeLength от :user', 'meta_updated' => 'Актуализирано :timeLength', 'meta_updated_name' => 'Актуализирано преди :timeLength от :user', - 'meta_owned_name' => 'Owned by :user', + 'meta_owned_name' => 'Притежавано от :user', 'entity_select' => 'Избор на обект', 'images' => 'Изображения', 'my_recent_drafts' => 'Моите скорошни драфтове', 'my_recently_viewed' => 'Моите скорошни преглеждания', 'my_most_viewed_favourites' => 'My Most Viewed Favourites', - 'my_favourites' => 'My Favourites', + 'my_favourites' => 'Моите фаворити', 'no_pages_viewed' => 'Не сте прегледали никакви страници', 'no_pages_recently_created' => 'Не са били създавани страници скоро', 'no_pages_recently_updated' => 'Не са били актуализирани страници скоро', @@ -42,7 +42,7 @@ return [ 'permissions_intro' => 'Веднъж добавени, тези права ще вземат приоритет над всички други установени права.', 'permissions_enable' => 'Разреши уникални права', 'permissions_save' => 'Запази права', - 'permissions_owner' => 'Owner', + 'permissions_owner' => 'Собственик', // Search 'search_results' => 'Резултати от търсенето', @@ -51,7 +51,7 @@ return [ 'search_no_pages' => 'Няма страници отговарящи на търсенето', 'search_for_term' => 'Търси :term', 'search_more' => 'Още резултати', - 'search_advanced' => 'Advanced Search', + 'search_advanced' => 'Подробно търсене', 'search_terms' => 'Search Terms', 'search_content_type' => 'Тип на съдържание', 'search_exact_matches' => 'Точни съвпадения', @@ -62,7 +62,7 @@ return [ 'search_permissions_set' => 'Задаване на права', 'search_created_by_me' => 'Създадено от мен', 'search_updated_by_me' => 'Обновено от мен', - 'search_owned_by_me' => 'Owned by me', + 'search_owned_by_me' => 'Притежаван от мен', 'search_date_options' => 'Настройки на дати', 'search_updated_before' => 'Обновено преди', 'search_updated_after' => 'Обновено след', @@ -262,7 +262,7 @@ return [ 'attachments_upload' => 'Прикачен файл', 'attachments_link' => 'Прикачване на линк', 'attachments_set_link' => 'Поставяне на линк', - 'attachments_delete' => 'Are you sure you want to delete this attachment?', + 'attachments_delete' => 'Сигурни ли сте, че искате да изтриете прикачения файл?', 'attachments_dropzone' => 'Поставете файлове или цъкнете тук за да прикачите файл', 'attachments_no_files' => 'Няма прикачени фалове', 'attachments_explain_link' => 'Може да прикачите линк, ако не искате да качвате файл. Този линк може да бъде към друга страница или към файл в облакова пространство.', diff --git a/resources/lang/bg/settings.php b/resources/lang/bg/settings.php index 5fb24056e..dad9054ef 100644 --- a/resources/lang/bg/settings.php +++ b/resources/lang/bg/settings.php @@ -35,13 +35,13 @@ return [ 'app_primary_color' => 'Основен цвят на приложението', 'app_primary_color_desc' => 'Изберете основния цвят на приложението, включително на банера, бутоните и линковете.', 'app_homepage' => 'Application Homepage', - 'app_homepage_desc' => 'Select a view to show on the homepage instead of the default view. Page permissions are ignored for selected pages.', - 'app_homepage_select' => 'Select a page', - 'app_footer_links' => 'Footer Links', - 'app_footer_links_desc' => 'Add links to show within the site footer. These will be displayed at the bottom of most pages, including those that do not require login. You can use a label of "trans::" 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_homepage_desc' => 'Изберете начална страница, която ще замени изгледа по подразбиране. Дефинираните права на страницата, която е избрана ще бъдат игнорирани.', + 'app_homepage_select' => 'Избери страница', + 'app_footer_links' => 'Футър линкове', + 'app_footer_links_desc' => 'Добави линк в съдържанието на футъра. Добавените линкове ще се показват долу в повечето страници, включително и в страниците, в които логването не е задължително. Можете да използвате заместител "trans::", за да използвате дума дефинирана от системата. Пример: Използването на "trans::common.privacy_policy" ще покаже "Лични данни" или на "trans::common.terms_of_service" ще покаже "Общи условия".', 'app_footer_links_label' => 'Link Label', - 'app_footer_links_url' => 'Link URL', - 'app_footer_links_add' => 'Add Footer Link', + 'app_footer_links_url' => 'Линк URL', + 'app_footer_links_add' => 'Добави футър линк', 'app_disable_comments' => 'Disable Comments', 'app_disable_comments_toggle' => 'Disable comments', 'app_disable_comments_desc' => 'Disables comments across all pages in the application.
Existing comments are not shown.', @@ -80,20 +80,20 @@ return [ '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_send_test_email_run' => 'Изпрати тестов имейл', + 'maint_send_test_email_success' => 'Имейл изпратен на :address', + 'maint_send_test_email_mail_subject' => 'Тестов Имейл', + 'maint_send_test_email_mail_greeting' => 'Изпращането на Имейл работи!', + 'maint_send_test_email_mail_text' => 'Поздравления! След като получихте този имейл, Вашите имейл настройки са конфигурирани правилно.', + 'maint_recycle_bin_desc' => 'Изтрити рафти, книги, глави и страници се преместват в кошчето, откъдето можете да ги възстановите или изтриете завинаги. Стари съдържания в кошчето ще бъдат изтрити автоматично след време, в зависимост от настройките на системата.', + 'maint_recycle_bin_open' => 'Отвори Кошчето', // Recycle Bin - 'recycle_bin' => 'Recycle Bin', + 'recycle_bin' => 'Кошче', 'recycle_bin_desc' => 'Here you can restore items that have been deleted or choose to permanently remove them from the system. This list is unfiltered unlike similar activity lists in the system where permission filters are applied.', - 'recycle_bin_deleted_item' => 'Deleted Item', - 'recycle_bin_deleted_by' => 'Deleted By', - 'recycle_bin_deleted_at' => 'Deletion Time', + 'recycle_bin_deleted_item' => 'Изтрит предмет', + 'recycle_bin_deleted_by' => 'Изтрит от', + 'recycle_bin_deleted_at' => 'Час на изтриване', 'recycle_bin_permanently_delete' => 'Permanently Delete', 'recycle_bin_restore' => 'Restore', 'recycle_bin_contents_empty' => 'The recycle bin is currently empty', @@ -111,27 +111,27 @@ return [ '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_event_filter_no_filter' => 'Без филтър', + 'audit_deleted_item' => 'Изтрит предмет', + 'audit_deleted_item_name' => 'Име: :name', + 'audit_table_user' => 'Потребител', + 'audit_table_event' => 'Събитие', 'audit_table_related' => 'Related Item or Detail', - 'audit_table_date' => 'Activity Date', - 'audit_date_from' => 'Date Range From', - 'audit_date_to' => 'Date Range To', + 'audit_table_date' => 'Дата на активност', + 'audit_date_from' => 'Време от', + 'audit_date_to' => 'Време до', // Role Settings - 'roles' => 'Roles', - 'role_user_roles' => 'User Roles', - 'role_create' => 'Create New Role', - 'role_create_success' => 'Role successfully created', - '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_delete_success' => 'Role successfully deleted', + 'roles' => 'Роли', + 'role_user_roles' => 'Потребителски роли', + 'role_create' => 'Създай нова роля', + 'role_create_success' => 'Ролята беше успешно създадена', + 'role_delete' => 'Изтрий роля', + 'role_delete_confirm' => 'Това ще изтрие ролята \':roleName\'.', + 'role_delete_users_assigned' => 'В тази роля се намират :userCount потребители. Ако искате да преместите тези потребители в друга роля, моля изберете нова роля отдолу.', + 'role_delete_no_migration' => "Не премествай потребителите в нова роля", + 'role_delete_sure' => 'Сигурни ли сте, че искате да изтриете тази роля?', + 'role_delete_success' => 'Ролята беше успешно изтрита', 'role_edit' => 'Редактиране на роля', 'role_details' => 'Детайли на роля', 'role_name' => 'Име на ролята', @@ -146,24 +146,24 @@ return [ 'role_access_api' => 'Достъп до API на системата', 'role_manage_settings' => 'Управление на настройките на приложението', 'role_asset' => 'Настройки за достъп до активи', - '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' => 'Тези настойки за достъп контролират достъпа по подразбиране до активите в системата. Настойките за достъп до книги, глави и страници ще отменят тези настройки.', + 'roles_system_warning' => 'Важно: Добавянето на потребител в някое от горните три роли може да му позволи да промени собствените си права или правата на другите в системата. Възлагайте тези роли само на доверени потребители.', + 'role_asset_desc' => 'Тези настройки за достъп контролират достъпа по подразбиране до активите в системата. Настройките за достъп до книги, глави и страници ще отменят тези настройки.', 'role_asset_admins' => 'Администраторите автоматично получават достъп до цялото съдържание, но тези опции могат да показват или скриват опциите за потребителския интерфейс.', 'role_all' => 'Всички', 'role_own' => 'Собствени', 'role_controlled_by_asset' => 'Controlled by the asset they are uploaded to', - 'role_save' => 'Save Role', - 'role_update_success' => 'Role successfully updated', - 'role_users' => 'Users in this role', - 'role_users_none' => 'No users are currently assigned to this role', + 'role_save' => 'Запази ролята', + 'role_update_success' => 'Ролята беше успешно актуализирана', + 'role_users' => 'Потребители в тази роля', + 'role_users_none' => 'В момента няма потребители, назначени за тази роля', // Users - 'users' => 'Users', - 'user_profile' => 'User Profile', - 'users_add_new' => 'Add New User', - 'users_search' => 'Search Users', - 'users_latest_activity' => 'Latest Activity', - 'users_details' => 'User Details', + 'users' => 'Потребители', + 'user_profile' => 'Потребителски профил', + 'users_add_new' => 'Добави нов потребител', + 'users_search' => 'Търси Потребители', + 'users_latest_activity' => 'Последна активност', + 'users_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', @@ -176,13 +176,13 @@ return [ 'users_external_auth_id_desc' => 'This is the ID used to match this user when communicating with your external authentication system.', 'users_password_warning' => 'Only fill the below if you would like to change your password.', '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_delete' => 'Изтрий потребител', + 'users_delete_named' => 'Изтрий потребителя :userName', + 'users_delete_warning' => 'Това изцяло ще изтрие този потребител с името \':userName\' от системата.', + 'users_delete_confirm' => 'Сигурни ли сте, че искате да изтриете този потребител?', + 'users_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_none_selected' => 'Няма избрани потребители', 'users_delete_success' => 'User successfully removed', 'users_edit' => 'Edit User', 'users_edit_profile' => 'Edit Profile', diff --git a/resources/lang/bg/validation.php b/resources/lang/bg/validation.php index 4031de2ae..3f22751dd 100644 --- a/resources/lang/bg/validation.php +++ b/resources/lang/bg/validation.php @@ -8,67 +8,67 @@ 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.', - 'before' => 'The :attribute must be a date before :date.', + 'accepted' => ':attribute трябва да бъде одобрен.', + 'active_url' => ':attribute не е валиден URL адрес.', + 'after' => ':attribute трябва да е дата след :date.', + 'alpha' => ':attribute може да съдържа само букви.', + 'alpha_dash' => ':attribute може да съдържа само букви, числа, тире и долна черта.', + 'alpha_num' => ':attribute може да съдържа само букви и числа.', + 'array' => ':attribute трябва да е масив (array).', + 'before' => ':attribute трябва да е дата след :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.', + 'numeric' => ':attribute трябва да е между :min и :max.', + 'file' => ':attribute трябва да е между :min и :max килобайта.', + 'string' => 'Дължината на :attribute трябва да бъде между :min и :max символа.', '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', - 'filled' => 'The :attribute field is required.', + 'boolean' => 'Полето :attribute трябва да съдържа булева стойност (true или false).', + 'confirmed' => 'Потвърждението на :attribute не съвпада.', + 'date' => ':attribute не е валидна дата.', + 'date_format' => ':attribute не е в посоченият формат - :format.', + 'different' => ':attribute и :other трябва да са различни.', + 'digits' => ':attribute трябва да съдържа :digits цифри.', + 'digits_between' => ':attribute трябва да бъде с дължина между :min и :max цифри.', + 'email' => ':attribute трябва да бъде валиден имейл адрес.', + 'ends_with' => ':attribute трябва да свършва с един от следните символи: :values', + 'filled' => 'Полето :attribute е задължителен.', '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.', + 'numeric' => ':attribute трябва да бъде по-голям от :value.', + 'file' => 'Големината на :attribute трябва да бъде по-голямо от :value килобайта.', + 'string' => 'Дължината на :attribute трябва да бъде по-голямо от :value символа.', '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.', + 'file' => 'Големината на :attribute трябва да бъде по-голямо или равно на :value килобайта.', + 'string' => 'Дължината на :attribute трябва да бъде по-голямо или равно на :value символа.', '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.', + 'exists' => 'Избраният :attribute е невалиден.', + 'image' => ':attribute трябва да e изображение.', + 'image_extension' => ':attribute трябва да е валиден и/или допустим графичен файлов формат.', + 'in' => 'Избраният :attribute е невалиден.', + 'integer' => ':attribute трябва да бъде цяло число.', + 'ip' => ':attribute трябва да бъде валиден IP адрес.', + 'ipv4' => ':attribute трябва да бъде валиден IPv4 адрес.', + 'ipv6' => ':attribute трябва да бъде валиден IPv6 адрес.', + 'json' => ':attribute трябва да съдържа валиден JSON.', '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.', + 'numeric' => ':attribute трябва да бъде по-малко от :value.', + 'file' => 'Големината на :attribute трябва да бъде по-малко от :value килобайта.', + 'string' => 'Дължината на :attribute трябва да бъде по-малко от :value символа.', '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.', + 'numeric' => ':attribute трябва да бъде по-малко или равно на :value.', + 'file' => 'Големината на :attribute трябва да бъде по-малко или равно на :value килобайта.', + 'string' => 'Дължината на :attribute трябва да бъде по-малко или равно на :value символа.', '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.', + 'numeric' => ':attribute не трябва да бъде по-голям от :max.', + 'file' => 'Големината на :attribute не може да бъде по-голямо от :value килобайта.', + 'string' => 'Дължината на :attribute не може да бъде по-голямо от :value символа.', 'array' => 'The :attribute may not have more than :max items.', ], 'mimes' => 'The :attribute must be a file of type: :values.', diff --git a/resources/lang/es_AR/activities.php b/resources/lang/es_AR/activities.php index 0d0cbf7ed..2ee087b71 100644 --- a/resources/lang/es_AR/activities.php +++ b/resources/lang/es_AR/activities.php @@ -44,8 +44,8 @@ return [ 'bookshelf_delete_notification' => 'Estante borrado exitosamente', // Favourites - 'favourite_add_notification' => '":name" has been added to your favourites', - 'favourite_remove_notification' => '":name" has been removed from your favourites', + 'favourite_add_notification' => '".name" se añadió a sus favoritos', + 'favourite_remove_notification' => '".name" se eliminó de sus favoritos', // Other 'commented_on' => 'comentado', diff --git a/resources/lang/es_AR/common.php b/resources/lang/es_AR/common.php index dd4c0be4c..190d99c1c 100644 --- a/resources/lang/es_AR/common.php +++ b/resources/lang/es_AR/common.php @@ -40,10 +40,10 @@ return [ 'remove' => 'Remover', 'add' => 'Agregar', 'fullscreen' => 'Pantalla completa', - 'favourite' => 'Añadir a favoritos', + 'favourite' => 'Favoritos', 'unfavourite' => 'Eliminar de favoritos', - 'next' => 'Next', - 'previous' => 'Previous', + 'next' => 'Siguiente', + 'previous' => 'Anterior', // Sort Options 'sort_options' => 'Opciones de Orden', @@ -58,7 +58,7 @@ return [ // Misc 'deleted_user' => 'Usuario borrado', 'no_activity' => 'Ninguna actividad para mostrar', - 'no_items' => 'No hay items disponibles', + 'no_items' => 'No hay elementos disponibles', 'back_to_top' => 'Volver arriba', 'toggle_details' => 'Alternar detalles', 'toggle_thumbnails' => 'Alternar miniaturas', diff --git a/resources/lang/es_AR/entities.php b/resources/lang/es_AR/entities.php index e1252b0e2..02c2dcbb9 100644 --- a/resources/lang/es_AR/entities.php +++ b/resources/lang/es_AR/entities.php @@ -27,8 +27,8 @@ return [ 'images' => 'Imágenes', 'my_recent_drafts' => 'Mis borradores recientes', 'my_recently_viewed' => 'Mis visualizaciones recientes', - 'my_most_viewed_favourites' => 'My Most Viewed Favourites', - 'my_favourites' => 'My Favourites', + 'my_most_viewed_favourites' => 'Mis Favoritos Más Vistos', + 'my_favourites' => 'Mis Favoritos', 'no_pages_viewed' => 'Ud. no ha visto ninguna página', 'no_pages_recently_created' => 'Ninguna página ha sido creada recientemente', 'no_pages_recently_updated' => 'Ninguna página ha sido actualizada recientemente', diff --git a/resources/lang/fr/common.php b/resources/lang/fr/common.php index 7d3ea6da0..6203c7326 100644 --- a/resources/lang/fr/common.php +++ b/resources/lang/fr/common.php @@ -42,8 +42,8 @@ return [ 'fullscreen' => 'Plein écran', 'favourite' => 'Favoris', 'unfavourite' => 'Supprimer des favoris', - 'next' => 'Next', - 'previous' => 'Previous', + 'next' => 'Suivant', + 'previous' => 'Précédent', // Sort Options 'sort_options' => 'Options de tri', diff --git a/resources/lang/id/activities.php b/resources/lang/id/activities.php index ac3293c1b..1255e32dc 100644 --- a/resources/lang/id/activities.php +++ b/resources/lang/id/activities.php @@ -6,10 +6,10 @@ return [ // Pages - 'page_create' => 'halaman dibuat', + 'page_create' => 'telah membuat halaman', 'page_create_notification' => 'Halaman Berhasil dibuat', 'page_update' => 'halaman diperbaharui', - 'page_update_notification' => 'Berhasil mengupdate halaman', + 'page_update_notification' => 'Halaman Berhasil Diperbarui', 'page_delete' => 'halaman dihapus', 'page_delete_notification' => 'Berhasil menghapus halaman', 'page_restore' => 'halaman telah dipulihkan', @@ -20,7 +20,7 @@ return [ 'chapter_create' => 'membuat bab', 'chapter_create_notification' => 'Bab berhasil dibuat', 'chapter_update' => 'bab diperbaharui', - 'chapter_update_notification' => 'Bab berhasil diupdate', + 'chapter_update_notification' => 'Bab Berhasil Dipebarui', 'chapter_delete' => 'hapus bab', 'chapter_delete_notification' => 'Bab berhasil dihapus', 'chapter_move' => 'bab dipindahkan', @@ -29,25 +29,25 @@ return [ 'book_create' => 'membuat buku', 'book_create_notification' => 'Buku berhasil dibuat', 'book_update' => 'update buku', - 'book_update_notification' => 'Buku berhasil diupdate', + 'book_update_notification' => 'Buku Berhasil Diperbarui', 'book_delete' => 'hapus buku', 'book_delete_notification' => 'Buku berhasil dihapus', - 'book_sort' => 'urutkan buku', + 'book_sort' => 'buku yang diurutkan', 'book_sort_notification' => 'Buku berhasil diurutkan', // Bookshelves 'bookshelf_create' => 'membuat rak', 'bookshelf_create_notification' => 'Rak berhasil dibuat', 'bookshelf_update' => 'update rak', - 'bookshelf_update_notification' => 'Rak berhasil diupdate', + 'bookshelf_update_notification' => 'Rak Berhasil Diperbarui', 'bookshelf_delete' => 'hapus rak buku', 'bookshelf_delete_notification' => 'Rak berhasil dihapus', // Favourites - 'favourite_add_notification' => '":name" has been added to your favourites', - 'favourite_remove_notification' => '":name" has been removed from your favourites', + 'favourite_add_notification' => '":name" telah ditambahkan ke favorit Anda', + 'favourite_remove_notification' => '":name" telah dihapus dari favorit Anda', // Other 'commented_on' => 'berkomentar pada', - 'permissions_update' => 'perbaharui izin', + 'permissions_update' => 'izin diperbarui', ]; diff --git a/resources/lang/it/activities.php b/resources/lang/it/activities.php index 7b9561561..11c52b696 100755 --- a/resources/lang/it/activities.php +++ b/resources/lang/it/activities.php @@ -44,8 +44,8 @@ return [ 'bookshelf_delete_notification' => 'Libreria Eliminata Correttamente', // Favourites - 'favourite_add_notification' => '":name" has been added to your favourites', - 'favourite_remove_notification' => '":name" has been removed from your favourites', + 'favourite_add_notification' => '":name" è stato aggiunto ai tuoi preferiti', + 'favourite_remove_notification' => '":name" è stato rimosso dai tuoi preferiti', // Other 'commented_on' => 'ha commentato in', diff --git a/resources/lang/it/common.php b/resources/lang/it/common.php index 635bf7de5..f33aa4cd3 100755 --- a/resources/lang/it/common.php +++ b/resources/lang/it/common.php @@ -40,10 +40,10 @@ return [ 'remove' => 'Rimuovi', 'add' => 'Aggiungi', 'fullscreen' => 'Schermo intero', - 'favourite' => 'Favourite', - 'unfavourite' => 'Unfavourite', - 'next' => 'Next', - 'previous' => 'Previous', + 'favourite' => 'Aggiungi ai Preferiti', + 'unfavourite' => 'Rimuovi dai preferiti', + 'next' => 'Successivo', + 'previous' => 'Precedente', // Sort Options 'sort_options' => 'Opzioni Ordinamento', diff --git a/resources/lang/it/entities.php b/resources/lang/it/entities.php index 30bc5768d..9d5e8c2ab 100755 --- a/resources/lang/it/entities.php +++ b/resources/lang/it/entities.php @@ -27,8 +27,8 @@ return [ 'images' => 'Immagini', 'my_recent_drafts' => 'Bozze Recenti', 'my_recently_viewed' => 'Visti di recente', - 'my_most_viewed_favourites' => 'My Most Viewed Favourites', - 'my_favourites' => 'My Favourites', + 'my_most_viewed_favourites' => 'I Miei Preferiti Più Visti', + 'my_favourites' => 'I miei Preferiti', 'no_pages_viewed' => 'Non hai visto nessuna pagina', 'no_pages_recently_created' => 'Nessuna pagina è stata creata di recente', 'no_pages_recently_updated' => 'Nessuna pagina è stata aggiornata di recente', diff --git a/resources/lang/it/errors.php b/resources/lang/it/errors.php index 67497f675..9a20c744b 100755 --- a/resources/lang/it/errors.php +++ b/resources/lang/it/errors.php @@ -83,9 +83,9 @@ return [ '404_page_not_found' => 'Pagina Non Trovata', 'sorry_page_not_found' => 'La pagina che stavi cercando non è stata trovata.', 'sorry_page_not_found_permission_warning' => 'Se pensi che questa pagina possa esistere, potresti non avere i permessi per visualizzarla.', - '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.', + 'image_not_found' => 'Immagine non trovata', + 'image_not_found_subtitle' => 'Spiacente, l\'immagine che stai cercando non è stata trovata.', + 'image_not_found_details' => 'Se ti aspettavi che questa immagine esistesse, potrebbe essere stata cancellata.', 'return_home' => 'Ritorna alla home', 'error_occurred' => 'C\'è Stato un errore', 'app_down' => ':appName è offline', diff --git a/resources/lang/it/settings.php b/resources/lang/it/settings.php index 64118a032..f8dae52ca 100755 --- a/resources/lang/it/settings.php +++ b/resources/lang/it/settings.php @@ -85,12 +85,12 @@ return [ 'maint_send_test_email_mail_subject' => 'Email di Test', 'maint_send_test_email_mail_greeting' => 'L\'invio delle email sembra funzionare!', 'maint_send_test_email_mail_text' => 'Congratulazioni! Siccome hai ricevuto questa notifica email, le tue impostazioni sembrano essere configurate correttamente.', - '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_desc' => 'Le librerie, i libri, i capitoli e le pagine cancellati vengono inviati al cestino in modo che possano essere ripristinati o eliminati definitivamente. Gli elementi più vecchi nel cestino possono essere automaticamente rimossi dopo un certo periodo, a seconda della configurazione del sistema.', 'maint_recycle_bin_open' => 'Apri il Cestino', // Recycle Bin 'recycle_bin' => 'Cestino', - '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_desc' => 'Qui è possibile ripristinare gli elementi che sono stati eliminati o scegliere di rimuoverli definitivamente dal sistema. Questo elenco non è filtrato a differenza di elenchi di attività simili nel sistema in cui vengono applicati i filtri autorizzazioni.', 'recycle_bin_deleted_item' => 'Elimina Elemento', 'recycle_bin_deleted_by' => 'Cancellato da', 'recycle_bin_deleted_at' => 'Orario Cancellazione', @@ -102,7 +102,7 @@ return [ 'recycle_bin_destroy_confirm' => 'Questa operazione eliminerà permanentemente questo elemento (insieme a tutti i relativi elementi elencati qui sotto) dal sistema e non sarà più possibile recuperarlo. Sei sicuro di voler eliminare permanentemente questo elemento?', 'recycle_bin_destroy_list' => 'Elementi da Eliminare definitivamente', 'recycle_bin_restore_list' => 'Elementi da Ripristinare', - '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_confirm' => 'Questa azione ripristinerà l\'elemento eliminato, compresi gli elementi figli, nella loro posizione originale. Se la posizione originale è stata eliminata, ed è ora nel cestino, anche l\'elemento padre dovrà essere ripristinato.', 'recycle_bin_restore_deleted_parent' => 'L\'elemento padre di questo elemento è stato eliminato. Questo elemento rimarrà eliminato fino a che l\'elemento padre non sarà ripristinato.', 'recycle_bin_destroy_notification' => 'Eliminati :count elementi dal cestino.', 'recycle_bin_restore_notification' => 'Ripristinati :count elementi dal cestino.', @@ -146,7 +146,7 @@ return [ 'role_access_api' => 'API sistema d\'accesso', 'role_manage_settings' => 'Gestire impostazioni app', 'role_asset' => 'Permessi Entità', - 'roles_system_warning' => 'Be aware that access to any of the above three permissions can allow a user to alter their own privileges or the privileges of others in the system. Only assign roles with these permissions to trusted users.', + 'roles_system_warning' => 'Siate consapevoli che l\'accesso a uno dei tre permessi qui sopra, può consentire a un utente di modificare i propri privilegi o i privilegi di altri nel sistema. Assegna ruoli con questi permessi solo ad utenti fidati.', 'role_asset_desc' => 'Questi permessi controllano l\'accesso di default alle entità. I permessi nei Libri, Capitoli e Pagine sovrascriveranno questi.', 'role_asset_admins' => 'Gli amministratori hanno automaticamente accesso a tutti i contenuti ma queste opzioni possono mostrare o nascondere le opzioni della UI.', 'role_all' => 'Tutti', @@ -181,7 +181,7 @@ return [ 'users_delete_warning' => 'Questo eliminerà completamente l\'utente \':userName\' dal sistema.', 'users_delete_confirm' => 'Sei sicuro di voler eliminare questo utente?', 'users_migrate_ownership' => 'Cambia Proprietario', - '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_migrate_ownership_desc' => 'Seleziona qui un utente se vuoi che un altro utente diventi il proprietario di tutti gli elementi attualmente di proprietà di questo utente.', 'users_none_selected' => 'Nessun utente selezionato', 'users_delete_success' => 'Utente rimosso con successo', 'users_edit' => 'Modifica Utente', diff --git a/resources/lang/lv/common.php b/resources/lang/lv/common.php index 2c94f8c41..f99419c93 100644 --- a/resources/lang/lv/common.php +++ b/resources/lang/lv/common.php @@ -40,10 +40,10 @@ return [ 'remove' => 'Noņemt', 'add' => 'Pievienot', 'fullscreen' => 'Pilnekrāns', - 'favourite' => 'Favourite', - 'unfavourite' => 'Unfavourite', - 'next' => 'Next', - 'previous' => 'Previous', + 'favourite' => 'Pievienot favorītiem', + 'unfavourite' => 'Noņemt no favorītiem', + 'next' => 'Nākamais', + 'previous' => 'Iepriekšējais', // Sort Options 'sort_options' => 'Kārtošanas Opcijas', diff --git a/resources/lang/lv/entities.php b/resources/lang/lv/entities.php index 74643da0e..0a01b9bf3 100644 --- a/resources/lang/lv/entities.php +++ b/resources/lang/lv/entities.php @@ -27,7 +27,7 @@ return [ 'images' => 'Attēli', 'my_recent_drafts' => 'Mani melnraksti', 'my_recently_viewed' => 'Mani nesen skatītie', - 'my_most_viewed_favourites' => 'Mani visvairāk skatītie favorīti', + 'my_most_viewed_favourites' => 'Mani biežāk skatītie favorīti', 'my_favourites' => 'Mani favorīti', 'no_pages_viewed' => 'Neviena lapa vēl nav skatīta', 'no_pages_recently_created' => 'Nav radīta neviena lapa', diff --git a/resources/lang/ru/activities.php b/resources/lang/ru/activities.php index 94dbd0b07..4f9fb07e9 100644 --- a/resources/lang/ru/activities.php +++ b/resources/lang/ru/activities.php @@ -44,8 +44,8 @@ return [ 'bookshelf_delete_notification' => 'Полка успешно удалена', // Favourites - 'favourite_add_notification' => '":name" has been added to your favourites', - 'favourite_remove_notification' => '":name" has been removed from your favourites', + 'favourite_add_notification' => '":name" добавлено в избранное', + 'favourite_remove_notification' => ':name" удалено из избранного', // Other 'commented_on' => 'прокомментировал', diff --git a/resources/lang/ru/common.php b/resources/lang/ru/common.php index f4035c0f3..fce83880e 100644 --- a/resources/lang/ru/common.php +++ b/resources/lang/ru/common.php @@ -40,10 +40,10 @@ return [ 'remove' => 'Удалить', 'add' => 'Добавить', 'fullscreen' => 'На весь экран', - 'favourite' => 'Favourite', - 'unfavourite' => 'Unfavourite', - 'next' => 'Next', - 'previous' => 'Previous', + 'favourite' => 'Избранное', + 'unfavourite' => 'Убрать из избранного', + 'next' => 'Следующая', + 'previous' => 'Предыдущая', // Sort Options 'sort_options' => 'Параметры сортировки', diff --git a/resources/lang/ru/entities.php b/resources/lang/ru/entities.php index bd3702d4b..6d666b504 100644 --- a/resources/lang/ru/entities.php +++ b/resources/lang/ru/entities.php @@ -27,8 +27,8 @@ return [ 'images' => 'Изображения', 'my_recent_drafts' => 'Мои последние черновики', 'my_recently_viewed' => 'Мои недавние просмотры', - 'my_most_viewed_favourites' => 'My Most Viewed Favourites', - 'my_favourites' => 'My Favourites', + 'my_most_viewed_favourites' => 'Популярное избранное', + 'my_favourites' => 'Мое избранное', 'no_pages_viewed' => 'Вы не просматривали ни одной страницы', 'no_pages_recently_created' => 'Нет недавно созданных страниц', 'no_pages_recently_updated' => 'Нет недавно обновленных страниц', diff --git a/resources/lang/sv/activities.php b/resources/lang/sv/activities.php index dbbdb3e7c..30c157a66 100644 --- a/resources/lang/sv/activities.php +++ b/resources/lang/sv/activities.php @@ -44,8 +44,8 @@ return [ 'bookshelf_delete_notification' => 'Hyllan har tagits bort', // Favourites - 'favourite_add_notification' => '":name" has been added to your favourites', - 'favourite_remove_notification' => '":name" has been removed from your favourites', + 'favourite_add_notification' => '":name" har lagts till i dina favoriter', + 'favourite_remove_notification' => '":name" har tagits bort från dina favoriter', // Other 'commented_on' => 'kommenterade', diff --git a/resources/lang/sv/common.php b/resources/lang/sv/common.php index dab22f0c5..1482eeaab 100644 --- a/resources/lang/sv/common.php +++ b/resources/lang/sv/common.php @@ -40,10 +40,10 @@ return [ 'remove' => 'Radera', 'add' => 'Lägg till', 'fullscreen' => 'Helskärm', - 'favourite' => 'Favourite', - 'unfavourite' => 'Unfavourite', - 'next' => 'Next', - 'previous' => 'Previous', + 'favourite' => 'Favorit', + 'unfavourite' => 'Ta bort favorit', + 'next' => 'Nästa', + 'previous' => 'Föregående', // Sort Options 'sort_options' => 'Sorteringsalternativ', @@ -51,7 +51,7 @@ return [ 'sort_ascending' => 'Sortera stigande', 'sort_descending' => 'Sortera fallande', 'sort_name' => 'Namn', - 'sort_default' => 'Default', + 'sort_default' => 'Standard', 'sort_created_at' => 'Skapad', 'sort_updated_at' => 'Uppdaterad', @@ -69,7 +69,7 @@ return [ 'breadcrumb' => 'Brödsmula', // Header - 'header_menu_expand' => 'Expand Header Menu', + 'header_menu_expand' => 'Expandera sidhuvudsmenyn', 'profile_menu' => 'Profilmeny', 'view_profile' => 'Visa profil', 'edit_profile' => 'Redigera profil', @@ -78,9 +78,9 @@ return [ // Layout tabs 'tab_info' => 'Information', - 'tab_info_label' => 'Tab: Show Secondary Information', + 'tab_info_label' => 'Flik: Visa sekundär information', 'tab_content' => 'Innehåll', - 'tab_content_label' => 'Tab: Show Primary Content', + 'tab_content_label' => 'Flik: Visa primärt innehåll', // Email Content 'email_action_help' => 'Om du har problem, klicka på knappen ":actionText", och kopiera och klistra in den här adressen i din webbläsare:', @@ -88,6 +88,6 @@ return [ // Footer Link Options // Not directly used but available for convenience to users. - 'privacy_policy' => 'Privacy Policy', - 'terms_of_service' => 'Terms of Service', + 'privacy_policy' => 'Integritetspolicy', + 'terms_of_service' => 'Användarvillkor', ]; diff --git a/resources/lang/sv/entities.php b/resources/lang/sv/entities.php index f635943ae..ce0dfddf2 100644 --- a/resources/lang/sv/entities.php +++ b/resources/lang/sv/entities.php @@ -22,13 +22,13 @@ return [ 'meta_created_name' => 'Skapad :timeLength av :user', 'meta_updated' => 'Uppdaterad :timeLength', 'meta_updated_name' => 'Uppdaterad :timeLength av :user', - 'meta_owned_name' => 'Owned by :user', + 'meta_owned_name' => 'Ägs av :user', 'entity_select' => 'Välj enhet', 'images' => 'Bilder', 'my_recent_drafts' => 'Mina nyaste utkast', 'my_recently_viewed' => 'Mina senast visade sidor', - 'my_most_viewed_favourites' => 'My Most Viewed Favourites', - 'my_favourites' => 'My Favourites', + 'my_most_viewed_favourites' => 'Mina mest visade favoriter', + 'my_favourites' => 'Mina favoriter', 'no_pages_viewed' => 'Du har inte visat några sidor', 'no_pages_recently_created' => 'Inga sidor har skapats nyligen', 'no_pages_recently_updated' => 'Inga sidor har uppdaterats nyligen', @@ -42,7 +42,7 @@ return [ 'permissions_intro' => 'Dessa rättigheter kommer att överskrida eventuella rollbaserade rättigheter.', 'permissions_enable' => 'Aktivera anpassade rättigheter', 'permissions_save' => 'Spara rättigheter', - 'permissions_owner' => 'Owner', + 'permissions_owner' => 'Ägare', // Search 'search_results' => 'Sökresultat', @@ -62,7 +62,7 @@ return [ 'search_permissions_set' => 'Har anpassade rättigheter', 'search_created_by_me' => 'Skapade av mig', 'search_updated_by_me' => 'Uppdaterade av mig', - 'search_owned_by_me' => 'Owned by me', + 'search_owned_by_me' => 'Ägs av mig', 'search_date_options' => 'Datumalternativ', 'search_updated_before' => 'Uppdaterade före', 'search_updated_after' => 'Uppdaterade efter', @@ -213,7 +213,7 @@ return [ 'pages_revisions' => 'Sidrevisioner', 'pages_revisions_named' => 'Sidrevisioner för :pageName', 'pages_revision_named' => 'Sidrevision för :pageName', - 'pages_revision_restored_from' => 'Restored from #:id; :summary', + 'pages_revision_restored_from' => 'Återställd från #:id; :summary', 'pages_revisions_created_by' => 'Skapad av', 'pages_revisions_date' => 'Revisionsdatum', 'pages_revisions_number' => '#', diff --git a/resources/lang/sv/errors.php b/resources/lang/sv/errors.php index 125fcbfd0..b8216a42f 100644 --- a/resources/lang/sv/errors.php +++ b/resources/lang/sv/errors.php @@ -83,9 +83,9 @@ return [ '404_page_not_found' => 'Sidan hittades inte', 'sorry_page_not_found' => 'Tyvärr gick det inte att hitta sidan du söker.', 'sorry_page_not_found_permission_warning' => 'Om du förväntade dig att denna sida skulle existera, kanske du inte har behörighet att se den.', - '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.', + 'image_not_found' => 'Bilden hittades inte', + 'image_not_found_subtitle' => 'Tyvärr gick det inte att hitta bilden du letade efter.', + 'image_not_found_details' => 'Om du förväntade dig att den här bilden skulle finnas kan den ha tagits bort.', 'return_home' => 'Återvänd till startsidan', 'error_occurred' => 'Ett fel inträffade', 'app_down' => ':appName är nere just nu', diff --git a/resources/lang/sv/settings.php b/resources/lang/sv/settings.php index 07b1b5d4a..2250d30e2 100644 --- a/resources/lang/sv/settings.php +++ b/resources/lang/sv/settings.php @@ -37,11 +37,11 @@ return [ 'app_homepage' => 'Startsida', 'app_homepage_desc' => 'Välj en sida att använda som startsida istället för standardvyn. Den valda sidans rättigheter kommer att ignoreras.', 'app_homepage_select' => 'Välj en sida', - 'app_footer_links' => 'Footer Links', - 'app_footer_links_desc' => 'Add links to show within the site footer. These will be displayed at the bottom of most pages, including those that do not require login. You can use a label of "trans::" to use system-defined translations. For example: Using "trans::common.privacy_policy" will provide the translated text "Privacy Policy" and "trans::common.terms_of_service" will provide the translated text "Terms of Service".', - 'app_footer_links_label' => 'Link Label', - 'app_footer_links_url' => 'Link URL', - 'app_footer_links_add' => 'Add Footer Link', + 'app_footer_links' => 'Sidfotslänkar', + 'app_footer_links_desc' => 'Lägg till länkar som visas i sidfoten. Dessa kommer att visas längst ner på de flesta sidor, inklusive de som inte kräver inloggning. Du kan använda en etikett av "trans::" för att använda systemdefinierade översättningar. Exempelvis översätts "trans::common.privacy_policy" till "Integritetspolicy" och "trans::common.terms_of_service" till "Användarvillkor".', + 'app_footer_links_label' => 'Länketikett', + 'app_footer_links_url' => 'Länk URL', + 'app_footer_links_add' => 'Lägg till sidfotslänk', 'app_disable_comments' => 'Inaktivera kommentarer', 'app_disable_comments_toggle' => 'Inaktivera kommentarer', 'app_disable_comments_desc' => 'Inaktivera kommentarer på alla sidor i applikationen. Befintliga kommentarer visas inte.', @@ -180,10 +180,10 @@ return [ 'users_delete_named' => 'Ta bort användaren :userName', 'users_delete_warning' => 'Detta kommer att ta bort användaren \':userName\' från systemet helt och hållet.', 'users_delete_confirm' => 'Är du säker på att du vill ta bort användaren?', - 'users_migrate_ownership' => 'Migrate Ownership', - 'users_migrate_ownership_desc' => 'Select a user here if you want another user to become the owner of all items currently owned by this user.', - 'users_none_selected' => 'No user selected', - 'users_delete_success' => 'User successfully removed', + 'users_migrate_ownership' => 'Överför ägarskap', + 'users_migrate_ownership_desc' => 'Välj en användare här om du vill att en annan användare ska bli ägare till alla objekt som för närvarande ägs av denna användare.', + 'users_none_selected' => 'Ingen användare vald', + 'users_delete_success' => 'Användaren har tagits bort', 'users_edit' => 'Redigera användare', 'users_edit_profile' => 'Redigera profil', 'users_edit_success' => 'Användaren har uppdaterats', @@ -232,7 +232,7 @@ return [ 'ar' => 'العربية', 'bg' => 'Bǎlgarski', 'bs' => 'Bosanski', - 'ca' => 'Català', + 'ca' => 'Katalanska', 'cs' => 'Česky', 'da' => 'Danska', 'de' => 'Deutsch (Sie)', diff --git a/resources/lang/tr/activities.php b/resources/lang/tr/activities.php index 0c5e11d7c..9bcd1891f 100644 --- a/resources/lang/tr/activities.php +++ b/resources/lang/tr/activities.php @@ -44,8 +44,8 @@ return [ 'bookshelf_delete_notification' => 'Kitaplık Başarıyla Silindi', // Favourites - 'favourite_add_notification' => '":name" has been added to your favourites', - 'favourite_remove_notification' => '":name" has been removed from your favourites', + 'favourite_add_notification' => '":name" favorilerinize eklendi', + 'favourite_remove_notification' => '":name" favorilerinizden çıkarıldı', // Other 'commented_on' => 'yorum yaptı', From 8897945609667c76166df0f51dc10c5a48f9fd4d Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Wed, 2 Jun 2021 22:15:58 +0100 Subject: [PATCH 07/13] Roll-out and re-fix of croation via crowdin (#2785) * New translations auth.php (Croatian) * New translations activities.php (Croatian) * New translations activities.php (German Informal) * New translations common.php (Croatian) * New translations passwords.php (Croatian) * New translations settings.php (Czech) * New translations settings.php (Spanish) * New translations settings.php (Catalan) * New translations settings.php (Arabic) * New translations settings.php (French) * New translations pagination.php (Croatian) * New translations settings.php (German) * New translations settings.php (Danish) * New translations settings.php (Chinese Simplified) * New translations settings.php (Hebrew) * New translations validation.php (Korean) * New translations validation.php (Croatian) * New translations settings.php (Hungarian) * New translations settings.php (Chinese Traditional) * New translations settings.php (Japanese) * New translations settings.php (Korean) * New translations settings.php (Dutch) * New translations settings.php (Polish) * New translations settings.php (Portuguese) * New translations settings.php (Russian) * New translations settings.php (Slovak) * New translations settings.php (Slovenian) * New translations settings.php (Turkish) * New translations settings.php (Ukrainian) * New translations settings.php (Vietnamese) * New translations settings.php (Portuguese, Brazilian) * New translations settings.php (Indonesian) * New translations settings.php (Persian) * New translations settings.php (Spanish, Argentina) * New translations settings.php (Croatian) * New translations settings.php (Latvian) * New translations settings.php (Bosnian) * New translations settings.php (Norwegian Bokmal) * New translations settings.php (German Informal) * New translations entities.php (German Informal) * New translations settings.php (Italian) * New translations settings.php (Swedish) * New translations settings.php (Bulgarian) * New translations errors.php (German Informal) * New translations errors.php (Croatian) * New translations components.php (Croatian) * New translations entities.php (Croatian) * New translations pagination.php (Croatian) * New translations entities.php (Croatian) * New translations components.php (Croatian) * New translations errors.php (Croatian) * New translations settings.php (Croatian) * New translations validation.php (Croatian) * New translations passwords.php (Croatian) * New translations auth.php (Croatian) * New translations common.php (Croatian) * New translations activities.php (Croatian) --- resources/lang/ar/settings.php | 1 + resources/lang/bg/settings.php | 1 + resources/lang/bs/settings.php | 1 + resources/lang/ca/settings.php | 1 + resources/lang/cs/settings.php | 1 + resources/lang/da/settings.php | 1 + resources/lang/de/settings.php | 1 + resources/lang/de_informal/activities.php | 4 +- resources/lang/de_informal/entities.php | 4 +- resources/lang/de_informal/errors.php | 6 +- resources/lang/de_informal/settings.php | 1 + resources/lang/es/settings.php | 1 + resources/lang/es_AR/settings.php | 1 + resources/lang/fa/settings.php | 1 + resources/lang/fr/settings.php | 1 + resources/lang/he/settings.php | 1 + resources/lang/hr/activities.php | 2 + resources/lang/hr/auth.php | 2 +- resources/lang/hr/common.php | 4 ++ resources/lang/hr/entities.php | 10 +++- resources/lang/hr/errors.php | 4 ++ resources/lang/hr/passwords.php | 1 + resources/lang/hr/settings.php | 3 + resources/lang/hu/settings.php | 1 + resources/lang/id/settings.php | 1 + resources/lang/it/settings.php | 1 + resources/lang/ja/settings.php | 1 + resources/lang/ko/settings.php | 67 ++++++++++++----------- resources/lang/ko/validation.php | 2 +- resources/lang/lv/settings.php | 1 + resources/lang/nb/settings.php | 1 + resources/lang/nl/settings.php | 1 + resources/lang/pl/settings.php | 1 + resources/lang/pt/settings.php | 1 + resources/lang/pt_BR/settings.php | 1 + resources/lang/ru/settings.php | 1 + resources/lang/sk/settings.php | 1 + resources/lang/sl/settings.php | 1 + resources/lang/sv/settings.php | 1 + resources/lang/tr/settings.php | 1 + resources/lang/uk/settings.php | 1 + resources/lang/vi/settings.php | 1 + resources/lang/zh_CN/settings.php | 1 + resources/lang/zh_TW/settings.php | 1 + 44 files changed, 96 insertions(+), 45 deletions(-) diff --git a/resources/lang/ar/settings.php b/resources/lang/ar/settings.php index 20789d842..88f68a2f8 100755 --- a/resources/lang/ar/settings.php +++ b/resources/lang/ar/settings.php @@ -241,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'עברית', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/bg/settings.php b/resources/lang/bg/settings.php index dad9054ef..c32d3a5dd 100644 --- a/resources/lang/bg/settings.php +++ b/resources/lang/bg/settings.php @@ -241,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'עברית', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/bs/settings.php b/resources/lang/bs/settings.php index ab7f15322..8a7946b12 100644 --- a/resources/lang/bs/settings.php +++ b/resources/lang/bs/settings.php @@ -241,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'עברית', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/ca/settings.php b/resources/lang/ca/settings.php index 6ce3b1903..165c014b4 100755 --- a/resources/lang/ca/settings.php +++ b/resources/lang/ca/settings.php @@ -241,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'עברית', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/cs/settings.php b/resources/lang/cs/settings.php index 1dc4000aa..86b94956f 100644 --- a/resources/lang/cs/settings.php +++ b/resources/lang/cs/settings.php @@ -241,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'עברית', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/da/settings.php b/resources/lang/da/settings.php index e0640888b..7bbc31edb 100644 --- a/resources/lang/da/settings.php +++ b/resources/lang/da/settings.php @@ -241,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'Hebraisk', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/de/settings.php b/resources/lang/de/settings.php index 71276c034..a853a0b62 100644 --- a/resources/lang/de/settings.php +++ b/resources/lang/de/settings.php @@ -244,6 +244,7 @@ Hinweis: Benutzer können ihre E-Mail Adresse nach erfolgreicher Registrierung 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'Hebräisch', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/de_informal/activities.php b/resources/lang/de_informal/activities.php index abc1971f0..fbaa9a211 100644 --- a/resources/lang/de_informal/activities.php +++ b/resources/lang/de_informal/activities.php @@ -44,8 +44,8 @@ return [ 'bookshelf_delete_notification' => 'Das Bücherregal wurde erfolgreich gelöscht', // Favourites - 'favourite_add_notification' => '":name" has been added to your favourites', - 'favourite_remove_notification' => '":name" has been removed from your favourites', + 'favourite_add_notification' => '":name" wurde zu deinen Favoriten hinzugefügt', + 'favourite_remove_notification' => '":name" wurde aus Ihren Favoriten entfernt', // Other 'commented_on' => 'kommentiert', diff --git a/resources/lang/de_informal/entities.php b/resources/lang/de_informal/entities.php index f0ab52f20..5377b1017 100644 --- a/resources/lang/de_informal/entities.php +++ b/resources/lang/de_informal/entities.php @@ -27,8 +27,8 @@ return [ 'images' => 'Bilder', 'my_recent_drafts' => 'Meine kürzlichen Entwürfe', 'my_recently_viewed' => 'Kürzlich von mir angesehen', - 'my_most_viewed_favourites' => 'My Most Viewed Favourites', - 'my_favourites' => 'My Favourites', + 'my_most_viewed_favourites' => 'Meine meistgesehenen Favoriten', + 'my_favourites' => 'Meine Favoriten', 'no_pages_viewed' => 'Du hast bisher keine Seiten angesehen.', 'no_pages_recently_created' => 'Du hast bisher keine Seiten angelegt.', 'no_pages_recently_updated' => 'Du hast bisher keine Seiten aktualisiert.', diff --git a/resources/lang/de_informal/errors.php b/resources/lang/de_informal/errors.php index 15e4ba51d..181051459 100644 --- a/resources/lang/de_informal/errors.php +++ b/resources/lang/de_informal/errors.php @@ -83,9 +83,9 @@ return [ '404_page_not_found' => 'Seite nicht gefunden', 'sorry_page_not_found' => 'Entschuldigung. Die Seite, die Du angefordert hast, wurde nicht gefunden.', 'sorry_page_not_found_permission_warning' => 'Wenn du erwartet hast, dass diese Seite existiert, hast du möglicherweise nicht die Berechtigung, sie anzuzeigen.', - '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.', + 'image_not_found' => 'Bild nicht gefunden', + 'image_not_found_subtitle' => 'Entschuldigung. Das Bild, die Sie angefordert haben, wurde nicht gefunden.', + 'image_not_found_details' => 'Wenn Sie erwartet haben, dass dieses Bild existiert, könnte es gelöscht worden sein.', 'return_home' => 'Zurück zur Startseite', 'error_occurred' => 'Es ist ein Fehler aufgetreten', 'app_down' => ':appName befindet sich aktuell im Wartungsmodus.', diff --git a/resources/lang/de_informal/settings.php b/resources/lang/de_informal/settings.php index 440f54d96..5c915c537 100644 --- a/resources/lang/de_informal/settings.php +++ b/resources/lang/de_informal/settings.php @@ -244,6 +244,7 @@ Hinweis: Benutzer können ihre E-Mail Adresse nach erfolgreicher Registrierung 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'עברית', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/es/settings.php b/resources/lang/es/settings.php index d6a208b8c..0010e7cae 100644 --- a/resources/lang/es/settings.php +++ b/resources/lang/es/settings.php @@ -241,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'עברית', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/es_AR/settings.php b/resources/lang/es_AR/settings.php index cf250d79e..93d64ab3b 100644 --- a/resources/lang/es_AR/settings.php +++ b/resources/lang/es_AR/settings.php @@ -242,6 +242,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'עברית', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/fa/settings.php b/resources/lang/fa/settings.php index ab7f15322..8a7946b12 100644 --- a/resources/lang/fa/settings.php +++ b/resources/lang/fa/settings.php @@ -241,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'עברית', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/fr/settings.php b/resources/lang/fr/settings.php index fb525cec2..ab1febc65 100644 --- a/resources/lang/fr/settings.php +++ b/resources/lang/fr/settings.php @@ -241,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'Hébreu', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/he/settings.php b/resources/lang/he/settings.php index b7ce52769..a648e2e02 100755 --- a/resources/lang/he/settings.php +++ b/resources/lang/he/settings.php @@ -241,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'עברית', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/hr/activities.php b/resources/lang/hr/activities.php index 6ecf80a9b..a3340b4dd 100644 --- a/resources/lang/hr/activities.php +++ b/resources/lang/hr/activities.php @@ -44,6 +44,8 @@ return [ 'bookshelf_delete_notification' => 'Polica za knjige je uspješno izbrisana', // Favourites + 'favourite_add_notification' => '":name" has been added to your favourites', + 'favourite_remove_notification' => '":name" has been removed from your favourites', // Other 'commented_on' => 'komentirano', diff --git a/resources/lang/hr/auth.php b/resources/lang/hr/auth.php index 55a2cb3b5..9680cc700 100644 --- a/resources/lang/hr/auth.php +++ b/resources/lang/hr/auth.php @@ -73,5 +73,5 @@ return [ 'user_invite_page_welcome' => 'Dobrodošli u :appName!', 'user_invite_page_text' => 'Da biste postavili račun i dobili pristup trebate unijeti lozinku kojom ćete se ubuduće prijaviti na :appName.', 'user_invite_page_confirm_button' => 'Potvrdite lozinku', - 'user_invite_success' => 'Lozinka je postavljena, možete pristupiti :appName!', + 'user_invite_success' => 'Lozinka je postavljena, možete pristupiti :appName!' ]; \ No newline at end of file diff --git a/resources/lang/hr/common.php b/resources/lang/hr/common.php index 8f98f3d74..1df3c227c 100644 --- a/resources/lang/hr/common.php +++ b/resources/lang/hr/common.php @@ -40,6 +40,10 @@ return [ 'remove' => 'Ukloni', 'add' => 'Dodaj', 'fullscreen' => 'Cijeli zaslon', + 'favourite' => 'Favourite', + 'unfavourite' => 'Unfavourite', + 'next' => 'Next', + 'previous' => 'Previous', // Sort Options 'sort_options' => 'Razvrstaj opcije', diff --git a/resources/lang/hr/entities.php b/resources/lang/hr/entities.php index 613b35ee9..e8a8004e2 100644 --- a/resources/lang/hr/entities.php +++ b/resources/lang/hr/entities.php @@ -27,6 +27,8 @@ return [ 'images' => 'Slike', 'my_recent_drafts' => 'Nedavne skice', 'my_recently_viewed' => 'Nedavno viđeno', + 'my_most_viewed_favourites' => 'My Most Viewed Favourites', + 'my_favourites' => 'My Favourites', 'no_pages_viewed' => 'Niste pogledali nijednu stranicu', 'no_pages_recently_created' => 'Nema nedavno stvorenih stranica', 'no_pages_recently_updated' => 'Nema nedavno ažuriranih stranica', @@ -91,6 +93,7 @@ return [ 'shelves_edit' => 'Uredi policu', 'shelves_delete' => 'Izbriši policu', 'shelves_delete_named' => 'Izbriši policu :name', + 'shelves_delete_explain' => "This will delete the bookshelf with the name ':name'. Contained books will not be deleted.", 'shelves_delete_confirmation' => 'Jeste li sigurni da želite obrisati policu?', 'shelves_permissions' => 'Dopuštenja za policu', 'shelves_permissions_updated' => 'Ažurirana dopuštenja za policu', @@ -246,9 +249,10 @@ return [ 'book_tags' => 'Oznake knjiga', 'shelf_tags' => 'Oznake polica', 'tag' => 'Oznaka', - 'tags' => 'Tags', - 'tag_name' => 'Tag Name', + 'tags' => 'Tags', + 'tag_name' => 'Tag Name', 'tag_value' => 'Oznaka vrijednosti (neobavezno)', + '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' => 'Dodaj oznaku', 'tags_remove' => 'Makni oznaku', 'attachments' => 'Prilozi', @@ -314,5 +318,5 @@ return [ 'revision_delete_confirm' => 'Jeste li sigurni da želite izbrisati ovaj ispravak?', 'revision_restore_confirm' => 'Jeste li sigurni da želite vratiti ovaj ispravak? Trenutni sadržaj će biti zamijenjen.', 'revision_delete_success' => 'Izbrisani ispravak', - 'revision_cannot_delete_latest' => 'Posljednji ispravak se ne može izbrisati.', + 'revision_cannot_delete_latest' => 'Posljednji ispravak se ne može izbrisati.' ]; diff --git a/resources/lang/hr/errors.php b/resources/lang/hr/errors.php index 841e7a0e5..456210829 100644 --- a/resources/lang/hr/errors.php +++ b/resources/lang/hr/errors.php @@ -24,6 +24,7 @@ return [ 'saml_invalid_response_id' => 'Sustav za autentifikaciju nije prepoznat. Ovaj problem možda je nastao zbog vraćanja nakon prijave.', 'saml_fail_authed' => 'Prijava pomoću :system nije uspjela zbog neuspješne autorizacije', 'social_no_action_defined' => 'Nije definirana nijedna radnja', + 'social_login_bad_response' => "Error received during :socialAccount login: \n:error", 'social_account_in_use' => 'Ovaj :socialAccount račun se već koristi. Pokušajte se prijaviti pomoću :socialAccount računa.', 'social_account_email_in_use' => 'Ovaj mail :email se već koristi. Ako već imate naš račun možete se prijaviti pomoću :socialAccount računa u postavkama vašeg profila.', 'social_account_existing' => 'Ovaj :socialAccount je već dodan u vaš profil.', @@ -82,6 +83,9 @@ return [ '404_page_not_found' => 'Stranica nije pronađena', 'sorry_page_not_found' => 'Žao nam je, stranica koju tražite nije pronađena.', 'sorry_page_not_found_permission_warning' => 'Ako smatrate da ova stranica još postoji, ali je ne vidite, moguće je da nemate omogućen pristup.', + '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' => 'Povratak na početno', 'error_occurred' => 'Došlo je do pogreške', 'app_down' => ':appName trenutno nije dostupna', diff --git a/resources/lang/hr/passwords.php b/resources/lang/hr/passwords.php index 71ea4e911..51104aba7 100644 --- a/resources/lang/hr/passwords.php +++ b/resources/lang/hr/passwords.php @@ -7,6 +7,7 @@ return [ 'password' => 'Lozinka mora imati najmanje 8 znakova i biti potvrđena.', + 'user' => "We can't find a user with that e-mail address.", 'token' => 'Ponovno postavljanje lozinke nemoguće putem ove adrese.', 'sent' => 'Na vašu email adresu poslana je poveznica za ponovno postavljanje!', 'reset' => 'Vaša je lozinka ponovno postavljena!', diff --git a/resources/lang/hr/settings.php b/resources/lang/hr/settings.php index ba018e30c..9c4d6ebe4 100644 --- a/resources/lang/hr/settings.php +++ b/resources/lang/hr/settings.php @@ -72,6 +72,7 @@ return [ // Maintenance settings 'maint' => 'Održavanje', 'maint_image_cleanup' => 'Čišćenje slika', + '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' => 'Izbriši slike koje postoje u prijašnjim revizijama', 'maint_image_cleanup_run' => 'Pokreni čišćenje', 'maint_image_cleanup_warning' => ':count moguće neiskorištene slike. Jeste li sigurni da želite izbrisati ove slike?', @@ -128,6 +129,7 @@ return [ 'role_delete' => 'Izbriši ulogu', 'role_delete_confirm' => 'Ovo će izbrisati ulogu povezanu s imenom \':roleName\'.', 'role_delete_users_assigned' => 'Ova uloga dodijeljena je :userCount. Ako želite premjestiti korisnike iz ove uloge odaberite novu ulogu u nastavku.', + 'role_delete_no_migration' => "Don't migrate users", 'role_delete_sure' => 'Jeste li sigurni da želite obrisati ovu ulogu?', 'role_delete_success' => 'Uloga je uspješno izbrisana', 'role_edit' => 'Uredi ulogu', @@ -239,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'עברית', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/hu/settings.php b/resources/lang/hu/settings.php index ba748aafe..d8f052008 100644 --- a/resources/lang/hu/settings.php +++ b/resources/lang/hu/settings.php @@ -241,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'עברית', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/id/settings.php b/resources/lang/id/settings.php index 7f83fbad8..7c45a7004 100644 --- a/resources/lang/id/settings.php +++ b/resources/lang/id/settings.php @@ -241,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'עברית', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/it/settings.php b/resources/lang/it/settings.php index f8dae52ca..6aaca5a23 100755 --- a/resources/lang/it/settings.php +++ b/resources/lang/it/settings.php @@ -241,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'עברית', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/ja/settings.php b/resources/lang/ja/settings.php index 91d19a8eb..b972c9b61 100644 --- a/resources/lang/ja/settings.php +++ b/resources/lang/ja/settings.php @@ -241,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'עברית', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/ko/settings.php b/resources/lang/ko/settings.php index 923d9e126..95a681eca 100755 --- a/resources/lang/ko/settings.php +++ b/resources/lang/ko/settings.php @@ -37,11 +37,11 @@ return [ 'app_homepage' => '처음 페이지', 'app_homepage_desc' => '고른 페이지에 설정한 권한은 무시합니다.', 'app_homepage_select' => '문서 고르기', - 'app_footer_links' => '푸터 링크', - 'app_footer_links_desc' => '사이트 푸터에 표시할 링크들을 추가합니다. 로그인이 필요하지 않은 페이지들을 포함하여 대부분의 페이지 하단에 표시됩니다. 시스템 정의 번역을 사용하기 위해 "trans::"를 사용할 수 있습니다. 예를 들어: "trans::common.privacy_policy"를 사용하면 번역된 "개인정보처리방침"이 제공되며, "trans::common.terms_of_service"는 번역된 "이용약관"를 제공합니다.', - 'app_footer_links_label' => '링크 라벨', - 'app_footer_links_url' => '링크 URL', - 'app_footer_links_add' => '푸터 링크 추가', + 'app_footer_links' => 'Footer Links', + 'app_footer_links_desc' => 'Add links to show within the site footer. These will be displayed at the bottom of most pages, including those that do not require login. You can use a label of "trans::" 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' => '댓글 사용 안 함', 'app_disable_comments_toggle' => '댓글 사용 안 함', 'app_disable_comments_desc' => '모든 페이지에서 댓글을 숨깁니다.', @@ -73,7 +73,7 @@ return [ 'maint' => '데이터', 'maint_image_cleanup' => '이미지 정리', 'maint_image_cleanup_desc' => "중복한 이미지를 찾습니다. 실행하기 전에 이미지를 백업하세요.", - 'maint_delete_images_only_in_revisions' => '오래된 문서 수정본에만 있는 이미지도 삭제하기', + 'maint_delete_images_only_in_revisions' => 'Also delete images that only exist in old page revisions', 'maint_image_cleanup_run' => '실행', 'maint_image_cleanup_warning' => '이미지 :count개를 지울 건가요?', 'maint_image_cleanup_success' => '이미지 :count개 삭제함', @@ -85,38 +85,38 @@ return [ 'maint_send_test_email_mail_subject' => '테스트 메일', 'maint_send_test_email_mail_greeting' => '이메일 전송이 성공하였습니다.', 'maint_send_test_email_mail_text' => '축하합니다! 이 메일을 받음으로 이메일 설정이 정상적으로 되었음을 확인하였습니다.', - 'maint_recycle_bin_desc' => '삭제된 서가, 책자, 챕터 & 문서들을 휴지통으로 보내져 복구하거나 또는 영구적으로 삭제할 수 있습니다. 휴지통의 오래된 항목은 시스템 구성에 따라 잠시 후 자동으로 삭제될 수 있습니다.', - 'maint_recycle_bin_open' => '휴지통 열기', + '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', // Recycle Bin - 'recycle_bin' => '휴지통', - 'recycle_bin_desc' => '여기서 삭제된 항목을 복원하거나 시스템에서 영구적으로 제거하도록 선택할 수 있습니다. 이 목록은 권한 필터가 적용되는 시스템의 유사한 활동 목록과 달리 필터링되지 않습니다.', - 'recycle_bin_deleted_item' => '삭제된 항목', - 'recycle_bin_deleted_by' => '삭제자', - 'recycle_bin_deleted_at' => '삭제 시간', - 'recycle_bin_permanently_delete' => '영구적으로 삭제하기', - 'recycle_bin_restore' => '복원하기', - 'recycle_bin_contents_empty' => '휴지통은 현재 비어있습니다.', - 'recycle_bin_empty' => '휴지통 비우기', - 'recycle_bin_empty_confirm' => '각 항목에 포함된 내용을 포함하여 휴지통의 모든 항목이 영구히 삭제됩니다. 휴지통을 비우시겠습니까?', - 'recycle_bin_destroy_confirm' => '이 작업을 수행하면 아래 나열된 하위 요소와 함께 이 항목이 시스템에서 영구적으로 삭제되고 이 내용을 복원할 수 없습니다. 이 항목을 완전히 삭제하시겠습니까?', - 'recycle_bin_destroy_list' => '삭제할 항목들', - 'recycle_bin_restore_list' => '복원할 항목들', - 'recycle_bin_restore_confirm' => '이 작업을 수행하면 하위 요소를 포함하여 삭제된 항목이 원래 위치로 복원됩니다. 원래 위치가 삭제되고 현재 휴지통에 있는 경우 상위 항목도 복원해야 합니다.', - 'recycle_bin_restore_deleted_parent' => '이 항목의 상위 항목도 삭제되었습니다. 상위 항목도 복원될 때까지 삭제된 상태로 유지됩니다.', - 'recycle_bin_destroy_notification' => '휴지통에서 총 :count 개의 항목들이 삭제되었습니다.', - 'recycle_bin_restore_notification' => '휴지통에서 총 :count 개의 항목들이 복원되었습니다.', + 'recycle_bin' => 'Recycle Bin', + 'recycle_bin_desc' => 'Here you can restore items that have been deleted or choose to permanently remove them from the system. This list is unfiltered unlike similar activity lists in the system where permission filters are applied.', + 'recycle_bin_deleted_item' => 'Deleted Item', + 'recycle_bin_deleted_by' => 'Deleted By', + 'recycle_bin_deleted_at' => 'Deletion Time', + 'recycle_bin_permanently_delete' => 'Permanently Delete', + 'recycle_bin_restore' => 'Restore', + 'recycle_bin_contents_empty' => 'The recycle bin is currently empty', + 'recycle_bin_empty' => 'Empty Recycle Bin', + 'recycle_bin_empty_confirm' => 'This will permanently destroy all items in the recycle bin including content contained within each item. Are you sure you want to empty the recycle bin?', + 'recycle_bin_destroy_confirm' => 'This action will permanently delete this item, along with any child elements listed below, from the system and you will not be able to restore this content. Are you sure you want to permanently delete this item?', + 'recycle_bin_destroy_list' => 'Items to be Destroyed', + 'recycle_bin_restore_list' => 'Items to be Restored', + 'recycle_bin_restore_confirm' => 'This action will restore the deleted item, including any child elements, to their original location. If the original location has since been deleted, and is now in the recycle bin, the parent item will also need to be restored.', + 'recycle_bin_restore_deleted_parent' => 'The parent of this item has also been deleted. These will remain deleted until that parent is also restored.', + 'recycle_bin_destroy_notification' => 'Deleted :count total items from the recycle bin.', + 'recycle_bin_restore_notification' => 'Restored :count total items from the recycle bin.', // Audit Log 'audit' => '감사 기록', - 'audit_desc' => '이 감사 로그는 시스템에서 추적한 활동 목록을 표시합니다. 이 목록은 권한 필터가 적용되는 시스템의 유사한 활동 목록과 달리 필터링되지 않습니다.', + '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' => '이벤트 필터', 'audit_event_filter_no_filter' => '필터 없음', 'audit_deleted_item' => '삭제된 항목', 'audit_deleted_item_name' => '이름: :name', 'audit_table_user' => '사용자', 'audit_table_event' => '이벤트', - 'audit_table_related' => '관련 항목 또는 세부 정보', + 'audit_table_related' => 'Related Item or Detail', 'audit_table_date' => '활동 날짜', 'audit_date_from' => '날짜 범위 시작', 'audit_date_to' => '날짜 범위 끝', @@ -146,7 +146,7 @@ return [ 'role_access_api' => '시스템 접근 API', 'role_manage_settings' => '사이트 설정 관리', 'role_asset' => '권한 항목', - 'roles_system_warning' => '위의 세 가지 권한 중 하나에 액세스하면 사용자가 자신의 권한이나 시스템 내 다른 사용자의 권한을 변경할 수 있습니다. 이러한 권한이 있는 역할만 신뢰할 수 있는 사용자에게 할당합니다.', + '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' => '책자, 챕터, 문서별 권한은 이 설정에 우선합니다.', 'role_asset_admins' => 'Admin 권한은 어디든 접근할 수 있지만 이 설정은 사용자 인터페이스에서 해당 활동을 표시할지 결정합니다.', 'role_all' => '모든 항목', @@ -162,7 +162,7 @@ return [ 'user_profile' => '사용자 프로필', 'users_add_new' => '사용자 만들기', 'users_search' => '사용자 검색', - 'users_latest_activity' => '최근 활동', + 'users_latest_activity' => 'Latest Activity', 'users_details' => '사용자 정보', 'users_details_desc' => '메일 주소로 로그인합니다.', 'users_details_desc_no_email' => '사용자 이름을 바꿉니다.', @@ -180,10 +180,10 @@ return [ 'users_delete_named' => ':userName 삭제', 'users_delete_warning' => ':userName에 관한 데이터를 지웁니다.', 'users_delete_confirm' => '이 사용자를 지울 건가요?', - 'users_migrate_ownership' => '소유권 이전', - 'users_migrate_ownership_desc' => '다른 사용자가 현재 이 사용자가 소유하고 있는 모든 항목의 소유자가 되려면 여기서 사용자를 선택하십시오.', - 'users_none_selected' => '선택된 사용자가 없습니다.', - 'users_delete_success' => '사용자가 성공적으로 삭제되었습니다.', + 'users_migrate_ownership' => 'Migrate Ownership', + 'users_migrate_ownership_desc' => 'Select a user here if you want another user to become the owner of all items currently owned by this user.', + 'users_none_selected' => 'No user selected', + 'users_delete_success' => 'User successfully removed', 'users_edit' => '사용자 수정', 'users_edit_profile' => '프로필 바꾸기', 'users_edit_success' => '프로필 바꿈', @@ -241,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => '히브리어', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/ko/validation.php b/resources/lang/ko/validation.php index 78b17a1d2..6754d9620 100644 --- a/resources/lang/ko/validation.php +++ b/resources/lang/ko/validation.php @@ -89,7 +89,7 @@ return [ 'required_without' => ':values(이)가 없을 때 :attribute(을)를 구성해야 합니다.', 'required_without_all' => ':values(이)가 모두 없을 때 :attribute(을)를 구성해야 합니다.', 'same' => ':attribute(와)과 :other(을)를 똑같이 구성하세요.', - 'safe_url' => '제공된 링크가 안전하지 않을 수 있습니다.', + 'safe_url' => 'The provided link may not be safe.', 'size' => [ 'numeric' => ':attribute(을)를 :size(으)로 구성하세요.', 'file' => ':attribute(을)를 :size킬로바이트로 구성하세요.', diff --git a/resources/lang/lv/settings.php b/resources/lang/lv/settings.php index decc25c86..dc00a23b3 100644 --- a/resources/lang/lv/settings.php +++ b/resources/lang/lv/settings.php @@ -241,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'עברית', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/nb/settings.php b/resources/lang/nb/settings.php index 4bd35776d..1451cff70 100644 --- a/resources/lang/nb/settings.php +++ b/resources/lang/nb/settings.php @@ -241,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'עברית', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/nl/settings.php b/resources/lang/nl/settings.php index 3efc20f84..54cee27b1 100644 --- a/resources/lang/nl/settings.php +++ b/resources/lang/nl/settings.php @@ -241,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'עברית', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/pl/settings.php b/resources/lang/pl/settings.php index 8e8a03948..98130dafa 100644 --- a/resources/lang/pl/settings.php +++ b/resources/lang/pl/settings.php @@ -241,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'עברית', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/pt/settings.php b/resources/lang/pt/settings.php index 3222d218d..c60b4dd1b 100644 --- a/resources/lang/pt/settings.php +++ b/resources/lang/pt/settings.php @@ -241,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'עברית', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/pt_BR/settings.php b/resources/lang/pt_BR/settings.php index 6e801e27d..f06ffa835 100644 --- a/resources/lang/pt_BR/settings.php +++ b/resources/lang/pt_BR/settings.php @@ -241,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'עברית', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/ru/settings.php b/resources/lang/ru/settings.php index 57e23b3c9..676fc54b2 100755 --- a/resources/lang/ru/settings.php +++ b/resources/lang/ru/settings.php @@ -241,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'עברית', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/sk/settings.php b/resources/lang/sk/settings.php index 60a1a5add..eeb237981 100644 --- a/resources/lang/sk/settings.php +++ b/resources/lang/sk/settings.php @@ -241,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'עברית', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/sl/settings.php b/resources/lang/sl/settings.php index 8373c8ceb..dc0382868 100644 --- a/resources/lang/sl/settings.php +++ b/resources/lang/sl/settings.php @@ -242,6 +242,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'עברית', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/sv/settings.php b/resources/lang/sv/settings.php index 2250d30e2..d5044efbd 100644 --- a/resources/lang/sv/settings.php +++ b/resources/lang/sv/settings.php @@ -241,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'עברית', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/tr/settings.php b/resources/lang/tr/settings.php index 8ba1192c7..4b015c042 100755 --- a/resources/lang/tr/settings.php +++ b/resources/lang/tr/settings.php @@ -241,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'İbranice', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/uk/settings.php b/resources/lang/uk/settings.php index 12c256132..fdcd67034 100644 --- a/resources/lang/uk/settings.php +++ b/resources/lang/uk/settings.php @@ -241,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'עברית', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/vi/settings.php b/resources/lang/vi/settings.php index 6f282a568..a105e82c7 100644 --- a/resources/lang/vi/settings.php +++ b/resources/lang/vi/settings.php @@ -241,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'עברית', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/zh_CN/settings.php b/resources/lang/zh_CN/settings.php index ed222d7f4..b6152425f 100755 --- a/resources/lang/zh_CN/settings.php +++ b/resources/lang/zh_CN/settings.php @@ -241,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => 'עברית', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', diff --git a/resources/lang/zh_TW/settings.php b/resources/lang/zh_TW/settings.php index 278049052..77c1d8b83 100644 --- a/resources/lang/zh_TW/settings.php +++ b/resources/lang/zh_TW/settings.php @@ -241,6 +241,7 @@ return [ 'es_AR' => 'Español Argentina', 'fr' => 'Français', 'he' => '希伯來語', + 'hr' => 'Hrvatski', 'hu' => 'Magyar', 'id' => 'Bahasa Indonesia', 'it' => 'Italian', From ef1bde8bb1c042ea124bcfb83862ba1bd61764c2 Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Fri, 4 Jun 2021 22:20:11 +0100 Subject: [PATCH 08/13] Fixed wrong styles for homepage favourites When using a non-default homepage option. Fixes #2783 --- resources/views/common/home-sidebar.blade.php | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/resources/views/common/home-sidebar.blade.php b/resources/views/common/home-sidebar.blade.php index 5db89e870..7fe0659f0 100644 --- a/resources/views/common/home-sidebar.blade.php +++ b/resources/views/common/home-sidebar.blade.php @@ -6,16 +6,14 @@ @endif @if(count($favourites) > 0) -
-

+
+
{{ trans('entities.my_most_viewed_favourites') }} -
-
- @include('partials.entity-list', [ +

+ @include('partials.entity-list', [ 'entities' => $favourites, 'style' => 'compact', - ]) -
+ ]) @endif From 807f92b6932e4c5beb4af136de6a6c7aa4a48c0c Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Fri, 4 Jun 2021 22:28:38 +0100 Subject: [PATCH 09/13] Updated homepage action button colors for consistency Were previously inconsistent with other homepage buttons for non-default homepage options. --- resources/views/common/home-book.blade.php | 4 ++-- resources/views/common/home-custom.blade.php | 4 ++-- resources/views/common/home-shelves.blade.php | 4 ++-- resources/views/common/home.blade.php | 2 +- resources/views/components/expand-toggle.blade.php | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/resources/views/common/home-book.blade.php b/resources/views/common/home-book.blade.php index 1c18edb24..9f62d21e7 100644 --- a/resources/views/common/home-book.blade.php +++ b/resources/views/common/home-book.blade.php @@ -19,8 +19,8 @@ @endif @include('partials.view-toggle', ['view' => $view, 'type' => 'books']) - @include('components.expand-toggle', ['target' => '.entity-list.compact .entity-item-snippet', 'key' => 'home-details']) - @include('partials.dark-mode-toggle', ['classes' => 'text-muted icon-list-item text-primary']) + @include('components.expand-toggle', ['classes' => 'text-primary', 'target' => '.entity-list.compact .entity-item-snippet', 'key' => 'home-details']) + @include('partials.dark-mode-toggle', ['classes' => 'icon-list-item text-primary']) @stop diff --git a/resources/views/common/home-custom.blade.php b/resources/views/common/home-custom.blade.php index e08203057..a22e26002 100644 --- a/resources/views/common/home-custom.blade.php +++ b/resources/views/common/home-custom.blade.php @@ -18,8 +18,8 @@
{{ trans('common.actions') }}
- @include('components.expand-toggle', ['target' => '.entity-list.compact .entity-item-snippet', 'key' => 'home-details']) - @include('partials.dark-mode-toggle', ['classes' => 'text-muted icon-list-item text-primary']) + @include('components.expand-toggle', ['classes' => 'text-primary', 'target' => '.entity-list.compact .entity-item-snippet', 'key' => 'home-details']) + @include('partials.dark-mode-toggle', ['classes' => 'icon-list-item text-primary'])
@stop \ No newline at end of file diff --git a/resources/views/common/home-shelves.blade.php b/resources/views/common/home-shelves.blade.php index 957fa6578..3c32fed74 100644 --- a/resources/views/common/home-shelves.blade.php +++ b/resources/views/common/home-shelves.blade.php @@ -19,8 +19,8 @@ @endif @include('partials.view-toggle', ['view' => $view, 'type' => 'shelves']) - @include('components.expand-toggle', ['target' => '.entity-list.compact .entity-item-snippet', 'key' => 'home-details']) - @include('partials.dark-mode-toggle', ['classes' => 'text-muted icon-list-item text-primary']) + @include('components.expand-toggle', ['classes' => 'text-primary', 'target' => '.entity-list.compact .entity-item-snippet', 'key' => 'home-details']) + @include('partials.dark-mode-toggle', ['classes' => 'icon-list-item text-primary']) @stop diff --git a/resources/views/common/home.blade.php b/resources/views/common/home.blade.php index 3a360b19c..187f222b5 100644 --- a/resources/views/common/home.blade.php +++ b/resources/views/common/home.blade.php @@ -6,7 +6,7 @@
- @include('components.expand-toggle', ['target' => '.entity-list.compact .entity-item-snippet', 'key' => 'home-details']) + @include('components.expand-toggle', ['classes' => 'text-muted text-primary', 'target' => '.entity-list.compact .entity-item-snippet', 'key' => 'home-details'])
diff --git a/resources/views/components/expand-toggle.blade.php b/resources/views/components/expand-toggle.blade.php index 0c1449038..8ed7ff6e0 100644 --- a/resources/views/components/expand-toggle.blade.php +++ b/resources/views/components/expand-toggle.blade.php @@ -6,7 +6,7 @@ $key - Unique key for checking existing stored state. From bb00c331e457f66ad341dee7a7aebdb333d0afa4 Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Fri, 4 Jun 2021 22:36:30 +0100 Subject: [PATCH 10/13] Ordered entity permission roles by display name Closes #2782 --- app/Auth/Role.php | 7 +++++-- resources/views/form/entity-permissions.blade.php | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/Auth/Role.php b/app/Auth/Role.php index 629cd6a95..59b1f547c 100644 --- a/app/Auth/Role.php +++ b/app/Auth/Role.php @@ -92,7 +92,7 @@ class Role extends Model implements Loggable } /** - * Get all visible roles + * Get all visible roles. */ public static function visible(): Collection { @@ -104,7 +104,10 @@ class Role extends Model implements Loggable */ public static function restrictable(): Collection { - return static::query()->where('system_name', '!=', 'admin')->get(); + return static::query() + ->where('system_name', '!=', 'admin') + ->orderBy('display_name', 'asc') + ->get(); } /** diff --git a/resources/views/form/entity-permissions.blade.php b/resources/views/form/entity-permissions.blade.php index 6cf5ab8bd..d3e89cc44 100644 --- a/resources/views/form/entity-permissions.blade.php +++ b/resources/views/form/entity-permissions.blade.php @@ -25,7 +25,7 @@ - From af7d62799c0dbb6686a28bd769ff36c75596e8aa Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Fri, 4 Jun 2021 22:50:48 +0100 Subject: [PATCH 11/13] New Crowdin updates (#2787) * New translations common.php (German) * New translations common.php (Dutch) --- resources/lang/de/common.php | 4 ++-- resources/lang/nl/common.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/lang/de/common.php b/resources/lang/de/common.php index 44a10ebc2..f46537ced 100644 --- a/resources/lang/de/common.php +++ b/resources/lang/de/common.php @@ -42,8 +42,8 @@ return [ 'fullscreen' => 'Vollbild', 'favourite' => 'Favorit', 'unfavourite' => 'Kein Favorit', - 'next' => 'Next', - 'previous' => 'Previous', + 'next' => 'Nächste', + 'previous' => 'Vorheriges', // Sort Options 'sort_options' => 'Sortieroptionen', diff --git a/resources/lang/nl/common.php b/resources/lang/nl/common.php index 7b0d4de3c..67d0876c7 100644 --- a/resources/lang/nl/common.php +++ b/resources/lang/nl/common.php @@ -42,8 +42,8 @@ return [ 'fullscreen' => 'Volledig scherm', 'favourite' => 'Favoriet', 'unfavourite' => 'Verwijderen uit favoriet', - 'next' => 'Next', - 'previous' => 'Previous', + 'next' => 'Volgende', + 'previous' => 'Vorige', // Sort Options 'sort_options' => 'Sorteeropties', From 0627efe5e9f3ec5ef7182637e8d6a47934b3d1ab Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Fri, 4 Jun 2021 22:59:31 +0100 Subject: [PATCH 12/13] Updated base64 image extraction to use url instead of path To ensure it works with all storage types and follows the format of manually uploaded image content --- app/Entities/Tools/PageContent.php | 2 +- app/Uploads/Image.php | 10 ++++++++++ tests/Entity/PageContentTest.php | 8 ++++---- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/app/Entities/Tools/PageContent.php b/app/Entities/Tools/PageContent.php index fbee2ccb6..5e3ef98d0 100644 --- a/app/Entities/Tools/PageContent.php +++ b/app/Entities/Tools/PageContent.php @@ -99,7 +99,7 @@ class PageContent $imageName = 'embedded-image-' . Str::random(8) . '.' . $extension; try { $image = $imageRepo->saveNewFromData($imageName, base64_decode($base64ImageData), 'gallery', $page->id); - $imageNode->setAttribute('src', $image->path); + $imageNode->setAttribute('src', $image->url); } catch (ImageUploadException $exception) { $imageNode->setAttribute('src', ''); } diff --git a/app/Uploads/Image.php b/app/Uploads/Image.php index ca1df3c6c..3657aa946 100644 --- a/app/Uploads/Image.php +++ b/app/Uploads/Image.php @@ -4,6 +4,16 @@ use BookStack\Entities\Models\Page; use BookStack\Model; use BookStack\Traits\HasCreatorAndUpdater; +/** + * @property int $id + * @property string $name + * @property string $url + * @property string $path + * @property string $type + * @property int $uploaded_to + * @property int $created_by + * @property int $updated_by + */ class Image extends Model { use HasCreatorAndUpdater; diff --git a/tests/Entity/PageContentTest.php b/tests/Entity/PageContentTest.php index 670557b0c..1b3af97c7 100644 --- a/tests/Entity/PageContentTest.php +++ b/tests/Entity/PageContentTest.php @@ -495,10 +495,10 @@ class PageContentTest extends TestCase ]); $page->refresh(); - $this->assertStringMatchesFormat('%Atest%A

%A', $page->html); + $this->assertStringMatchesFormat('%Atest%A

%A', $page->html); $matches = []; - preg_match('/src="(.*?)"/', $page->html, $matches); + preg_match('/src="http:\/\/localhost(.*?)"/', $page->html, $matches); $imagePath = $matches[1]; $imageFile = public_path($imagePath); $this->assertEquals(base64_decode($this->base64Jpeg), file_get_contents($imageFile)); @@ -519,10 +519,10 @@ class PageContentTest extends TestCase ]); $page->refresh(); - $this->assertStringMatchesFormat('%Atest%A

%A', $page->html); + $this->assertStringMatchesFormat('%Atest%A

%A', $page->html); $matches = []; - preg_match('/src="(.*?)"/', $page->html, $matches); + preg_match('/src="http:\/\/localhost(.*?)"/', $page->html, $matches); $imagePath = $matches[1]; $imageFile = public_path($imagePath); $this->assertEquals(base64_decode($base64PngWithoutWhitespace), file_get_contents($imageFile)); From a8471b2c660d1e2a97a9968833987e7180207bfd Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Fri, 4 Jun 2021 23:08:43 +0100 Subject: [PATCH 13/13] Updated translator attribution before release v21.05.1 --- .github/translators.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/translators.txt b/.github/translators.txt index ca22f0502..baaea5d92 100644 --- a/.github/translators.txt +++ b/.github/translators.txt @@ -165,3 +165,5 @@ Francesco Franchina (ffranchina) :: Italian Aimrane Kds (aimrane.kds) :: Arabic whenwesober :: Indonesian Rem (remkovdhoef) :: Dutch +syn7ax69 :: Bulgarian; Turkish +Blaade :: French
{{ trans('common.role') }}isA('page')) colspan="3" @else colspan="4" @endif> + {{ trans('common.actions') }} {{ trans('common.toggle_all') }}