diff --git a/apps/build-docs/package.json b/apps/build-docs/package.json index 56fff334a8..13dd581b83 100644 --- a/apps/build-docs/package.json +++ b/apps/build-docs/package.json @@ -9,9 +9,9 @@ "keywords": [], "author": "Elian Doran ", "license": "AGPL-3.0-only", - "packageManager": "pnpm@10.28.2", + "packageManager": "pnpm@10.29.2", "devDependencies": { - "@redocly/cli": "2.15.1", + "@redocly/cli": "2.17.0", "archiver": "7.0.1", "fs-extra": "11.3.3", "react": "19.2.4", diff --git a/apps/client/package.json b/apps/client/package.json index 8aa38a2a52..a78560b002 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -27,7 +27,7 @@ "@mermaid-js/layout-elk": "0.2.0", "@mind-elixir/node-menu": "5.0.1", "@popperjs/core": "2.11.8", - "@preact/signals": "2.6.2", + "@preact/signals": "2.7.1", "@triliumnext/ckeditor5": "workspace:*", "@triliumnext/codemirror": "workspace:*", "@triliumnext/commons": "workspace:*", @@ -44,7 +44,7 @@ "draggabilly": "3.0.0", "force-graph": "1.51.1", "globals": "17.3.0", - "i18next": "25.8.0", + "i18next": "25.8.4", "i18next-http-backend": "3.0.2", "jquery": "4.0.0", "jquery.fancytree": "2.38.5", @@ -56,7 +56,7 @@ "mark.js": "8.11.1", "marked": "17.0.1", "mermaid": "11.12.2", - "mind-elixir": "5.7.1", + "mind-elixir": "5.8.0", "normalize.css": "8.0.1", "panzoom": "9.4.3", "preact": "10.28.3", diff --git a/apps/client/src/print.tsx b/apps/client/src/print.tsx index 96461db2dc..dc7817d9b5 100644 --- a/apps/client/src/print.tsx +++ b/apps/client/src/print.tsx @@ -18,6 +18,10 @@ export type PrintReport = { } | { type: "collection"; ignoredNoteIds: string[]; +} | { + type: "error"; + message: string; + stack?: string; }; async function main() { diff --git a/apps/client/src/stylesheets/theme-next/base.css b/apps/client/src/stylesheets/theme-next/base.css index 69f77569db..9e39b2f002 100644 --- a/apps/client/src/stylesheets/theme-next/base.css +++ b/apps/client/src/stylesheets/theme-next/base.css @@ -800,3 +800,18 @@ li.dropdown-item a.dropdown-item-button:focus-visible { background: var(--hover-item-background-color); color: var(--hover-item-text-color); } + +/* + * Alert bars + */ + +div.alert { + margin-bottom: 8px; + background: var(--alert-bar-background) !important; + border-radius: 8px; + font-size: .85em; +} + +div.alert p + p { + margin-block: 1em 0; +} \ No newline at end of file diff --git a/apps/client/src/stylesheets/theme-next/forms.css b/apps/client/src/stylesheets/theme-next/forms.css index 12f361c2f2..bccf7ab6d4 100644 --- a/apps/client/src/stylesheets/theme-next/forms.css +++ b/apps/client/src/stylesheets/theme-next/forms.css @@ -84,6 +84,22 @@ button.btn.btn-success kbd { letter-spacing: 0.5pt; } +/* + * Low profile buttons + */ + +button.tn-low-profile { + appearance: none; + background: transparent; + border: 0; + border-radius: 8px; + color: inherit; +} + +button.tn-low-profile:hover { + background-color: var(--icon-button-hover-background); +} + /* * Icon buttons */ @@ -794,3 +810,35 @@ input[type="range"] { scrollbar-width: unset; } } + +/* + * Centered forms + */ + +.tn-centered-form { + display: flex; + flex-direction: column; + align-items: center; + margin-bottom: 20vh; +} + +.tn-centered-form .form-group { + text-align: center; + color: var(--muted-text-color); +} + +.tn-centered-form .form-icon { + font-size: 140px; + color: var(--main-border-color); +} + +.tn-centered-form .protected-session-password { + margin-inline: auto; + max-width: 350px; + text-align: center; +} + +.tn-centered-form input, +.tn-centered-form button { + margin-top: 12px; +} \ No newline at end of file diff --git a/apps/client/src/stylesheets/theme-next/pages.css b/apps/client/src/stylesheets/theme-next/pages.css index a5041cd553..42a831bae7 100644 --- a/apps/client/src/stylesheets/theme-next/pages.css +++ b/apps/client/src/stylesheets/theme-next/pages.css @@ -265,13 +265,6 @@ body.desktop .options-section:not(.tn-no-card) { margin-bottom: 6px; } -.options-section .alert { - margin-bottom: 8px; - background: var(--alert-bar-background) !important; - border-radius: 8px; - font-size: .85em; -} - nav.options-section-tabs { min-width: var(--options-card-min-width); max-width: var(--options-card-max-width); diff --git a/apps/client/src/translations/de/translation.json b/apps/client/src/translations/de/translation.json index 6bc55d1db1..6dd0f1cbc8 100644 --- a/apps/client/src/translations/de/translation.json +++ b/apps/client/src/translations/de/translation.json @@ -1,6 +1,6 @@ { "about": { - "title": "Über Trilium Notizen", + "title": "Über Trilium Notes", "homepage": "Startseite:", "app_version": "App-Version:", "db_version": "DB-Version:", @@ -662,7 +662,8 @@ "show-cheatsheet": "Cheatsheet anzeigen", "toggle-zen-mode": "Zen Modus", "new-version-available": "Neues Update verfügbar", - "download-update": "Version {{latestVersion}} herunterladen" + "download-update": "Version {{latestVersion}} herunterladen", + "search_notes": "Notizen durchsuchen" }, "sync_status": { "unknown": "

Der Synchronisations-Status wird bekannt, sobald der nächste Synchronisierungsversuch gestartet wird.

Klicke, um eine Synchronisierung jetzt auszulösen.

", @@ -758,7 +759,8 @@ "error_cannot_get_branch_id": "BranchId für notePath „{{notePath}}“ kann nicht abgerufen werden", "error_unrecognized_command": "Unbekannter Befehl {{command}}", "note_revisions": "Notiz Revisionen", - "backlinks": "Rücklinks" + "backlinks": "Rücklinks", + "content_language_switcher": "Inhaltssprache: {{language}}" }, "note_icon": { "change_note_icon": "Notiz-Icon ändern", @@ -910,7 +912,8 @@ "unknown_search_option": "Unbekannte Suchoption {{searchOptionName}}", "search_note_saved": "Suchnotiz wurde in {{-notePathTitle}} gespeichert", "actions_executed": "Aktionen wurden ausgeführt.", - "view_options": "Optionen anzeigen:" + "view_options": "Optionen anzeigen:", + "option": "Option" }, "similar_notes": { "title": "Ähnliche Notizen", @@ -1503,6 +1506,7 @@ "geo-map": "Geo-Karte", "beta-feature": "Beta", "book": "Sammlung", + "ai-chat": "KI Chat", "task-list": "Aufgabenliste", "new-feature": "Neu", "collections": "Sammlungen" @@ -2133,5 +2137,8 @@ "title_one": "{{count}} Tab", "title_other": "{{count}} Tabs", "more_options": "Weitere Optionen" + }, + "bookmark_buttons": { + "bookmarks": "Lesezeichen" } } diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json index 8adec9f9f4..b0d33792a0 100644 --- a/apps/client/src/translations/en/translation.json +++ b/apps/client/src/translations/en/translation.json @@ -1070,10 +1070,12 @@ "note_detail_render_help_1": "This help note is shown because this note of type Render HTML doesn't have required relation to function properly.", "note_detail_render_help_2": "Render HTML note type is used for scripting. In short, you have a HTML code note (optionally with some JavaScript) and this note will render it. To make it work, you need to define a relation called \"renderNote\" pointing to the HTML note to render." }, - "web_view": { - "web_view": "Web View", - "embed_websites": "Note of type Web View allows you to embed websites into Trilium.", - "create_label": "To start, please create a label with a URL address you want to embed, e.g. #webViewSrc=\"https://www.google.com\"" + "web_view_setup": { + "title": "Create a live view of a webpage directly into Trilium", + "url_placeholder": "Enter or paste the website address, for example https://triliumnotes.org", + "create_button": "Create Web View", + "invalid_url_title": "Invalid address", + "invalid_url_message": "Insert a valid web address, for example https://triliumnotes.org." }, "backend_log": { "refresh": "Refresh" @@ -1570,6 +1572,7 @@ "confirm-change": "It is not recommended to change note type when note content is not empty. Do you want to continue anyway?", "geo-map": "Geo Map", "beta-feature": "Beta", + "ai-chat": "AI Chat", "task-list": "Task List", "new-feature": "New", "collections": "Collections" @@ -1651,6 +1654,8 @@ "printing": "Printing in progress...", "printing_pdf": "Exporting to PDF in progress...", "print_report_title": "Print report", + "print_report_error_title": "Failed to print", + "print_report_stack_trace": "Stack trace", "print_report_collection_content_one": "{{count}} note in the collection could not be printed because they are not supported or they are protected.", "print_report_collection_content_other": "{{count}} notes in the collection could not be printed because they are not supported or they are protected.", "print_report_collection_details_button": "See details", diff --git a/apps/client/src/translations/es/translation.json b/apps/client/src/translations/es/translation.json index 192ead0304..14200c0546 100644 --- a/apps/client/src/translations/es/translation.json +++ b/apps/client/src/translations/es/translation.json @@ -662,7 +662,8 @@ "show-cheatsheet": "Mostrar hoja de trucos", "toggle-zen-mode": "Modo Zen", "new-version-available": "Nueva actualización disponible", - "download-update": "Obtener versión {{latestVersion}}" + "download-update": "Obtener versión {{latestVersion}}", + "search_notes": "Buscar notas" }, "zen_mode": { "button_exit": "Salir del modo Zen" @@ -762,7 +763,8 @@ "error_cannot_get_branch_id": "No se puede obtener el branchID del notePath '{{notePath}}'", "error_unrecognized_command": "Comando no reconocido {{command}}", "note_revisions": "Revisiones de notas", - "backlinks": "Vínculos de retroceso" + "backlinks": "Vínculos de retroceso", + "content_language_switcher": "Idioma de contenido: {{language}}" }, "note_icon": { "change_note_icon": "Cambiar icono de nota", @@ -915,7 +917,8 @@ "unknown_search_option": "Opción de búsqueda desconocida {{searchOptionName}}", "search_note_saved": "La nota de búsqueda se ha guardado en {{- notePathTitle}}", "actions_executed": "Las acciones han sido ejecutadas.", - "view_options": "Ver opciones:" + "view_options": "Ver opciones:", + "option": "opción" }, "similar_notes": { "title": "Notas similares", @@ -1549,6 +1552,7 @@ "confirm-change": "No es recomendado cambiar el tipo de nota cuando el contenido de la nota no está vacío. ¿Desea continuar de cualquier manera?", "geo-map": "Mapa Geo", "beta-feature": "Beta", + "ai-chat": "Chat de IA", "task-list": "Lista de tareas", "book": "Colección", "new-feature": "Nuevo", @@ -2148,5 +2152,8 @@ "title_many": "{{count}} pestañas", "title_other": "{{count}} pestañas", "more_options": "Más opciones" + }, + "bookmark_buttons": { + "bookmarks": "Marcadores" } } diff --git a/apps/client/src/translations/ga/translation.json b/apps/client/src/translations/ga/translation.json index 8bc89e19a9..710f9e9939 100644 --- a/apps/client/src/translations/ga/translation.json +++ b/apps/client/src/translations/ga/translation.json @@ -27,7 +27,8 @@ "show-cheatsheet": "Taispeáin Bileog leideanna", "toggle-zen-mode": "Mód Zen", "new-version-available": "Nuashonrú Nua ar Fáil", - "download-update": "Faigh Leagan {{latestVersion}}" + "download-update": "Faigh Leagan {{latestVersion}}", + "search_notes": "Cuardaigh nótaí" }, "about": { "title": "Maidir le Trilium Notes", @@ -764,7 +765,8 @@ "note_revisions": "Athbhreithnithe nóta", "error_cannot_get_branch_id": "Ní féidir aitheantas brainse a fháil do NotePad '{{notePath}}'", "error_unrecognized_command": "Ordú gan aitheantas {{command}}", - "backlinks": "Naisc ar ais" + "backlinks": "Naisc ar ais", + "content_language_switcher": "Teanga an ábhair: {{language}}" }, "note_icon": { "change_note_icon": "Deilbhín nóta athraithe", @@ -919,7 +921,8 @@ "unknown_search_option": "Rogha cuardaigh anaithnid {{searchOptionName}}", "search_note_saved": "Tá an nóta cuardaigh sábháilte i {{- notePathTitle}}", "actions_executed": "Tá gníomhartha curtha i gcrích.", - "view_options": "Roghanna féachana:" + "view_options": "Roghanna féachana:", + "option": "rogha" }, "similar_notes": { "title": "Nótaí Comhchosúla", @@ -1573,6 +1576,7 @@ "confirm-change": "Ní mholtar cineál nóta a athrú nuair nach bhfuil ábhar an nóta folamh. Ar mhaith leat leanúint ar aghaidh ar aon nós?", "geo-map": "Léarscáil Gheografach", "beta-feature": "Béite", + "ai-chat": "Comhrá AI", "task-list": "Liosta Tascanna", "new-feature": "Nua", "collections": "Bailiúcháin" @@ -2178,5 +2182,8 @@ "title_many": "{{count}} cluaisíní", "title_other": "{{count}} cluaisíní", "more_options": "Tuilleadh roghanna" + }, + "bookmark_buttons": { + "bookmarks": "Leabharmharcanna" } } diff --git a/apps/client/src/translations/pl/translation.json b/apps/client/src/translations/pl/translation.json index ec82f79c58..40222524a3 100644 --- a/apps/client/src/translations/pl/translation.json +++ b/apps/client/src/translations/pl/translation.json @@ -21,7 +21,7 @@ }, "bundle-error": { "title": "Nie udało się załadować niestandardowego skryptu", - "message": "Skrypt z notatki o ID \"{{id}}\", zatytułowany \"{{title}}\", nie mógł zostać wykonany z powodu:\n\n{{message}}" + "message": "Skrypt nie mógł zostać wykonany z powodu:\n\n{{message}}" }, "widget-list-error": { "title": "Nie udało się pobrać listy widżetów z serwera" @@ -29,8 +29,9 @@ "widget-render-error": { "title": "Nie udało się wyrenderować niestandardowego widżetu React" }, - "widget-missing-parent": "Niestandardowy widżet nie ma zdefiniowanej obowiązkowej właściwości „{{property}}”.", - "open-script-note": "Otwórz notatkę ze skryptem" + "widget-missing-parent": "Niestandardowy widżet nie ma zdefiniowanej obowiązkowej właściwości „{{property}}”.\nJeśli skrypt ma działać bez interfejsu użytkownika (UI) wyłącz go: '#run=frontendStartup'.", + "open-script-note": "Otwórz notatkę ze skryptem", + "scripting-error": "Błąd skryptu użytkownika: {{title}}" }, "add_link": { "add_link": "Dodaj link", @@ -191,7 +192,8 @@ "expand_tooltip": "Rozwija bezpośrednie elementy podrzędne tej kolekcji (o jeden poziom). Aby uzyskać więcej opcji, naciśnij strzałkę po prawej.", "expand_first_level": "Rozwiń bezpośrednie elementy podrzędne", "expand_nth_level": "Rozwiń {{depth}} poziomów", - "expand_all_levels": "Rozwiń wszystkie poziomy" + "expand_all_levels": "Rozwiń wszystkie poziomy", + "hide_child_notes": "Ukryj notatki podrzędne w derzwie" }, "board_view": { "move-to": "Przenieś do", @@ -240,7 +242,7 @@ "background_effects_title": "Efekty tła są teraz stabilne", "dismiss": "Odrzuć", "background_effects_button": "Włącz efekty tła", - "background_effects_message": "Na urządzeniach z systemem Windows efekty tła są teraz w pełni stabilne. Efekty tła dodają odrobinę koloru do interfejsu użytkownika poprzez rozmycie tła za nim. Ta technika jest również stosowana w innych aplikacjach, takich jak Eksplorator Windows.", + "background_effects_message": "Na urządzeniach z systemem Windows i macOS efekty tła są stabilne. Efekty tła dodają odrobinę koloru do interfejsu użytkownika poprzez rozmycie tła za nim.", "new_layout_title": "Nowy układ", "new_layout_message": "Wprowadziliśmy zmodernizowany układ interfejsu dla Trilium. Wstążka została usunięta i płynnie zintegrowana z głównym interfejsem, a jej kluczowe funkcje przejęły nowy pasek stanu i rozwijane sekcje (takie jak promowane atrybuty).\n\nNowy układ jest domyślnie włączony i można go tymczasowo wyłączyć w Ustawienia → Wygląd.", "new_layout_button": "Szczegóły" @@ -520,7 +522,8 @@ "action": "akcja", "search_button": "Szukaj", "search_execute": "Szukaj i wykonaj akcje", - "view_options": "Ustawienia widoku:" + "view_options": "Ustawienia widoku:", + "option": "opcja" }, "similar_notes": { "title": "Podobne notatki", @@ -602,8 +605,8 @@ "desktop-application": "Aplikacja desktopowa", "native-title-bar": "Natywny pasek tytułu", "native-title-bar-description": "Dla Windows i macOS, wyłączenie natywnego paska tytułu sprawia, że aplikacja wygląda bardziej kompaktowo. Na Linuxie, włączenie natywnego paska tytułu lepiej integruje się z resztą systemu.", - "background-effects": "Włącz efekty tła (tylko Windows 11)", - "background-effects-description": "Efekt Mica dodaje rozmyte, stylowe tło do okien aplikacji, tworząc głębię i nowoczesny wygląd. \"Natywny pasek tytułu\" musi być wyłączony.", + "background-effects": "Włącz efekty tła", + "background-effects-description": "Dodaje rozmyte, stylowe tło do okien aplikacji, tworząc głębię i nowoczesny wygląd. \"Natywny pasek tytułu\" musi być wyłączony.", "restart-app-button": "Zrestartuj aplikację, aby zobaczyć zmiany", "zoom-factor": "Współczynnik powiększenia" }, @@ -1039,7 +1042,8 @@ "show-cheatsheet": "Pokaż ściągawkę", "toggle-zen-mode": "Tryb Zen", "new-version-available": "Dostępna nowa aktualizacja", - "download-update": "Pobierz wersję {{latestVersion}}" + "download-update": "Pobierz wersję {{latestVersion}}", + "search_notes": "Przeszukaj notatki" }, "zen_mode": { "button_exit": "Wyjdź z trybu Zen" @@ -1122,7 +1126,7 @@ "button_title": "Eksportuj diagram jako SVG" }, "relation_map_buttons": { - "create_child_note_title": "Utwórz nową notatkę podrzędną i dodaj ją do tej mapy relacji", + "create_child_note_title": "Utwórz notatkę podrzędną i dodaj ją do mapy", "reset_pan_zoom_title": "Zresetuj przesunięcie i powiększenie do początkowych współrzędnych i powiększenia", "zoom_in_title": "Powiększ", "zoom_out_title": "Pomniejsz" @@ -1138,12 +1142,23 @@ "delete_this_note": "Usuń tę notatkę", "note_revisions": "Wersje notatki", "error_cannot_get_branch_id": "Nie można pobrać branchId dla ścieżki notatki '{{notePath}}'", - "error_unrecognized_command": "Nierozpoznane polecenie {{command}}" + "error_unrecognized_command": "Nierozpoznane polecenie {{command}}", + "backlinks": "Linki zwrotne", + "content_language_switcher": "Język treści: {{language}}" }, "note_icon": { "change_note_icon": "Zmień ikonę notatki", "search": "Szukaj:", - "reset-default": "Przywróć domyślną ikonę" + "reset-default": "Przywróć domyślną ikonę", + "search_placeholder_one": "Znaleziono {{number}} ikonę w {{count}} pakietach", + "search_placeholder_few": "Znaleziono {{number}} ikon w {{count}} pakietach", + "search_placeholder_many": "Znaleziono {{number}} ikon w {{count}} pakietach", + "search_placeholder_filtered": "Wyszukaj {{number}} ikon w {{name}}", + "filter": "Filtr", + "filter-none": "Wszystkie ikony", + "filter-default": "Domyślne ikony", + "icon_tooltip": "{{name}}\npakiet ikon: {{iconPack}}", + "no_results": "Nie znaleziono ikon." }, "basic_properties": { "note_type": "Typ notatki", @@ -1683,7 +1698,7 @@ "will_be_deleted_in": "Ten załącznik zostanie automatycznie usunięty za {{time}}", "will_be_deleted_soon": "Ten załącznik zostanie wkrótce automatycznie usunięty", "deletion_reason": ", ponieważ załącznik nie jest podlinkowany w treści notatki. Aby zapobiec usunięciu, dodaj link do załącznika z powrotem do treści lub przekonwertuj załącznik na notatkę.", - "role_and_size": "Rola: {{role}}, Rozmiar: {{size}}", + "role_and_size": "Rola: {{role}}, Rozmiar: {{size}}, MIME: {{- mimeType}}", "link_copied": "Link do załącznika skopiowany do schowka.", "unrecognized_role": "Nierozpoznana rola załącznika '{{role}}'." }, @@ -1737,7 +1752,10 @@ "apply-bulk-actions": "Zastosuj akcje masowe", "converted-to-attachments": "{{count}} notatek zostało przekonwertowanych na załączniki.", "convert-to-attachment-confirm": "Czy na pewno chcesz przekonwertować wybrane notatki na załączniki ich notatek nadrzędnych? Ta operacja dotyczy tylko notatek Obrazów, inne notatki zostaną pominięte.", - "open-in-popup": "Szybka edycja" + "open-in-popup": "Szybka edycja", + "open-in-a-new-window": "Otwórz w nowym oknie", + "hide-subtree": "Ukryj gałąź", + "show-subtree": "Rozwiń gałąź" }, "shared_info": { "shared_publicly": "Ta notatka jest udostępniona publicznie pod adresem {{- link}}.", @@ -1764,6 +1782,7 @@ "confirm-change": "Nie zaleca się zmiany typu notatki, gdy treść notatki nie jest pusta. Czy mimo to chcesz kontynuować?", "geo-map": "Mapa Geo", "beta-feature": "Beta", + "ai-chat": "Czat AI", "task-list": "Lista zadań", "new-feature": "Nowość", "collections": "Kolekcje" @@ -1827,7 +1846,17 @@ "create-child-note": "Utwórz notatkę podrzędną", "unhoist": "Cofnij zawężenie", "toggle-sidebar": "Przełącz pasek boczny", - "dropping-not-allowed": "Upuszczanie notatek w tej lokalizacji jest niedozwolone." + "dropping-not-allowed": "Upuszczanie notatek w tej lokalizacji jest niedozwolone.", + "clone-indicator-tooltip": "Ta notatka ma {{- count}} notatek nadrzędnych: {{- parents}}", + "clone-indicator-tooltip-single": "Ta notatka jest sklonowana (1 dodatkowa notatka nadrzędna: {{- parent}})", + "shared-indicator-tooltip": "Ta notatka jest udostępniona publicznie", + "shared-indicator-tooltip-with-url": "Ta notatka jest udostępniana publicznie jako: {{- url}}", + "subtree-hidden-tooltip_one": "{{count}} notatka podrzędna ukryta w drzewie", + "subtree-hidden-tooltip_few": "{{count}} notatek podrzędnych ukrytych w drzewie", + "subtree-hidden-tooltip_many": "{{count}} notatek podrzędnych ukrytych w drzewie", + "subtree-hidden-moved-title": "Dodano do {{title}}", + "subtree-hidden-moved-description-collection": "Ta kolekcja ukrywa swoje notatki podrzędne w drzewie.", + "subtree-hidden-moved-description-other": "Notatki podrzędne są ukryte w drzewie tej notatki." }, "title_bar_buttons": { "window-on-top": "Utrzymuj okno na wierzchu" @@ -1835,7 +1864,13 @@ "note_detail": { "could_not_find_typewidget": "Nie można znaleźć widżetu typu dla typu '{{type}}'", "printing": "Drukowanie w toku...", - "printing_pdf": "Eksportowanie do PDF w toku..." + "printing_pdf": "Eksportowanie do PDF w toku...", + "print_report_title": "Wydrukuj raport", + "print_report_collection_content_one": "Nie można wydrukować {{count}} notatki w kolekcji, ponieważ nie jest ona obsługiwana lub jest chroniona.", + "print_report_collection_content_few": "Nie można wydrukować {{count}} notatek w kolekcji, ponieważ nie są one obsługiwane lub są chronione.", + "print_report_collection_content_many": "Nie można wydrukować {{count}} notatek w kolekcji, ponieważ nie są one obsługiwane lub są chronione.", + "print_report_collection_details_button": "Zobacz szczegóły", + "print_report_collection_details_ignored_notes": "Zignorowane notatki" }, "note_title": { "placeholder": "wpisz tytuł notatki tutaj...", @@ -1845,7 +1880,8 @@ "note_type_switcher_others": "Inny typ notatki", "note_type_switcher_templates": "Szablon", "note_type_switcher_collection": "Kolekcja", - "edited_notes": "Edytowane notatki" + "edited_notes": "Notatki edytowane dzisiaj", + "promoted_attributes": "Sugerowane atrybuty" }, "search_result": { "no_notes_found": "Nie znaleziono notatek dla podanych parametrów wyszukiwania.", @@ -1855,7 +1891,11 @@ "configure_launchbar": "Konfiguruj pasek szybkiego dostępu" }, "sql_result": { - "no_rows": "Dla tego zapytania nie zwrócono żadnych wierszy" + "no_rows": "Dla tego zapytania nie zwrócono żadnych wierszy", + "not_executed": "Zapytanie nie zostało jeszcze wykonane.", + "failed": "Wykonanie zapytania SQL nie powiodło się", + "statement_result": "Wynik wyrażenia", + "execute_now": "Wykonaj teraz" }, "sql_table_schemas": { "tables": "Tabele" @@ -1972,7 +2012,8 @@ "geo-map": { "create-child-note-title": "Utwórz nową notatkę podrzędną i dodaj ją do mapy", "create-child-note-instruction": "Kliknij na mapie, aby utworzyć nową notatkę w tej lokalizacji lub naciśnij Escape, aby anulować.", - "unable-to-load-map": "Nie można załadować mapy." + "unable-to-load-map": "Nie można załadować mapy.", + "create-child-note-text": "Dodaj zaznaczenie" }, "geo-map-context": { "open-location": "Otwórz lokalizację", @@ -2039,7 +2080,14 @@ "execute_sql_description": "Ta notatka jest notatką SQL. Kliknij, aby wykonać zapytanie SQL.", "shared_copy_to_clipboard": "Kopiuj link do schowka", "shared_open_in_browser": "Otwórz link w przeglądarce", - "shared_unshare": "Usuń udostępnienie" + "shared_unshare": "Usuń udostępnienie", + "save_status_saved": "Zapisane", + "save_status_saving": "Zapisywanie...", + "save_status_unsaved": "Niezapisane", + "save_status_error": "Zapis nie powiódł się", + "save_status_saving_tooltip": "Zmiany zostały zapisane.", + "save_status_unsaved_tooltip": "Są niezapisane zmiany. Zostaną one zapisane automatycznie za chwilę.", + "save_status_error_tooltip": "Wystąpił błąd podczas zapisywania notatki. Spróbuj skopiować treść notatki w inne miejsce i ponownie załadować aplikację." }, "status_bar": { "language_title": "Zmień język treści", @@ -2082,5 +2130,30 @@ "empty_button": "Ukryj panel", "toggle": "Pokaż/ukryj prawy panel", "custom_widget_go_to_source": "Przejdź do kodu źródłowego" + }, + "pdf": { + "attachments_one": "{{count}} załącznik", + "attachments_few": "{{count}} załączniki", + "attachments_many": "{{count}} załączników", + "layers_one": "{{count}} warstwa", + "layers_few": "{{count}} warstw", + "layers_many": "{{count}} warstw", + "pages_one": "{{count}} strona", + "pages_few": "{{count}} stron", + "pages_many": "{{count}} stron", + "pages_alt": "Strona {{pageNumber}}", + "pages_loading": "Wczytuję..." + }, + "platform_indicator": { + "available_on": "Dostępne na {{platform}}" + }, + "mobile_tab_switcher": { + "title_one": "{{count}} zakładka", + "title_few": "{{count}} zakładki", + "title_many": "{{count}} zakładek", + "more_options": "Więcej opcji" + }, + "bookmark_buttons": { + "bookmarks": "Zakładki" } } diff --git a/apps/client/src/widgets/NoteDetail.tsx b/apps/client/src/widgets/NoteDetail.tsx index 78450811da..c49802a7a4 100644 --- a/apps/client/src/widgets/NoteDetail.tsx +++ b/apps/client/src/widgets/NoteDetail.tsx @@ -370,7 +370,33 @@ function showToast(type: "printing" | "exporting_pdf", progress: number = 0) { } function handlePrintReport(printReport?: PrintReport) { - if (printReport?.type === "collection" && printReport.ignoredNoteIds.length > 0) { + if (!printReport) return; + + if (printReport.type === "error") { + toast.showPersistent({ + id: "print-error", + icon: "bx bx-error-circle", + title: t("note_detail.print_report_error_title"), + message: printReport.message, + buttons: printReport.stack ? [ + { + text: t("note_detail.print_report_collection_details_button"), + onClick(api) { + api.dismissToast(); + dialog.info(<> +

{printReport.message}

+
+ {t("note_detail.print_report_stack_trace")} +
{printReport.stack}
+
+ , { + title: t("note_detail.print_report_error_title") + }); + } + } + ] : undefined + }); + } else if (printReport.type === "collection" && printReport.ignoredNoteIds.length > 0) { toast.showPersistent({ id: "print-report", icon: "bx bx-collection", diff --git a/apps/client/src/widgets/collections/geomap/index.css b/apps/client/src/widgets/collections/geomap/index.css index 285a3be5a7..4daaada2cb 100644 --- a/apps/client/src/widgets/collections/geomap/index.css +++ b/apps/client/src/widgets/collections/geomap/index.css @@ -7,7 +7,7 @@ > .collection-properties { position: relative; - z-index: 2000; + z-index: 998; } } @@ -22,7 +22,7 @@ .leaflet-top, .leaflet-bottom { - z-index: 997; + z-index: 997 !important; } .geo-view.placing-note .geo-map-container { diff --git a/apps/client/src/widgets/layout/StatusBar.css b/apps/client/src/widgets/layout/StatusBar.css index a0b22c8d26..c8d01c83be 100644 --- a/apps/client/src/widgets/layout/StatusBar.css +++ b/apps/client/src/widgets/layout/StatusBar.css @@ -37,6 +37,10 @@ &:hover { background: var(--input-background-color); } + + .text { + white-space: nowrap; + } } .status-bar-dropdown-button { diff --git a/apps/client/src/widgets/note_tree.css b/apps/client/src/widgets/note_tree.css index dbcb66cbc1..8c4f6ad426 100644 --- a/apps/client/src/widgets/note_tree.css +++ b/apps/client/src/widgets/note_tree.css @@ -9,7 +9,6 @@ border-radius: 0.5em; font-size: 0.7rem; font-weight: normal; - float: right; vertical-align: middle; } diff --git a/apps/client/src/widgets/note_tree.ts b/apps/client/src/widgets/note_tree.ts index 68b0310684..5c2aadb1ea 100644 --- a/apps/client/src/widgets/note_tree.ts +++ b/apps/client/src/widgets/note_tree.ts @@ -1992,7 +1992,7 @@ function buildEnhanceTitle() { if (isSubtreeHidden && count > 0) { const $badge = $(`${count}`); $badge.attr("title", t("note_tree.subtree-hidden-tooltip", { count })); - $span.find(".fancytree-title").append($badge); + $span.append($badge); } }; } diff --git a/apps/client/src/widgets/note_types.tsx b/apps/client/src/widgets/note_types.tsx index c626bcb28d..b5f4226582 100644 --- a/apps/client/src/widgets/note_types.tsx +++ b/apps/client/src/widgets/note_types.tsx @@ -43,7 +43,8 @@ export const TYPE_MAPPINGS: Record = { }, protectedSession: { view: () => import("./type_widgets/ProtectedSession"), - className: "protected-session-password-component" + className: "protected-session-password-component", + isFullHeight: true }, book: { view: () => import("./type_widgets/Book"), diff --git a/apps/client/src/widgets/react/Collapsible.css b/apps/client/src/widgets/react/Collapsible.css index 7acf628f71..00aeb2bf7a 100644 --- a/apps/client/src/widgets/react/Collapsible.css +++ b/apps/client/src/widgets/react/Collapsible.css @@ -3,10 +3,7 @@ line-height: 1em; display: flex; align-items: center; - appearance: none; - background: transparent; - border: 0; - color: inherit; + padding-inline-end: 12px; .arrow { font-size: 1.3em; diff --git a/apps/client/src/widgets/react/Collapsible.tsx b/apps/client/src/widgets/react/Collapsible.tsx index 212de203dc..cdbd0dcac5 100644 --- a/apps/client/src/widgets/react/Collapsible.tsx +++ b/apps/client/src/widgets/react/Collapsible.tsx @@ -57,7 +57,7 @@ export function ExternallyControlledCollapsible({ title, children, className, ex "with-transition": transitionEnabled })}>