From 80a1827fa0ef168cf610afee3c5ee0df51787415 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 30 Oct 2026 07:03:08 -0700 Subject: [PATCH 01/44] Fix: checksum light mode display and cf dropdown mobile position (#14590) --- .../custom-fields-dropdown.component.scss | 7 ------- .../document-detail/document-detail.component.html | 2 +- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/src-ui/src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.scss b/src-ui/src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.scss index 302dbfe77f..f9ec42d815 100644 --- a/src-ui/src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.scss +++ b/src-ui/src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.scss @@ -1,10 +1,3 @@ .custom-fields-dropdown { min-width: 300px; - - // correct position on mobile - @media (max-width: 575.98px) { - &.show { - margin-left: -245px !important; - } - } } diff --git a/src-ui/src/app/components/document-detail/document-detail.component.html b/src-ui/src/app/components/document-detail/document-detail.component.html index ac47c9cae2..426ee84ae3 100644 --- a/src-ui/src/app/components/document-detail/document-detail.component.html +++ b/src-ui/src/app/components/document-detail/document-detail.component.html @@ -308,7 +308,7 @@ Original SHA256 checksum - {{metadata()?.original_checksum}} + {{metadata()?.original_checksum}} Original file size From 652f964f5d9be6a3d523f99bdc45c8abecccbc25 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 30 Oct 2026 09:58:29 -0700 Subject: [PATCH 02/44] Tweak: move preview button in doc list (#14594) --- .../components/document-list/document-list.component.html | 8 ++++---- .../components/document-list/document-list.component.scss | 4 ++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src-ui/src/app/components/document-list/document-list.component.html b/src-ui/src/app/components/document-list/document-list.component.html index d684864bf2..a16b4d819c 100644 --- a/src-ui/src/app/components/document-list/document-list.component.html +++ b/src-ui/src/app/components/document-list/document-list.component.html @@ -208,7 +208,7 @@ i18n>Correspondent } @if (activeDisplayFields.includes(DisplayField.TITLE)) { - } @if (activeDisplayFields.includes(DisplayField.TITLE) || activeDisplayFields.includes(DisplayField.TAGS)) { - + @if (activeDisplayFields.includes(DisplayField.TITLE)) {
- {{d.title | documentTitle}} - + + {{d.title | documentTitle}}
} @if (activeDisplayFields.includes(DisplayField.TAGS)) { diff --git a/src-ui/src/app/components/document-list/document-list.component.scss b/src-ui/src/app/components/document-list/document-list.component.scss index 44545aa800..53d5fa51c3 100644 --- a/src-ui/src/app/components/document-list/document-list.component.scss +++ b/src-ui/src/app/components/document-list/document-list.component.scss @@ -87,6 +87,10 @@ $paperless-card-breakpoints: ( } } +.table .ps-5 { + padding-left: 2.2rem !important; +} + a { cursor: pointer; } From 8a67481a9d449061fb1f5aaee2802331321b8cfe Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 30 Oct 2026 16:59:59 +0000 Subject: [PATCH 03/44] Auto translate strings --- src-ui/messages.xlf | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src-ui/messages.xlf b/src-ui/messages.xlf index 8996c9b95d..c200b4dc67 100644 --- a/src-ui/messages.xlf +++ b/src-ui/messages.xlf @@ -10334,18 +10334,18 @@ 294,295 - - Edit document + + Preview document src/app/components/document-list/document-list.component.html 328 - - Preview document + + Edit document src/app/components/document-list/document-list.component.html - 329 + 331 From a5d3247ca7aeae92d982313458c76416ba089733 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 30 Oct 2026 10:22:50 -0700 Subject: [PATCH 04/44] Tweakhancement: make new pdf controls mostly hidden (#14595) --- .../document-detail.component.html | 4 ++-- .../document-detail.component.scss | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src-ui/src/app/components/document-detail/document-detail.component.html b/src-ui/src/app/components/document-detail/document-detail.component.html index 426ee84ae3..ad9d0d0830 100644 --- a/src-ui/src/app/components/document-detail/document-detail.component.html +++ b/src-ui/src/app/components/document-detail/document-detail.component.html @@ -465,7 +465,7 @@ @switch (archiveContentRenderType) { @case (ContentRenderType.PDF) { @if (!useNativePdfViewer) { -
+
-
+
@if (previewNumPages()) {
diff --git a/src-ui/src/app/components/document-detail/document-detail.component.scss b/src-ui/src/app/components/document-detail/document-detail.component.scss index 3986f2cbc1..91c49eebfb 100644 --- a/src-ui/src/app/components/document-detail/document-detail.component.scss +++ b/src-ui/src/app/components/document-detail/document-detail.component.scss @@ -12,6 +12,22 @@ width: 100%; height: 100%; } + + &:focus { + outline: none; + } + + .preview-controls { + opacity: 0; + pointer-events: none; + transition: opacity 0.15s ease-in-out; + } + + &:hover .preview-controls, + &:focus-within .preview-controls { + opacity: 1; + pointer-events: auto; + } } .btn-group .dropdown-toggle-split { From 6f99ad94690007e509267cf9a53593946f5a044f Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Fri, 30 Oct 2026 15:25:42 -0700 Subject: [PATCH 05/44] Chore: Improve idle memory via more lazy imports (#14599) * Chore: Import dateparser lazily so processes that never parse dates skip it * Chore: Import turbohtml lazily in the mail parser * Chore: Import lxml lazily in the SVG validator * Chore: Import paperless_ai.indexing lazily in document tasks * Chore: Import paperless_ai helpers lazily in views * Chore: Read the OCRmyPDF sRGB profile on first use instead of at import * Chore: Import pikepdf and img2pdf lazily so startup does not load them * Chore: Reuse the initialized Django ASGI application for HTTP routing --- src/documents/barcodes.py | 10 ++++-- src/documents/converters.py | 3 +- src/documents/double_sided.py | 3 +- src/documents/filters.py | 3 +- src/documents/pdf_ops.py | 16 ++++++++-- src/documents/plugins/date_parsing/base.py | 4 +-- src/documents/tasks.py | 11 +++++-- .../tests/date_parsing/test_date_parsing.py | 8 ++--- src/documents/tests/test_api_app_config.py | 10 +++--- src/documents/tests/test_api_chat.py | 4 +-- .../tests/test_api_document_versions.py | 2 +- src/documents/tests/test_api_documents.py | 2 +- .../test_permission_filtering_security.py | 2 +- src/documents/tests/test_tasks.py | 8 ++--- src/documents/tests/test_views.py | 32 +++++++++---------- src/documents/views.py | 27 +++++++++------- src/paperless/asgi.py | 2 +- src/paperless/parsers/mail.py | 7 ++-- src/paperless/parsers/tesseract.py | 12 ++++--- src/paperless/settings/custom.py | 3 +- src/paperless/tests/test_utils.py | 5 ++- src/paperless/utils.py | 4 +-- src/paperless/validators.py | 2 +- src/paperless/views.py | 3 +- 24 files changed, 110 insertions(+), 73 deletions(-) diff --git a/src/documents/barcodes.py b/src/documents/barcodes.py index 65cba9a718..976861a646 100644 --- a/src/documents/barcodes.py +++ b/src/documents/barcodes.py @@ -10,9 +10,6 @@ from typing import TYPE_CHECKING import regex as regex_mod from django.conf import settings from pdf2image import convert_from_path -from pikepdf import Page -from pikepdf import PasswordError -from pikepdf import Pdf from documents.converters import convert_from_tiff_to_pdf from documents.data_models import ConsumableDocument @@ -34,6 +31,7 @@ from documents.utils import maybe_override_pixel_limit from paperless.config import BarcodeConfig if TYPE_CHECKING: + from pikepdf import Page from PIL import Image logger = logging.getLogger("paperless.barcodes") @@ -282,6 +280,8 @@ class BarcodePlugin(ConsumeTaskPlugin): # No op if not a TIFF self.convert_from_tiff_to_pdf() + from pikepdf import PasswordError + try: self.barcodes = scan_pdf( self.pdf_file, @@ -433,6 +433,8 @@ class BarcodePlugin(ConsumeTaskPlugin): document_paths = [] fname: str = self.input_doc.original_file.stem + from pikepdf import Pdf + with Pdf.open(self.pdf_file) as input_pdf: # Start with an empty document current_document: list[Page] = [] @@ -516,6 +518,8 @@ def scan_pdf(pdf_path: Path, settings: BarcodeConfig, work_dir: Path) -> list[Ba """ barcodes: list[Barcode] = [] + from pikepdf import Pdf + with Pdf.open(pdf_path) as pdf: num_of_pages = len(pdf.pages) logger.debug(f"PDF has {num_of_pages} pages") diff --git a/src/documents/converters.py b/src/documents/converters.py index 76f518d7e2..bc66925d3e 100644 --- a/src/documents/converters.py +++ b/src/documents/converters.py @@ -1,6 +1,5 @@ from pathlib import Path -import img2pdf from PIL import Image from documents.utils import copy_basic_file_stats @@ -17,6 +16,8 @@ def convert_from_tiff_to_pdf(tiff_path: Path, target_directory: Path) -> Path: Returns the path of the PDF created. """ + import img2pdf + # override pixel setting if needed maybe_override_pixel_limit() diff --git a/src/documents/double_sided.py b/src/documents/double_sided.py index 3c3ec4723f..9452a44695 100644 --- a/src/documents/double_sided.py +++ b/src/documents/double_sided.py @@ -6,7 +6,6 @@ from pathlib import Path from typing import Final from django.conf import settings -from pikepdf import Pdf from documents.consumer import ConsumerError from documents.converters import convert_from_tiff_to_pdf @@ -85,6 +84,8 @@ class CollatePlugin(NoCleanupPluginMixin, NoSetupPluginMixin, ConsumeTaskPlugin) valid_staging_exists = True if valid_staging_exists: + from pikepdf import Pdf + try: # Collate pages from second PDF in reverse order with Pdf.open(staging) as pdf1, Pdf.open(pdf_file) as pdf2: diff --git a/src/documents/filters.py b/src/documents/filters.py index 00a47552db..2c6cfb2699 100644 --- a/src/documents/filters.py +++ b/src/documents/filters.py @@ -11,7 +11,6 @@ from decimal import InvalidOperation from typing import TYPE_CHECKING from typing import Any -import dateparser from django.conf import settings from django.contrib.contenttypes.models import ContentType from django.db.models import Case @@ -350,6 +349,8 @@ class DateQueryField(serializers.DateField): if not isinstance(value, str): raise + import dateparser + try: parsed = dateparser.parse( value, diff --git a/src/documents/pdf_ops.py b/src/documents/pdf_ops.py index 0f5b696f66..d31a6b31fa 100644 --- a/src/documents/pdf_ops.py +++ b/src/documents/pdf_ops.py @@ -14,8 +14,6 @@ from __future__ import annotations from typing import TYPE_CHECKING from typing import NamedTuple -import pikepdf - if TYPE_CHECKING: from collections.abc import Callable from collections.abc import Iterable @@ -43,6 +41,8 @@ def rotate_pdf(src: Path, dst: Path, degrees: int) -> None: Rotate every page relatively on the opened document, not a rebuild, so Info, XMP and outlines are kept. ``src`` is not modified. """ + import pikepdf + with pikepdf.open(src) as pdf: for page in pdf.pages: page.rotate(degrees, relative=True) @@ -58,6 +58,8 @@ def remove_pages(src: Path, dst: Path, pages: Iterable[int]) -> None: Duplicates are ignored. Pages are removed highest first so earlier removals never shift the index of later ones. """ + import pikepdf + unique = sorted(set(pages)) _require_positive(unique) with pikepdf.open(src) as pdf: @@ -81,6 +83,8 @@ def build_pdfs( (Info, XMP, outlines) is not carried over. Returns the written paths in output order. """ + import pikepdf + for specs, _ in outputs: _require_positive(spec.page for spec in specs) @@ -140,6 +144,8 @@ def needs_decrypt(src: Path) -> bool: True if ``src`` is encrypted. A PDF that needs a password to open at all counts as encrypted. """ + import pikepdf + try: with pikepdf.open(src) as pdf: return bool(pdf.is_encrypted) @@ -154,6 +160,8 @@ def decrypt_pdf(src: Path, make_dst: Callable[[], Path], password: str) -> Path: ``make_dst`` is only called once the password has been accepted, so a wrong password never leaves a destination behind. """ + import pikepdf + with pikepdf.open(src, password=password) as pdf: pdf.remove_unreferenced_resources() dst = make_dst() @@ -170,6 +178,8 @@ class PdfMerger: """ def __init__(self) -> None: + import pikepdf + self._pdf = pikepdf.new() self._version: str = self._pdf.pdf_version @@ -185,6 +195,8 @@ class PdfMerger: self._pdf.close() def add(self, path: Path) -> None: + import pikepdf + with pikepdf.open(str(path)) as pdf: self._version = max(self._version, pdf.pdf_version) self._pdf.pages.extend(pdf.pages) diff --git a/src/documents/plugins/date_parsing/base.py b/src/documents/plugins/date_parsing/base.py index fd45ceec80..af393b577f 100644 --- a/src/documents/plugins/date_parsing/base.py +++ b/src/documents/plugins/date_parsing/base.py @@ -7,8 +7,6 @@ from dataclasses import dataclass from types import TracebackType from typing import Self -import dateparser - logger = logging.getLogger(__name__) @@ -80,6 +78,8 @@ class DateParserPluginBase(ABC): Uses configuration from `self.config`. """ + import dateparser + try: return dateparser.parse( date_string, diff --git a/src/documents/tasks.py b/src/documents/tasks.py index 778ee96730..8f0e85f165 100644 --- a/src/documents/tasks.py +++ b/src/documents/tasks.py @@ -76,9 +76,6 @@ from paperless.logging import consume_task_id from paperless.parsers import ParserContext from paperless.parsers.registry import get_parser_registry from paperless_ai.exceptions import LLMTimeoutError -from paperless_ai.indexing import llm_index_add_or_update_document -from paperless_ai.indexing import llm_index_remove_document -from paperless_ai.indexing import update_llm_index if settings.AUDIT_LOG_ENABLED: from auditlog.models import LogEntry @@ -339,6 +336,8 @@ def bulk_update_documents(document_ids) -> None: ai_config = AIConfig() if ai_config.llm_index_enabled: + from paperless_ai.indexing import update_llm_index + update_llm_index( rebuild=False, document_ids=document_ids, @@ -499,6 +498,8 @@ def update_document_content_maybe_archive_file( ai_config = AIConfig() if ai_config.llm_index_enabled: + from paperless_ai.indexing import llm_index_add_or_update_document + llm_index_add_or_update_document(document) clear_document_caches(document.pk) @@ -800,11 +801,15 @@ def apply_ai_suggestions(self, action_id: int, document_id: int) -> None: @shared_task def update_document_in_llm_index(document) -> None: + from paperless_ai.indexing import llm_index_add_or_update_document + llm_index_add_or_update_document(document) @shared_task def remove_document_from_llm_index(document) -> None: + from paperless_ai.indexing import llm_index_remove_document + llm_index_remove_document(document) diff --git a/src/documents/tests/date_parsing/test_date_parsing.py b/src/documents/tests/date_parsing/test_date_parsing.py index f43303d224..c7de0c370d 100644 --- a/src/documents/tests/date_parsing/test_date_parsing.py +++ b/src/documents/tests/date_parsing/test_date_parsing.py @@ -71,7 +71,7 @@ class TestParseString: ): # We still need to mock dateparser.parse to force the exception mocker.patch( - "documents.plugins.date_parsing.base.dateparser.parse", + "dateparser.parse", side_effect=ValueError( "Parsing error: 01/01/2024", ), @@ -260,7 +260,7 @@ class TestRegexDateParser: parser = RegexDateParserPlugin(base_config) # Patch the dateparser.parse - target = "documents.plugins.date_parsing.base.dateparser.parse" + target = "dateparser.parse" def fake_parse( date_string: str, @@ -335,7 +335,7 @@ class TestRegexDateParser: ) parser = RegexDateParserPlugin(cfg) - target = "documents.plugins.date_parsing.base.dateparser.parse" + target = "dateparser.parse" def fake_parse( date_string: str, @@ -400,7 +400,7 @@ class TestRegexDateParser: parser = RegexDateParserPlugin(cfg) # Patch the module's dateparser.parse so we can inspect calls - target = "documents.plugins.date_parsing.base.dateparser.parse" + target = "dateparser.parse" def fake_parse( date_string: str, diff --git a/src/documents/tests/test_api_app_config.py b/src/documents/tests/test_api_app_config.py index f617e646af..b06c6f67d0 100644 --- a/src/documents/tests/test_api_app_config.py +++ b/src/documents/tests/test_api_app_config.py @@ -1070,7 +1070,7 @@ class TestApiAppConfig(DirectoriesMixin, APITestCase): with ( patch("documents.tasks.llmindex_index.apply_async") as mock_update, - patch("paperless.views.llm_index_exists") as mock_exists, + patch("paperless_ai.indexing.llm_index_exists") as mock_exists, ): mock_exists.return_value = False self.client.patch( @@ -1095,7 +1095,7 @@ class TestApiAppConfig(DirectoriesMixin, APITestCase): with ( patch("documents.tasks.llmindex_index.apply_async") as mock_update, - patch("paperless.views.llm_index_exists", return_value=False), + patch("paperless_ai.indexing.llm_index_exists", return_value=False), ): self.client.patch( f"{self.ENDPOINT}1/", @@ -1115,7 +1115,7 @@ class TestApiAppConfig(DirectoriesMixin, APITestCase): with ( patch("documents.tasks.llmindex_index.apply_async") as mock_update, - patch("paperless.views.llm_index_exists") as mock_exists, + patch("paperless_ai.indexing.llm_index_exists") as mock_exists, ): mock_exists.return_value = True self.client.patch( @@ -1136,7 +1136,7 @@ class TestApiAppConfig(DirectoriesMixin, APITestCase): with ( patch("documents.tasks.llmindex_index.apply_async") as mock_update, - patch("paperless.views.llm_index_exists") as mock_exists, + patch("paperless_ai.indexing.llm_index_exists") as mock_exists, ): mock_exists.return_value = True self.client.patch( @@ -1174,7 +1174,7 @@ class TestApiAppConfig(DirectoriesMixin, APITestCase): with ( patch("documents.tasks.llmindex_index.apply_async") as mock_update, - patch("paperless.views.llm_index_exists") as mock_exists, + patch("paperless_ai.indexing.llm_index_exists") as mock_exists, ): mock_exists.return_value = True self.client.patch( diff --git a/src/documents/tests/test_api_chat.py b/src/documents/tests/test_api_chat.py index f19c4aa433..11703dfd98 100644 --- a/src/documents/tests/test_api_chat.py +++ b/src/documents/tests/test_api_chat.py @@ -61,7 +61,7 @@ class TestChatStreamingViewInputValidation(APITestCase): return_value=self._mock_ai_enabled(), ), mock.patch( - "documents.views.stream_chat_with_documents", + "paperless_ai.chat.stream_chat_with_documents", return_value=iter(chunks), ), ): @@ -104,7 +104,7 @@ class TestChatStreamingViewUnrestrictedFlag: """ mocker.patch("documents.views.AIConfig").return_value.ai_enabled = True return mocker.patch( - "documents.views.stream_chat_with_documents", + "paperless_ai.chat.stream_chat_with_documents", return_value=iter(()), ) diff --git a/src/documents/tests/test_api_document_versions.py b/src/documents/tests/test_api_document_versions.py index b1eb3c737c..ba99a7b39b 100644 --- a/src/documents/tests/test_api_document_versions.py +++ b/src/documents/tests/test_api_document_versions.py @@ -1110,7 +1110,7 @@ class TestVersionActionPermissions(DirectoriesMixin, APITestCase): self.assertEqual(response.status_code, 403) with ( mock.patch("documents.views.AIConfig") as ai_config, - mock.patch("documents.views.stream_chat_with_documents") as chat, + mock.patch("paperless_ai.chat.stream_chat_with_documents") as chat, ): ai_config.return_value.ai_enabled = True response = self.client.post( diff --git a/src/documents/tests/test_api_documents.py b/src/documents/tests/test_api_documents.py index eeb1ab59a9..9a502b2cbc 100644 --- a/src/documents/tests/test_api_documents.py +++ b/src/documents/tests/test_api_documents.py @@ -2686,7 +2686,7 @@ class TestDocumentApi(DirectoriesMixin, ConsumeTaskMixin, APITestCase): response = self.client.get("/api/documents/34676/suggestions/") self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND) - @mock.patch("documents.views.get_ai_document_classification") + @mock.patch("paperless_ai.ai_classifier.get_ai_document_classification") @override_settings(AI_ENABLED=True) def test_suggestions_still_uses_classifier_when_ai_enabled( self, diff --git a/src/documents/tests/test_permission_filtering_security.py b/src/documents/tests/test_permission_filtering_security.py index 3c2ff3bff7..8b1b0169a1 100644 --- a/src/documents/tests/test_permission_filtering_security.py +++ b/src/documents/tests/test_permission_filtering_security.py @@ -572,7 +572,7 @@ class TestAiChatAllDocumentsPermissionBoundary: ENDPOINT = "/api/documents/chat/" @override_settings(AI_ENABLED=True) - @patch("documents.views.stream_chat_with_documents") + @patch("paperless_ai.chat.stream_chat_with_documents") def test_chat_all_documents_excludes_unshared_document(self, mock_stream_chat): mock_stream_chat.return_value = iter([b"data"]) diff --git a/src/documents/tests/test_tasks.py b/src/documents/tests/test_tasks.py index a5def09444..2e2b541a9d 100644 --- a/src/documents/tests/test_tasks.py +++ b/src/documents/tests/test_tasks.py @@ -322,7 +322,7 @@ class TestUpdateContent(DirectoriesMixin, TestCase): ) @override_settings(AI_ENABLED=True, LLM_EMBEDDING_BACKEND="huggingface") - @mock.patch("documents.tasks.llm_index_add_or_update_document") + @mock.patch("paperless_ai.indexing.llm_index_add_or_update_document") @mock.patch("documents.search.get_backend") def test_update_content_version_updates_llm_index( self, @@ -450,7 +450,7 @@ class TestAIIndex(DirectoriesMixin, TestCase): checksum="wow", ) with mock.patch( - "documents.tasks.llm_index_add_or_update_document", + "paperless_ai.indexing.llm_index_add_or_update_document", ) as llm_index_add_or_update_document: tasks.update_document_in_llm_index(doc) llm_index_add_or_update_document.assert_called_once_with(doc) @@ -470,7 +470,7 @@ class TestAIIndex(DirectoriesMixin, TestCase): checksum="wow", ) with mock.patch( - "documents.tasks.llm_index_remove_document", + "paperless_ai.indexing.llm_index_remove_document", ) as llm_index_remove_document: tasks.remove_document_from_llm_index(doc) llm_index_remove_document.assert_called_once_with(doc) @@ -495,7 +495,7 @@ class TestAIIndex(DirectoriesMixin, TestCase): "documents.tasks.update_document_in_llm_index", ) as update_document_in_llm_index, mock.patch( - "documents.tasks.update_llm_index", + "paperless_ai.indexing.update_llm_index", ) as update_llm_index, ): doc_ids = [doc.pk for doc in docs] diff --git a/src/documents/tests/test_views.py b/src/documents/tests/test_views.py index d91ced30a1..d6672f5b15 100644 --- a/src/documents/tests/test_views.py +++ b/src/documents/tests/test_views.py @@ -474,7 +474,7 @@ class TestAISuggestions(DirectoriesMixin, TestCase): self.assertEqual(response.json()["tags"], []) self.assertEqual(response.json()["suggested_tags"], []) - @patch("documents.views.get_ai_document_classification") + @patch("paperless_ai.ai_classifier.get_ai_document_classification") @override_settings( AI_ENABLED=True, LLM_BACKEND="mock_backend", @@ -524,7 +524,7 @@ class TestAISuggestions(DirectoriesMixin, TestCase): None, ) - @patch("documents.views.get_ai_document_classification") + @patch("paperless_ai.ai_classifier.get_ai_document_classification") @override_settings( AI_ENABLED=True, LLM_BACKEND="mock_backend", @@ -562,7 +562,7 @@ class TestAISuggestions(DirectoriesMixin, TestCase): "KI Title", ) - @patch("documents.views.get_ai_document_classification") + @patch("paperless_ai.ai_classifier.get_ai_document_classification") @override_settings( AI_ENABLED=True, LLM_BACKEND="mock_backend", @@ -601,7 +601,7 @@ class TestAISuggestions(DirectoriesMixin, TestCase): "Titre IA", ) - @patch("documents.views.get_ai_document_classification") + @patch("paperless_ai.ai_classifier.get_ai_document_classification") @override_settings( AI_ENABLED=True, LLM_BACKEND="mock_backend", @@ -637,7 +637,7 @@ class TestAISuggestions(DirectoriesMixin, TestCase): ), ) - @patch("documents.views.get_ai_document_classification") + @patch("paperless_ai.ai_classifier.get_ai_document_classification") @override_settings( AI_ENABLED=True, LLM_BACKEND="mock_backend", @@ -709,7 +709,7 @@ class TestAISuggestions(DirectoriesMixin, TestCase): ), ) - @patch("documents.views.get_ai_document_classification") + @patch("paperless_ai.ai_classifier.get_ai_document_classification") @override_settings( AI_ENABLED=True, LLM_BACKEND="openai-like", @@ -738,7 +738,7 @@ class TestAISuggestions(DirectoriesMixin, TestCase): get_llm_suggestion_cache(self.document.pk, backend="openai-like"), ) - @patch("documents.views.get_ai_document_classification") + @patch("paperless_ai.ai_classifier.get_ai_document_classification") @override_settings( AI_ENABLED=True, LLM_BACKEND="openai-like", @@ -765,7 +765,7 @@ class TestAISuggestions(DirectoriesMixin, TestCase): get_llm_suggestion_cache(self.document.pk, backend="openai-like"), ) - @patch("documents.views.get_ai_document_classification") + @patch("paperless_ai.ai_classifier.get_ai_document_classification") @override_settings( AI_ENABLED=True, LLM_BACKEND="openai-like", @@ -797,7 +797,7 @@ class TestAISuggestions(DirectoriesMixin, TestCase): get_llm_suggestion_cache(self.document.pk, backend="openai-like"), ) - @patch("documents.views.get_ai_document_classification") + @patch("paperless_ai.ai_classifier.get_ai_document_classification") @override_settings( AI_ENABLED=True, LLM_BACKEND="mock_backend", @@ -835,7 +835,7 @@ class TestAISuggestions(DirectoriesMixin, TestCase): self.assertEqual(response.json()["tags"], [self.tag1.pk]) self.assertEqual(response.json()["suggested_tags"], ["Follow-up"]) - @patch("documents.views.get_ai_document_classification") + @patch("paperless_ai.ai_classifier.get_ai_document_classification") @override_settings( AI_ENABLED=True, LLM_BACKEND="mock_backend", @@ -874,7 +874,7 @@ class TestAISuggestions(DirectoriesMixin, TestCase): self.assertEqual(response.json()["tags"], [self.tag1.pk]) self.assertEqual(response.json()["suggested_tags"], []) - @patch("documents.views.get_ai_document_classification") + @patch("paperless_ai.ai_classifier.get_ai_document_classification") @override_settings( AI_ENABLED=True, LLM_BACKEND="mock_backend", @@ -996,7 +996,7 @@ class TestAIChatStreamingView(DirectoriesMixin, TestCase): self.assertEqual(response.status_code, 400) self.assertIn(b"AI is required for this feature", response.content) - @patch("documents.views.stream_chat_with_documents") + @patch("paperless_ai.chat.stream_chat_with_documents") @patch("documents.views.permitted_document_ids") @override_settings(AI_ENABLED=True) def test_post_no_document_id(self, mock_permitted_ids, mock_stream_chat) -> None: @@ -1016,7 +1016,7 @@ class TestAIChatStreamingView(DirectoriesMixin, TestCase): self.assertEqual(list(call_kwargs["documents"]), [self.document]) self.assertIsNone(call_kwargs["output_language"]) - @patch("documents.views.stream_chat_with_documents") + @patch("paperless_ai.chat.stream_chat_with_documents") @patch("documents.views.permitted_document_ids") @override_settings(AI_ENABLED=True) def test_post_uses_user_display_language( @@ -1042,7 +1042,7 @@ class TestAIChatStreamingView(DirectoriesMixin, TestCase): self.assertEqual(list(call_kwargs["documents"]), [self.document]) self.assertEqual(call_kwargs["output_language"], "de-de") - @patch("documents.views.stream_chat_with_documents") + @patch("paperless_ai.chat.stream_chat_with_documents") @override_settings(AI_ENABLED=True) def test_post_with_document_id(self, mock_stream_chat) -> None: self.grant_view_document_permission() @@ -1079,7 +1079,7 @@ class TestAIChatStreamingView(DirectoriesMixin, TestCase): self.assertEqual(response.status_code, 403) self.assertIn(b"Insufficient permissions", response.content) - @patch("documents.views.stream_chat_with_documents") + @patch("paperless_ai.chat.stream_chat_with_documents") @override_settings(AI_ENABLED=True) def test_post_no_document_id_requires_view_document_permission( self, @@ -1093,7 +1093,7 @@ class TestAIChatStreamingView(DirectoriesMixin, TestCase): self.assertEqual(response.status_code, 403) mock_stream_chat.assert_not_called() - @patch("documents.views.stream_chat_with_documents") + @patch("paperless_ai.chat.stream_chat_with_documents") @override_settings(AI_ENABLED=True) def test_post_with_document_id_requires_view_document_permission( self, diff --git a/src/documents/views.py b/src/documents/views.py index 5e17c67cbb..5a4a782965 100644 --- a/src/documents/views.py +++ b/src/documents/views.py @@ -250,20 +250,8 @@ from paperless.parsers.remote import RemoteEngineConfig from paperless.serialisers import GroupSerializer from paperless.serialisers import UserSerializer from paperless.views import StandardPagination -from paperless_ai.ai_classifier import get_ai_document_classification -from paperless_ai.ai_classifier import get_llm_output_language -from paperless_ai.chat import stream_chat_with_documents from paperless_ai.exceptions import LLMProviderError from paperless_ai.exceptions import LLMTimeoutError -from paperless_ai.matching import extract_unmatched_names -from paperless_ai.matching import match_correspondents_by_name -from paperless_ai.matching import match_document_types_by_name -from paperless_ai.matching import match_storage_paths_by_name -from paperless_ai.matching import match_tags_by_name -from paperless_ai.matching import resolve_correspondent_ids -from paperless_ai.matching import resolve_document_type_ids -from paperless_ai.matching import resolve_storage_path_ids -from paperless_ai.matching import resolve_tag_ids from paperless_mail.models import MailAccount from paperless_mail.models import MailRule from paperless_mail.oauth import PaperlessMailOAuth2Manager @@ -1613,6 +1601,18 @@ class DocumentViewSet( if not ai_config.ai_enabled: return HttpResponseBadRequest("AI is required for this feature") + from paperless_ai.ai_classifier import get_ai_document_classification + from paperless_ai.ai_classifier import get_llm_output_language + from paperless_ai.matching import extract_unmatched_names + from paperless_ai.matching import match_correspondents_by_name + from paperless_ai.matching import match_document_types_by_name + from paperless_ai.matching import match_storage_paths_by_name + from paperless_ai.matching import match_tags_by_name + from paperless_ai.matching import resolve_correspondent_ids + from paperless_ai.matching import resolve_document_type_ids + from paperless_ai.matching import resolve_storage_path_ids + from paperless_ai.matching import resolve_tag_ids + output_language = get_llm_output_language( ai_config=ai_config, user=request.user, @@ -2446,6 +2446,9 @@ class ChatStreamingView(GenericAPIView[Any]): ) unrestricted = user_is_unrestricted(request.user) + from paperless_ai.ai_classifier import get_llm_output_language + from paperless_ai.chat import stream_chat_with_documents + output_language = get_llm_output_language( ai_config=ai_config, user=request.user, diff --git a/src/paperless/asgi.py b/src/paperless/asgi.py index 3d74a1edba..611b8a4a54 100644 --- a/src/paperless/asgi.py +++ b/src/paperless/asgi.py @@ -17,7 +17,7 @@ from paperless.urls import websocket_urlpatterns # noqa: E402 application = ProtocolTypeRouter( { - "http": get_asgi_application(), + "http": django_asgi_app, "websocket": AuthMiddlewareStack(URLRouter(websocket_urlpatterns)), }, ) diff --git a/src/paperless/parsers/mail.py b/src/paperless/parsers/mail.py index 198a2b544b..7fac9c669a 100644 --- a/src/paperless/parsers/mail.py +++ b/src/paperless/parsers/mail.py @@ -36,9 +36,6 @@ from humanize import naturalsize from imap_tools import MailAttachment from imap_tools import MailMessage from tika_client import TikaClient -from turbohtml.clean import Linkify -from turbohtml.clean import linkify -from turbohtml.migration.bleach import clean from documents.parsers import ParseError from documents.parsers import make_thumbnail_from_pdf @@ -622,6 +619,10 @@ class MailDocumentParser: def clean_html(text: str) -> str: """Attempt to clean, escape, and linkify the given HTML string.""" + from turbohtml.clean import Linkify + from turbohtml.clean import linkify + from turbohtml.migration.bleach import clean + if isinstance(text, list): text = "\n".join([str(e) for e in text]) if not isinstance(text, str): diff --git a/src/paperless/parsers/tesseract.py b/src/paperless/parsers/tesseract.py index 5a3b77f888..e8ff0f3b59 100644 --- a/src/paperless/parsers/tesseract.py +++ b/src/paperless/parsers/tesseract.py @@ -1,5 +1,6 @@ from __future__ import annotations +import functools import importlib.resources import logging import os @@ -39,9 +40,12 @@ if TYPE_CHECKING: logger = logging.getLogger("paperless.parsing.tesseract") -_SRGB_ICC_DATA: Final[bytes] = ( - importlib.resources.files("ocrmypdf.data").joinpath("sRGB.icc").read_bytes() -) + +@functools.cache +def _srgb_icc_data() -> bytes: + # Read on first use, importing ocrmypdf.data pulls in the whole ocrmypdf package + return importlib.resources.files("ocrmypdf.data").joinpath("sRGB.icc").read_bytes() + _SUPPORTED_MIME_TYPES: Final[dict[str, str]] = { "application/pdf": ".pdf", @@ -403,7 +407,7 @@ class RasterisedDocumentParser: pdfa_path = Path(self.tempdir) / "archive.pdf" try: with pikepdf.open(plain_pdf_path) as pdf: - cs = pdf.make_stream(_SRGB_ICC_DATA) + cs = pdf.make_stream(_srgb_icc_data()) cs["/N"] = 3 output_intent = pikepdf.Dictionary( Type=pikepdf.Name("/OutputIntent"), diff --git a/src/paperless/settings/custom.py b/src/paperless/settings/custom.py index 2bf53a8cc7..7b5b5a7494 100644 --- a/src/paperless/settings/custom.py +++ b/src/paperless/settings/custom.py @@ -6,7 +6,6 @@ from pathlib import Path from typing import Any from celery.schedules import crontab -from dateparser.languages.loader import LocaleDataLoader from paperless.settings.parsers import get_choice_from_env from paperless.settings.parsers import get_int_from_env @@ -352,6 +351,8 @@ def parse_dateparser_languages(languages: str | None) -> list[str]: ) language_list.append("zh") + from dateparser.languages.loader import LocaleDataLoader + return list(LocaleDataLoader().get_locale_map(locales=language_list)) diff --git a/src/paperless/tests/test_utils.py b/src/paperless/tests/test_utils.py index 1529138678..8dedc88546 100644 --- a/src/paperless/tests/test_utils.py +++ b/src/paperless/tests/test_utils.py @@ -59,7 +59,10 @@ def test_ocr_to_dateparser_languages_exception( raise RuntimeError("Simulated error") with caplog.at_level(logging.WARNING): - monkeypatch.setattr(utils, "LocaleDataLoader", lambda: DummyLoader()) + monkeypatch.setattr( + "dateparser.languages.loader.LocaleDataLoader", + lambda: DummyLoader(), + ) result = utils.ocr_to_dateparser_languages("eng+fra") assert result == [] assert ( diff --git a/src/paperless/utils.py b/src/paperless/utils.py index 46269588ca..9380901bf8 100644 --- a/src/paperless/utils.py +++ b/src/paperless/utils.py @@ -1,7 +1,5 @@ import logging -from dateparser.languages.loader import LocaleDataLoader - logger = logging.getLogger("paperless.utils") OCR_TO_DATEPARSER_LANGUAGES = { @@ -125,6 +123,8 @@ def ocr_to_dateparser_languages(ocr_languages: str) -> list[str]: - If a language cannot be mapped or validated, it is skipped with a warning. - Returns a list of valid locales, or an empty list if none could be converted. """ + from dateparser.languages.loader import LocaleDataLoader + loader = LocaleDataLoader() result = [] try: diff --git a/src/paperless/validators.py b/src/paperless/validators.py index 6e3c78f79b..fa907baa63 100644 --- a/src/paperless/validators.py +++ b/src/paperless/validators.py @@ -3,7 +3,6 @@ from io import BytesIO from django.conf import settings from django.core.exceptions import ValidationError from django.core.files.uploadedfile import UploadedFile -from lxml import etree from PIL import Image ALLOWED_SVG_TAGS: set[str] = { @@ -186,6 +185,7 @@ def reject_dangerous_svg(file: UploadedFile) -> None: Raises ValidationError if unsafe content is found. See GHSA-6p53-hqqw-8j62 """ + from lxml import etree try: parser = etree.XMLParser(resolve_entities=False) diff --git a/src/paperless/views.py b/src/paperless/views.py index ba1e6738dd..62b6242944 100644 --- a/src/paperless/views.py +++ b/src/paperless/views.py @@ -49,7 +49,6 @@ from paperless.serialisers import GroupSerializer from paperless.serialisers import PaperlessAuthTokenSerializer from paperless.serialisers import ProfileSerializer from paperless.serialisers import UserSerializer -from paperless_ai.indexing import llm_index_exists class PaperlessObtainAuthTokenView(ObtainAuthToken): @@ -471,6 +470,8 @@ class ApplicationConfigurationViewSet(ModelViewSet[ApplicationConfiguration]): or old_llm_embedding_model != new_llm_embedding_model or old_llm_context_size != new_llm_context_size ) + from paperless_ai.indexing import llm_index_exists + rebuild_needed = new_ai_index_enabled and ( not llm_index_exists() or embedding_config_changed ) From 5e397e12228d685e65b6bf001abd0c5622fab17d Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 30 Oct 2026 22:26:54 +0000 Subject: [PATCH 06/44] Auto translate strings --- src/locale/en_US/LC_MESSAGES/django.po | 38 +++++++++++++------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/locale/en_US/LC_MESSAGES/django.po b/src/locale/en_US/LC_MESSAGES/django.po index 5bcacd19ac..229eb80846 100644 --- a/src/locale/en_US/LC_MESSAGES/django.po +++ b/src/locale/en_US/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" +"POT-Creation-Date: 2026-10-30 22:26+0000\n" "PO-Revision-Date: 2022-02-17 04:17\n" "Last-Translator: \n" "Language-Team: English\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "" -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "" -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "" -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "" -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "" -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "" -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "" @@ -1657,7 +1657,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2733 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "" @@ -1698,7 +1698,7 @@ msgstr "" msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4783 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1949,11 +1949,11 @@ msgstr "" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2730 msgid "Invalid more_like_id" msgstr "" @@ -1969,20 +1969,20 @@ msgstr "" msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4799 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4843 +#: documents/views.py:4846 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4909 +#: documents/views.py:4912 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4923 +#: documents/views.py:4926 msgid "The share link bundle is unavailable." msgstr "" From 2925b8de81a971bcd936f49de368663443ff4cc2 Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Fri, 30 Oct 2026 15:37:37 -0700 Subject: [PATCH 07/44] Chore: Skip repeating Django system checks in the Docker consumer, scheduler and worker (#14598) The init-system-checks step already runs them once and all three services depend on init-complete. Measured idle anon PSS saved on Python 3.14: consumer 14 MiB, beat 26 MiB, worker 27 MiB. --- docker/rootfs/etc/s6-overlay/s6-rc.d/svc-consumer/run | 6 ++++-- docker/rootfs/etc/s6-overlay/s6-rc.d/svc-scheduler/run | 5 +++-- docker/rootfs/etc/s6-overlay/s6-rc.d/svc-worker/run | 5 +++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/docker/rootfs/etc/s6-overlay/s6-rc.d/svc-consumer/run b/docker/rootfs/etc/s6-overlay/s6-rc.d/svc-consumer/run index 209803d414..ab8d6b6dfd 100755 --- a/docker/rootfs/etc/s6-overlay/s6-rc.d/svc-consumer/run +++ b/docker/rootfs/etc/s6-overlay/s6-rc.d/svc-consumer/run @@ -10,9 +10,11 @@ if [[ -n "${PAPERLESS_CONSUMER_DISABLE}" ]]; then else cd ${PAPERLESS_SRC_DIR} + # Django system checks already ran once in init-system-checks, skip repeating them + if [[ -n "${USER_IS_NON_ROOT}" ]]; then - exec python3 manage.py document_consumer + exec python3 manage.py document_consumer --skip-checks else - exec s6-setuidgid paperless python3 manage.py document_consumer + exec s6-setuidgid paperless python3 manage.py document_consumer --skip-checks fi fi diff --git a/docker/rootfs/etc/s6-overlay/s6-rc.d/svc-scheduler/run b/docker/rootfs/etc/s6-overlay/s6-rc.d/svc-scheduler/run index 396a4d2e09..a3f9da5d14 100755 --- a/docker/rootfs/etc/s6-overlay/s6-rc.d/svc-scheduler/run +++ b/docker/rootfs/etc/s6-overlay/s6-rc.d/svc-scheduler/run @@ -3,8 +3,9 @@ cd ${PAPERLESS_SRC_DIR} +# Django system checks already ran once in init-system-checks, skip repeating them if [[ -n "${USER_IS_NON_ROOT}" ]]; then - exec /usr/local/bin/celery --app paperless beat --loglevel INFO + exec /usr/local/bin/celery --skip-checks --app paperless beat --loglevel INFO else - exec s6-setuidgid paperless /usr/local/bin/celery --app paperless beat --loglevel INFO + exec s6-setuidgid paperless /usr/local/bin/celery --skip-checks --app paperless beat --loglevel INFO fi diff --git a/docker/rootfs/etc/s6-overlay/s6-rc.d/svc-worker/run b/docker/rootfs/etc/s6-overlay/s6-rc.d/svc-worker/run index 0bf833c56e..0fb5d0f233 100755 --- a/docker/rootfs/etc/s6-overlay/s6-rc.d/svc-worker/run +++ b/docker/rootfs/etc/s6-overlay/s6-rc.d/svc-worker/run @@ -3,8 +3,9 @@ cd ${PAPERLESS_SRC_DIR} +# Django system checks already ran once in init-system-checks, skip repeating them if [[ -n "${USER_IS_NON_ROOT}" ]]; then - exec /usr/local/bin/celery --app paperless worker --loglevel INFO --without-mingle --without-gossip + exec /usr/local/bin/celery --skip-checks --app paperless worker --loglevel INFO --without-mingle --without-gossip else - exec s6-setuidgid paperless /usr/local/bin/celery --app paperless worker --loglevel INFO --without-mingle --without-gossip + exec s6-setuidgid paperless /usr/local/bin/celery --skip-checks --app paperless worker --loglevel INFO --without-mingle --without-gossip fi From ebddd5687ce9817916e59e26f0c66778ff2b3457 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 30 Oct 2026 15:45:46 -0700 Subject: [PATCH 08/44] Chore: fix a couple e2e warnings / flakiness (#14596) --- src-ui/e2e/backend.py | 10 +++++++++- .../e2e/document-detail/document-detail.spec.ts | 15 ++++++++++++--- .../e2e/permissions/global-permissions.spec.ts | 16 ++++++++-------- 3 files changed, 29 insertions(+), 12 deletions(-) diff --git a/src-ui/e2e/backend.py b/src-ui/e2e/backend.py index 0a4ed8fa32..b4a77bd2ec 100644 --- a/src-ui/e2e/backend.py +++ b/src-ui/e2e/backend.py @@ -43,6 +43,7 @@ def configure_environment(instance_root: Path) -> None: def seed_database() -> None: + from django.contrib.auth.models import Permission from django.contrib.auth.models import User from django.core.management import call_command from django.utils import timezone @@ -63,11 +64,18 @@ def seed_database() -> None: username="playwright", password="playwright", # NOSONAR ) - User.objects.create_user( + viewer = User.objects.create_user( username="viewer", password="viewer", # NOSONAR ) + viewer.user_permissions.add( + Permission.objects.get( + content_type__app_label="documents", + codename="view_uisettings", + ), + ) + inbox = Tag.objects.create(name="Inbox", is_inbox_tag=True, owner=admin) quick_filter = Tag.objects.create(name="Another Sample Tag", owner=admin) Tag.objects.create(name="TagWithPartial", owner=admin) diff --git a/src-ui/e2e/document-detail/document-detail.spec.ts b/src-ui/e2e/document-detail/document-detail.spec.ts index 2eaec2263e..ba3d8841e4 100644 --- a/src-ui/e2e/document-detail/document-detail.spec.ts +++ b/src-ui/e2e/document-detail/document-detail.spec.ts @@ -80,12 +80,21 @@ test('should show a list of notes', async ({ page }) => { test('should support quick filters', async ({ page }) => { await page.goto('/documents/1/details') + // filter button is available before tags have loaded + const selectedTags = page.locator('pngx-input-tags .ng-value pngx-tag') + await expect(selectedTags).toHaveCount(2) + await expect( + selectedTags.getByText('Another Sample Tag', { exact: true }) + ).toBeVisible() + await expect(selectedTags.getByText('Inbox', { exact: true })).toBeVisible() await page .getByRole('button', { name: 'Filter documents with these Tags' }) .click() - await expect(page).toHaveURL( - /tags__id__all=2,1&sort=created&reverse=1&page=1/ - ) + await expect(page).toHaveURL((url) => { + const tags = url.searchParams.get('tags__id__all')?.split(',').sort() + return url.pathname === '/documents' && tags?.join(',') === '1,2' + }) + await expect(page.locator('pngx-document-list')).toHaveText(/one document/i) }) test('should finish reloading the preview after a remote document update', async ({ diff --git a/src-ui/e2e/permissions/global-permissions.spec.ts b/src-ui/e2e/permissions/global-permissions.spec.ts index 42d9002ff5..1cff42b27b 100644 --- a/src-ui/e2e/permissions/global-permissions.spec.ts +++ b/src-ui/e2e/permissions/global-permissions.spec.ts @@ -6,8 +6,15 @@ test.use({ }, }) -test('should not allow user to edit settings', async ({ page }) => { +test.beforeEach(async ({ page }) => { + const settingsLoaded = page.waitForResponse((response) => + response.url().endsWith('/api/ui_settings/') + ) await page.goto('/dashboard') + expect((await settingsLoaded).status()).toBe(200) +}) + +test('should not allow user to edit settings', async ({ page }) => { await expect(page.getByRole('link', { name: 'Settings' })).not.toBeAttached() await page.goto('/settings') await expect(page.locator('body')).toHaveText( @@ -16,7 +23,6 @@ test('should not allow user to edit settings', async ({ page }) => { }) test('should not allow user to view documents', async ({ page }) => { - await page.goto('/dashboard') await expect( page.locator('nav').getByRole('link', { name: 'Documents' }) ).not.toBeAttached() @@ -31,7 +37,6 @@ test('should not allow user to view documents', async ({ page }) => { }) test('should not allow user to view correspondents', async ({ page }) => { - await page.goto('/dashboard') await expect( page.getByRole('link', { name: 'Attributes' }) ).not.toBeAttached() @@ -42,7 +47,6 @@ test('should not allow user to view correspondents', async ({ page }) => { }) test('should not allow user to view tags', async ({ page }) => { - await page.goto('/dashboard') await expect( page.getByRole('link', { name: 'Attributes' }) ).not.toBeAttached() @@ -53,7 +57,6 @@ test('should not allow user to view tags', async ({ page }) => { }) test('should not allow user to view document types', async ({ page }) => { - await page.goto('/dashboard') await expect( page.getByRole('link', { name: 'Attributes' }) ).not.toBeAttached() @@ -64,7 +67,6 @@ test('should not allow user to view document types', async ({ page }) => { }) test('should not allow user to view storage paths', async ({ page }) => { - await page.goto('/dashboard') await expect( page.getByRole('link', { name: 'Attributes' }) ).not.toBeAttached() @@ -75,7 +77,6 @@ test('should not allow user to view storage paths', async ({ page }) => { }) test('should not allow user to view logs', async ({ page }) => { - await page.goto('/dashboard') await expect(page.getByRole('link', { name: 'Logs' })).not.toBeAttached() await page.goto('/logs') await expect(page.locator('body')).toHaveText( @@ -84,7 +85,6 @@ test('should not allow user to view logs', async ({ page }) => { }) test('should not allow user to view tasks', async ({ page }) => { - await page.goto('/dashboard') await expect(page.getByRole('link', { name: 'Tasks' })).not.toBeAttached() await page.goto('/tasks') await expect(page.locator('body')).toHaveText( From 331fa1308873512e15d00da6f7ed0bdf24a0a917 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 30 Oct 2026 16:16:48 -0700 Subject: [PATCH 09/44] Fix: drop redundant change perms checks on cards open button (#14601) --- .../document-card-large/document-card-large.component.html | 2 +- .../document-card-large/document-card-large.component.spec.ts | 2 -- .../document-card-large/document-card-large.component.ts | 2 -- .../document-card-small/document-card-small.component.html | 2 +- .../document-card-small/document-card-small.component.ts | 2 -- 5 files changed, 2 insertions(+), 8 deletions(-) diff --git a/src-ui/src/app/components/document-list/document-card-large/document-card-large.component.html b/src-ui/src/app/components/document-list/document-card-large/document-card-large.component.html index 30acc44e27..767a2b3764 100644 --- a/src-ui/src/app/components/document-list/document-card-large/document-card-large.component.html +++ b/src-ui/src/app/components/document-list/document-card-large/document-card-large.component.html @@ -72,7 +72,7 @@ More like this - + Open diff --git a/src-ui/src/app/components/document-list/document-card-large/document-card-large.component.spec.ts b/src-ui/src/app/components/document-list/document-card-large/document-card-large.component.spec.ts index 4737f53374..53ba36deef 100644 --- a/src-ui/src/app/components/document-list/document-card-large/document-card-large.component.spec.ts +++ b/src-ui/src/app/components/document-list/document-card-large/document-card-large.component.spec.ts @@ -10,7 +10,6 @@ import { NgbTooltipModule, } from '@ng-bootstrap/ng-bootstrap' import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' -import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' import { CustomDatePipe } from 'src/app/pipes/custom-date.pipe' import { DocumentTitlePipe } from 'src/app/pipes/document-title.pipe' import { IsNumberPipe } from 'src/app/pipes/is-number.pipe' @@ -52,7 +51,6 @@ describe('DocumentCardLargeComponent', () => { DocumentCardLargeComponent, DocumentTitlePipe, CustomDatePipe, - IfPermissionsDirective, SafeUrlPipe, IsNumberPipe, PreviewPopupComponent, diff --git a/src-ui/src/app/components/document-list/document-card-large/document-card-large.component.ts b/src-ui/src/app/components/document-list/document-card-large/document-card-large.component.ts index d0ff0ea3e5..cd3259e942 100644 --- a/src-ui/src/app/components/document-list/document-card-large/document-card-large.component.ts +++ b/src-ui/src/app/components/document-list/document-card-large/document-card-large.component.ts @@ -20,7 +20,6 @@ import { Document, } from 'src/app/data/document' import { SETTINGS_KEYS } from 'src/app/data/ui-settings' -import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' import { CorrespondentNamePipe } from 'src/app/pipes/correspondent-name.pipe' import { CustomDatePipe } from 'src/app/pipes/custom-date.pipe' import { DocumentTitlePipe } from 'src/app/pipes/document-title.pipe' @@ -51,7 +50,6 @@ import { LoadingComponentWithPermissions } from '../../loading-component/loading CorrespondentNamePipe, DocumentTypeNamePipe, StoragePathNamePipe, - IfPermissionsDirective, CustomDatePipe, RouterModule, NgbTooltipModule, diff --git a/src-ui/src/app/components/document-list/document-card-small/document-card-small.component.html b/src-ui/src/app/components/document-list/document-card-small/document-card-small.component.html index e251e62116..f0b8fde2b9 100644 --- a/src-ui/src/app/components/document-list/document-card-small/document-card-small.component.html +++ b/src-ui/src/app/components/document-list/document-card-small/document-card-small.component.html @@ -144,7 +144,7 @@
@if (document()) { - + diff --git a/src-ui/src/app/components/document-list/document-card-small/document-card-small.component.ts b/src-ui/src/app/components/document-list/document-card-small/document-card-small.component.ts index a0e8bd2ab2..e1d86c3f56 100644 --- a/src-ui/src/app/components/document-list/document-card-small/document-card-small.component.ts +++ b/src-ui/src/app/components/document-list/document-card-small/document-card-small.component.ts @@ -20,7 +20,6 @@ import { Document, } from 'src/app/data/document' import { SETTINGS_KEYS } from 'src/app/data/ui-settings' -import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' import { CorrespondentNamePipe } from 'src/app/pipes/correspondent-name.pipe' import { CustomDatePipe } from 'src/app/pipes/custom-date.pipe' import { DocumentTitlePipe } from 'src/app/pipes/document-title.pipe' @@ -51,7 +50,6 @@ import { LoadingComponentWithPermissions } from '../../loading-component/loading CorrespondentNamePipe, DocumentTypeNamePipe, StoragePathNamePipe, - IfPermissionsDirective, CustomDatePipe, RouterModule, NgbTooltipModule, From 11248f776d5b10c50f1af8883568b93bf1ed8159 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 30 Oct 2026 21:47:12 -0700 Subject: [PATCH 10/44] Fix: fix the id__none schema in the right place (#14604) --- src/documents/tests/test_api_schema.py | 29 ++++++++++++++++++++++++++ src/documents/views.py | 24 ++++++++++----------- 2 files changed, 40 insertions(+), 13 deletions(-) diff --git a/src/documents/tests/test_api_schema.py b/src/documents/tests/test_api_schema.py index 886e4bceb9..f5c60e80d4 100644 --- a/src/documents/tests/test_api_schema.py +++ b/src/documents/tests/test_api_schema.py @@ -308,3 +308,32 @@ class TestBulkDownloadSchema: def test_bulk_download_response_403(self, api_schema: SchemaGenerator) -> None: op = api_schema["paths"]["/api/documents/bulk_download/"]["post"] assert "403" in op["responses"] + + +class TestDocumentListObjectFilterSchema: + """documents_list: comma-separated ObjectFilter params must be typed as integer arrays.""" + + @pytest.mark.parametrize( + "param_name", + [ + "tags__id__all", + "tags__id__none", + "tags__id__in", + "correspondent__id__none", + "document_type__id__none", + "storage_path__id__none", + "owner__id__none", + "custom_fields__id__all", + "custom_fields__id__none", + "custom_fields__id__in", + ], + ) + def test_object_filter_param_is_integer_array( + self, + api_schema: SchemaGenerator, + param_name: str, + ) -> None: + params = api_schema["paths"]["/api/documents/"]["get"]["parameters"] + param = next(p for p in params if p["name"] == param_name) + assert param["schema"] == {"type": "array", "items": {"type": "integer"}} + assert param["explode"] is False diff --git a/src/documents/views.py b/src/documents/views.py index 5a4a782965..51dab2ecd9 100644 --- a/src/documents/views.py +++ b/src/documents/views.py @@ -687,19 +687,6 @@ class EmailDocumentDetailSchema(EmailSerializer): @extend_schema_view( - list=extend_schema( - parameters=[ - OpenApiParameter( - name=name, - type=OpenApiTypes.INT, - many=True, - style="form", - explode=False, - ) - for name, field in DocumentFilterSet.base_filters.items() - if isinstance(field, ObjectFilter) - ], - ), retrieve=extend_schema( description="Retrieve a single document", responses={ @@ -2470,6 +2457,17 @@ class ChatStreamingView(GenericAPIView[Any]): list=extend_schema( description="Document views including search", parameters=[ + *( + OpenApiParameter( + name=name, + type=OpenApiTypes.INT, + many=True, + style="form", + explode=False, + ) + for name, field in DocumentFilterSet.base_filters.items() + if isinstance(field, ObjectFilter) + ), OpenApiParameter( name="text", type=OpenApiTypes.STR, From 91b35eada612211ad9a83d15f85a5a02fde41bb6 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 31 Oct 2026 04:48:33 +0000 Subject: [PATCH 11/44] Auto translate strings --- src/locale/en_US/LC_MESSAGES/django.po | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/locale/en_US/LC_MESSAGES/django.po b/src/locale/en_US/LC_MESSAGES/django.po index 229eb80846..f647c5a607 100644 --- a/src/locale/en_US/LC_MESSAGES/django.po +++ b/src/locale/en_US/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-30 22:26+0000\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" "PO-Revision-Date: 2022-02-17 04:17\n" "Last-Translator: \n" "Language-Team: English\n" @@ -1657,7 +1657,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2733 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "" @@ -1698,7 +1698,7 @@ msgstr "" msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2958 documents/views.py:4783 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1953,36 +1953,36 @@ msgstr "" msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:341 documents/views.py:2730 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4799 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4846 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4912 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4926 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "" From 98d2ddd1c674b9b29f025f82d53317097ff207bd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 31 Oct 2026 05:12:07 +0000 Subject: [PATCH 12/44] New Crowdin translations by GitHub Action (#14584) Co-authored-by: Crowdin Bot --- src-ui/src/locale/messages.af_ZA.xlf | 18 +- src-ui/src/locale/messages.am_ET.xlf | 18 +- src-ui/src/locale/messages.ar_AR.xlf | 18 +- src-ui/src/locale/messages.be_BY.xlf | 18 +- src-ui/src/locale/messages.bg_BG.xlf | 18 +- src-ui/src/locale/messages.ca_ES.xlf | 18 +- src-ui/src/locale/messages.cs_CZ.xlf | 18 +- src-ui/src/locale/messages.da_DK.xlf | 18 +- src-ui/src/locale/messages.de_CH.xlf | 18 +- src-ui/src/locale/messages.de_DE.xlf | 50 +- src-ui/src/locale/messages.el_GR.xlf | 18 +- src-ui/src/locale/messages.es_ES.xlf | 18 +- src-ui/src/locale/messages.et_EE.xlf | 18 +- src-ui/src/locale/messages.fa_IR.xlf | 18 +- src-ui/src/locale/messages.fi_FI.xlf | 18 +- src-ui/src/locale/messages.fr_FR.xlf | 26 +- src-ui/src/locale/messages.he_IL.xlf | 18 +- src-ui/src/locale/messages.hi_IN.xlf | 18 +- src-ui/src/locale/messages.hr_HR.xlf | 18 +- src-ui/src/locale/messages.hu_HU.xlf | 18 +- src-ui/src/locale/messages.id_ID.xlf | 18 +- src-ui/src/locale/messages.it_IT.xlf | 18 +- src-ui/src/locale/messages.ja_JP.xlf | 18 +- src-ui/src/locale/messages.ko_KR.xlf | 18 +- src-ui/src/locale/messages.lb_LU.xlf | 18 +- src-ui/src/locale/messages.lt_LT.xlf | 18 +- src-ui/src/locale/messages.lv_LV.xlf | 18 +- src-ui/src/locale/messages.mk_MK.xlf | 3007 ++++++++++++------------ src-ui/src/locale/messages.ms_MY.xlf | 18 +- src-ui/src/locale/messages.nl_NL.xlf | 18 +- src-ui/src/locale/messages.no_NO.xlf | 18 +- src-ui/src/locale/messages.pl_PL.xlf | 18 +- src-ui/src/locale/messages.pt_BR.xlf | 18 +- src-ui/src/locale/messages.pt_PT.xlf | 18 +- src-ui/src/locale/messages.ro_RO.xlf | 18 +- src-ui/src/locale/messages.ru_RU.xlf | 18 +- src-ui/src/locale/messages.sk_SK.xlf | 18 +- src-ui/src/locale/messages.sl_SI.xlf | 18 +- src-ui/src/locale/messages.sq_AL.xlf | 18 +- src-ui/src/locale/messages.sr_CS.xlf | 18 +- src-ui/src/locale/messages.sv_SE.xlf | 18 +- src-ui/src/locale/messages.th_TH.xlf | 18 +- src-ui/src/locale/messages.tr_TR.xlf | 18 +- src-ui/src/locale/messages.uk_UA.xlf | 18 +- src-ui/src/locale/messages.vi_VN.xlf | 18 +- src-ui/src/locale/messages.zh_CN.xlf | 18 +- src-ui/src/locale/messages.zh_TW.xlf | 18 +- src/locale/af_ZA/LC_MESSAGES/django.po | 46 +- src/locale/am_ET/LC_MESSAGES/django.po | 46 +- src/locale/ar_AR/LC_MESSAGES/django.po | 46 +- src/locale/be_BY/LC_MESSAGES/django.po | 46 +- src/locale/bg_BG/LC_MESSAGES/django.po | 46 +- src/locale/ca_ES/LC_MESSAGES/django.po | 46 +- src/locale/cs_CZ/LC_MESSAGES/django.po | 46 +- src/locale/da_DK/LC_MESSAGES/django.po | 46 +- src/locale/de_CH/LC_MESSAGES/django.po | 46 +- src/locale/de_DE/LC_MESSAGES/django.po | 48 +- src/locale/el_GR/LC_MESSAGES/django.po | 46 +- src/locale/es_ES/LC_MESSAGES/django.po | 46 +- src/locale/et_EE/LC_MESSAGES/django.po | 46 +- src/locale/fa_IR/LC_MESSAGES/django.po | 46 +- src/locale/fi_FI/LC_MESSAGES/django.po | 46 +- src/locale/fr_FR/LC_MESSAGES/django.po | 48 +- src/locale/he_IL/LC_MESSAGES/django.po | 46 +- src/locale/hi_IN/LC_MESSAGES/django.po | 46 +- src/locale/hr_HR/LC_MESSAGES/django.po | 46 +- src/locale/hu_HU/LC_MESSAGES/django.po | 46 +- src/locale/id_ID/LC_MESSAGES/django.po | 46 +- src/locale/it_IT/LC_MESSAGES/django.po | 46 +- src/locale/ja_JP/LC_MESSAGES/django.po | 46 +- src/locale/ko_KR/LC_MESSAGES/django.po | 46 +- src/locale/lb_LU/LC_MESSAGES/django.po | 46 +- src/locale/lt_LT/LC_MESSAGES/django.po | 46 +- src/locale/lv_LV/LC_MESSAGES/django.po | 46 +- src/locale/mk_MK/LC_MESSAGES/django.po | 1389 +++++------ src/locale/ms_MY/LC_MESSAGES/django.po | 46 +- src/locale/nl_NL/LC_MESSAGES/django.po | 46 +- src/locale/no_NO/LC_MESSAGES/django.po | 46 +- src/locale/pl_PL/LC_MESSAGES/django.po | 46 +- src/locale/pt_BR/LC_MESSAGES/django.po | 46 +- src/locale/pt_PT/LC_MESSAGES/django.po | 46 +- src/locale/ro_RO/LC_MESSAGES/django.po | 46 +- src/locale/ru_RU/LC_MESSAGES/django.po | 46 +- src/locale/sk_SK/LC_MESSAGES/django.po | 46 +- src/locale/sl_SI/LC_MESSAGES/django.po | 46 +- src/locale/sq_AL/LC_MESSAGES/django.po | 46 +- src/locale/sr_CS/LC_MESSAGES/django.po | 46 +- src/locale/sv_SE/LC_MESSAGES/django.po | 46 +- src/locale/th_TH/LC_MESSAGES/django.po | 46 +- src/locale/tr_TR/LC_MESSAGES/django.po | 46 +- src/locale/uk_UA/LC_MESSAGES/django.po | 46 +- src/locale/vi_VN/LC_MESSAGES/django.po | 46 +- src/locale/zh_CN/LC_MESSAGES/django.po | 46 +- src/locale/zh_TW/LC_MESSAGES/django.po | 46 +- 94 files changed, 3692 insertions(+), 3692 deletions(-) diff --git a/src-ui/src/locale/messages.af_ZA.xlf b/src-ui/src/locale/messages.af_ZA.xlf index ea515f8c2b..eb6ff63ffe 100644 --- a/src-ui/src/locale/messages.af_ZA.xlf +++ b/src-ui/src/locale/messages.af_ZA.xlf @@ -11397,22 +11397,22 @@ Sort by - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Wysig dokument - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Preview document + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Wysig dokument + Reset filters / selection diff --git a/src-ui/src/locale/messages.am_ET.xlf b/src-ui/src/locale/messages.am_ET.xlf index 03a0611457..f50c72c612 100644 --- a/src-ui/src/locale/messages.am_ET.xlf +++ b/src-ui/src/locale/messages.am_ET.xlf @@ -11397,22 +11397,22 @@ Sort by - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Edit document - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Preview document + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Edit document + Reset filters / selection diff --git a/src-ui/src/locale/messages.ar_AR.xlf b/src-ui/src/locale/messages.ar_AR.xlf index c975aa54b1..76848ca43f 100644 --- a/src-ui/src/locale/messages.ar_AR.xlf +++ b/src-ui/src/locale/messages.ar_AR.xlf @@ -11397,22 +11397,22 @@ Sort by - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - تعديل المستند - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Preview document + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + تعديل المستند + Reset filters / selection diff --git a/src-ui/src/locale/messages.be_BY.xlf b/src-ui/src/locale/messages.be_BY.xlf index 2e02f5b431..9f3cd51f5e 100644 --- a/src-ui/src/locale/messages.be_BY.xlf +++ b/src-ui/src/locale/messages.be_BY.xlf @@ -11397,22 +11397,22 @@ Sort by - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Рэдагаваць дакумент - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Preview document + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Рэдагаваць дакумент + Reset filters / selection diff --git a/src-ui/src/locale/messages.bg_BG.xlf b/src-ui/src/locale/messages.bg_BG.xlf index 887185fa2e..389fe017f2 100644 --- a/src-ui/src/locale/messages.bg_BG.xlf +++ b/src-ui/src/locale/messages.bg_BG.xlf @@ -11397,22 +11397,22 @@ Сортирай по: - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Редактиране на документа - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Визуализация на документа + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Редактиране на документа + Reset filters / selection diff --git a/src-ui/src/locale/messages.ca_ES.xlf b/src-ui/src/locale/messages.ca_ES.xlf index 21223aaa5c..541331fcb3 100644 --- a/src-ui/src/locale/messages.ca_ES.xlf +++ b/src-ui/src/locale/messages.ca_ES.xlf @@ -11397,22 +11397,22 @@ Ordena per - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Edita document - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Previsualitza document + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Edita document + Reset filters / selection diff --git a/src-ui/src/locale/messages.cs_CZ.xlf b/src-ui/src/locale/messages.cs_CZ.xlf index a1a0ac60ad..a3260e1a7b 100644 --- a/src-ui/src/locale/messages.cs_CZ.xlf +++ b/src-ui/src/locale/messages.cs_CZ.xlf @@ -11396,22 +11396,22 @@ Seřadit podle - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Upravit dokument - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Náhled dokumentu + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Upravit dokument + Reset filters / selection diff --git a/src-ui/src/locale/messages.da_DK.xlf b/src-ui/src/locale/messages.da_DK.xlf index 5c8b162587..5ab1484ec9 100644 --- a/src-ui/src/locale/messages.da_DK.xlf +++ b/src-ui/src/locale/messages.da_DK.xlf @@ -11397,22 +11397,22 @@ Sort by - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Edit document - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Preview document + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Edit document + Reset filters / selection diff --git a/src-ui/src/locale/messages.de_CH.xlf b/src-ui/src/locale/messages.de_CH.xlf index 3c21383872..8c19c67627 100644 --- a/src-ui/src/locale/messages.de_CH.xlf +++ b/src-ui/src/locale/messages.de_CH.xlf @@ -11396,22 +11396,22 @@ Nach sortieren - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Dokument bearbeiten - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Dokumentenvorschau + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Dokument bearbeiten + Reset filters / selection diff --git a/src-ui/src/locale/messages.de_DE.xlf b/src-ui/src/locale/messages.de_DE.xlf index a073ea4093..9492d1d2b0 100644 --- a/src-ui/src/locale/messages.de_DE.xlf +++ b/src-ui/src/locale/messages.de_DE.xlf @@ -4795,7 +4795,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html 38 - Date mode + Datumsmodus Fixed date @@ -4807,7 +4807,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html 40 - Fixed date + Festes Datum Fixed @@ -4815,7 +4815,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html 41,42 - Fixed + Fixiert Relative date @@ -4827,7 +4827,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html 44 - Relative date + Relatives Datum Relative @@ -4835,7 +4835,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html 45,46 - Relative + Relativ Amount @@ -4843,7 +4843,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html 51 - Amount + Anzahl Unit @@ -4851,7 +4851,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html 56,57 - Unit + Einheit Open date picker @@ -4991,7 +4991,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html 119,120 - Operator + Operator Remove query @@ -5051,7 +5051,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.ts 330 - days ago + vor Tagen weeks ago @@ -5059,7 +5059,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.ts 331 - weeks ago + vor Wochen months ago @@ -5067,7 +5067,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.ts 332 - months ago + vor Monaten years ago @@ -5075,7 +5075,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.ts 333 - years ago + vor Jahren days from now @@ -5083,7 +5083,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.ts 334 - days from now + Tage von heute an weeks from now @@ -5091,7 +5091,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.ts 335 - weeks from now + Wochen von heute an months from now @@ -5099,7 +5099,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.ts 336 - months from now + Monate von heute an years from now @@ -5107,7 +5107,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.ts 337 - years from now + Jahr von heute an Clear created relative date @@ -11396,22 +11396,22 @@ Nach sortieren - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Dokument bearbeiten - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Dokumentenvorschau + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Dokument bearbeiten + Reset filters / selection diff --git a/src-ui/src/locale/messages.el_GR.xlf b/src-ui/src/locale/messages.el_GR.xlf index 365f7b825d..132d389aa4 100644 --- a/src-ui/src/locale/messages.el_GR.xlf +++ b/src-ui/src/locale/messages.el_GR.xlf @@ -11397,22 +11397,22 @@ Sort by - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Επεξεργασία εγγράφου - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Preview document + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Επεξεργασία εγγράφου + Reset filters / selection diff --git a/src-ui/src/locale/messages.es_ES.xlf b/src-ui/src/locale/messages.es_ES.xlf index d916bbf119..fce6899ace 100644 --- a/src-ui/src/locale/messages.es_ES.xlf +++ b/src-ui/src/locale/messages.es_ES.xlf @@ -11397,22 +11397,22 @@ Ordenar por - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Editar documento - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Previsualizar documento + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Editar documento + Reset filters / selection diff --git a/src-ui/src/locale/messages.et_EE.xlf b/src-ui/src/locale/messages.et_EE.xlf index 23ba2f581f..1ebe63fe0e 100644 --- a/src-ui/src/locale/messages.et_EE.xlf +++ b/src-ui/src/locale/messages.et_EE.xlf @@ -11397,22 +11397,22 @@ Sort by - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Edit document - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Preview document + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Edit document + Reset filters / selection diff --git a/src-ui/src/locale/messages.fa_IR.xlf b/src-ui/src/locale/messages.fa_IR.xlf index 51d2a3f84f..2a1929e531 100644 --- a/src-ui/src/locale/messages.fa_IR.xlf +++ b/src-ui/src/locale/messages.fa_IR.xlf @@ -11397,22 +11397,22 @@ Sort by - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - سند ویرایش - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 سند پیش نمایش + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + سند ویرایش + Reset filters / selection diff --git a/src-ui/src/locale/messages.fi_FI.xlf b/src-ui/src/locale/messages.fi_FI.xlf index dea436e372..2bf0467793 100644 --- a/src-ui/src/locale/messages.fi_FI.xlf +++ b/src-ui/src/locale/messages.fi_FI.xlf @@ -11397,22 +11397,22 @@ Sort by - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Muokkaa asiakirjaa - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Esikatsele asiakirja + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Muokkaa asiakirjaa + Reset filters / selection diff --git a/src-ui/src/locale/messages.fr_FR.xlf b/src-ui/src/locale/messages.fr_FR.xlf index 567a18a170..4c0912c6ae 100644 --- a/src-ui/src/locale/messages.fr_FR.xlf +++ b/src-ui/src/locale/messages.fr_FR.xlf @@ -3719,7 +3719,7 @@ src/app/components/admin/users-groups/users-groups.component.ts 163 - Erreur lors de la supression de l’utilisateur «  ». + Erreur lors de la suppression de l’utilisateur «  ». Saved group "". @@ -3767,7 +3767,7 @@ src/app/components/admin/users-groups/users-groups.component.ts 220 - Erreur lors de la supression du groupe «  ». + Erreur lors de la suppression du groupe «  ». by Paperless-ngx @@ -6935,7 +6935,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 410 - Destinatires du courriel + Destinataires du courriel Attach document @@ -10930,7 +10930,7 @@ src/app/components/document-list/document-card-small/document-card-small.component.html 8,9 - mignature + miniature Filter by tag @@ -11396,22 +11396,22 @@ Trier par - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Modifier le document - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Prévisualiser le document + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Modifier le document + Reset filters / selection diff --git a/src-ui/src/locale/messages.he_IL.xlf b/src-ui/src/locale/messages.he_IL.xlf index 76b67e63d3..87d6342894 100644 --- a/src-ui/src/locale/messages.he_IL.xlf +++ b/src-ui/src/locale/messages.he_IL.xlf @@ -11396,22 +11396,22 @@ מיון לפי - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - עריכת מסמך - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 תצוגה מקדימה של המסמך + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + עריכת מסמך + Reset filters / selection diff --git a/src-ui/src/locale/messages.hi_IN.xlf b/src-ui/src/locale/messages.hi_IN.xlf index e2f85aaba3..da18a39c78 100644 --- a/src-ui/src/locale/messages.hi_IN.xlf +++ b/src-ui/src/locale/messages.hi_IN.xlf @@ -11397,22 +11397,22 @@ Sort by - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Edit document - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Preview document + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Edit document + Reset filters / selection diff --git a/src-ui/src/locale/messages.hr_HR.xlf b/src-ui/src/locale/messages.hr_HR.xlf index b6f1c6e44c..d7a5cb3c2a 100644 --- a/src-ui/src/locale/messages.hr_HR.xlf +++ b/src-ui/src/locale/messages.hr_HR.xlf @@ -11397,22 +11397,22 @@ Sortiraj po - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Uredi dokument - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Pregledaj dokument + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Uredi dokument + Reset filters / selection diff --git a/src-ui/src/locale/messages.hu_HU.xlf b/src-ui/src/locale/messages.hu_HU.xlf index fda0345489..57cb0bbca4 100644 --- a/src-ui/src/locale/messages.hu_HU.xlf +++ b/src-ui/src/locale/messages.hu_HU.xlf @@ -11397,22 +11397,22 @@ Rendezés szerint - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Dokumentum szerkesztése - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Dokumentum előnézete + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Dokumentum szerkesztése + Reset filters / selection diff --git a/src-ui/src/locale/messages.id_ID.xlf b/src-ui/src/locale/messages.id_ID.xlf index 36fdd5f929..094f00c5d8 100644 --- a/src-ui/src/locale/messages.id_ID.xlf +++ b/src-ui/src/locale/messages.id_ID.xlf @@ -11396,22 +11396,22 @@ Urutkan berdasarkan - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Edit dokumen - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Pratinjau dokumen + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Edit dokumen + Reset filters / selection diff --git a/src-ui/src/locale/messages.it_IT.xlf b/src-ui/src/locale/messages.it_IT.xlf index 8c4e5ccb71..dfe438942f 100644 --- a/src-ui/src/locale/messages.it_IT.xlf +++ b/src-ui/src/locale/messages.it_IT.xlf @@ -11397,22 +11397,22 @@ Ordina per - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Modifica documento - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Anteprima documento + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Modifica documento + Reset filters / selection diff --git a/src-ui/src/locale/messages.ja_JP.xlf b/src-ui/src/locale/messages.ja_JP.xlf index 941192863d..c0cc2c94ab 100644 --- a/src-ui/src/locale/messages.ja_JP.xlf +++ b/src-ui/src/locale/messages.ja_JP.xlf @@ -11396,22 +11396,22 @@ でソート - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - ドキュメントを編集 - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 ドキュメントのプレビュー + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + ドキュメントを編集 + Reset filters / selection diff --git a/src-ui/src/locale/messages.ko_KR.xlf b/src-ui/src/locale/messages.ko_KR.xlf index 7d064937e0..648a0d7fcc 100644 --- a/src-ui/src/locale/messages.ko_KR.xlf +++ b/src-ui/src/locale/messages.ko_KR.xlf @@ -11397,22 +11397,22 @@ Sort by - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - 문서 수정 - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 문서 미리보기 + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + 문서 수정 + Reset filters / selection diff --git a/src-ui/src/locale/messages.lb_LU.xlf b/src-ui/src/locale/messages.lb_LU.xlf index 4b2866cc19..69e610f6a9 100644 --- a/src-ui/src/locale/messages.lb_LU.xlf +++ b/src-ui/src/locale/messages.lb_LU.xlf @@ -11397,22 +11397,22 @@ Sort by - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Dokument editéieren - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Preview document + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Dokument editéieren + Reset filters / selection diff --git a/src-ui/src/locale/messages.lt_LT.xlf b/src-ui/src/locale/messages.lt_LT.xlf index 6045bd0cab..58116bdb6d 100644 --- a/src-ui/src/locale/messages.lt_LT.xlf +++ b/src-ui/src/locale/messages.lt_LT.xlf @@ -11397,22 +11397,22 @@ Sort by - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Edit document - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Preview document + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Edit document + Reset filters / selection diff --git a/src-ui/src/locale/messages.lv_LV.xlf b/src-ui/src/locale/messages.lv_LV.xlf index bd3c08f0a5..385816d228 100644 --- a/src-ui/src/locale/messages.lv_LV.xlf +++ b/src-ui/src/locale/messages.lv_LV.xlf @@ -11397,22 +11397,22 @@ Sort by - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Rediģēt dokumentu - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Preview document + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Rediģēt dokumentu + Reset filters / selection diff --git a/src-ui/src/locale/messages.mk_MK.xlf b/src-ui/src/locale/messages.mk_MK.xlf index 64c532dfff..33b91e3749 100644 --- a/src-ui/src/locale/messages.mk_MK.xlf +++ b/src-ui/src/locale/messages.mk_MK.xlf @@ -8,7 +8,7 @@ node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/alert/alert.ts 38,39 - Close + Затвори Slide of @@ -17,7 +17,7 @@ 386,393 Currently selected slide number read by screen reader - Slide of + Слајд од Previous @@ -25,7 +25,7 @@ node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/carousel/carousel.ts 425,426 - Previous + Претходно Next @@ -33,7 +33,7 @@ node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/carousel/carousel.ts 452,453 - Next + Следно Select month @@ -45,7 +45,7 @@ node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/datepicker/datepicker-navigation-select.ts 52 - Select month + Изберете месец Select year @@ -57,7 +57,7 @@ node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/datepicker/datepicker-navigation-select.ts 52 - Select year + Изберете година Previous month @@ -69,7 +69,7 @@ node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/datepicker/datepicker-navigation.ts 73,76 - Previous month + Претходен месец Next month @@ -81,7 +81,7 @@ node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/datepicker/datepicker-navigation.ts 73,74 - Next month + Следен месец «« @@ -89,7 +89,7 @@ node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/pagination/pagination.ts 277,278 - «« + «« « @@ -97,7 +97,7 @@ node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/pagination/pagination.ts 277,278 - « + « » @@ -105,7 +105,7 @@ node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/pagination/pagination.ts 277 - » + » »» @@ -113,7 +113,7 @@ node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/pagination/pagination.ts 277 - »» + »» First @@ -121,7 +121,7 @@ node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/pagination/pagination.ts 277,278 - First + Прва Previous @@ -129,7 +129,7 @@ node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/pagination/pagination.ts 277,278 - Previous + Претходно Next @@ -137,7 +137,7 @@ node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/pagination/pagination.ts 277,278 - Next + Следно Last @@ -145,7 +145,7 @@ node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/pagination/pagination.ts 277,278 - Last + Последна @@ -162,7 +162,7 @@ node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/timepicker/timepicker.ts 442 - HH + ЧЧ Hours @@ -170,7 +170,7 @@ node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/timepicker/timepicker.ts 442 - Hours + Часови MM @@ -178,7 +178,7 @@ node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/timepicker/timepicker.ts 442 - MM + ММ Minutes @@ -186,7 +186,7 @@ node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/timepicker/timepicker.ts 442 - Minutes + Минути Increment hours @@ -194,7 +194,7 @@ node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/timepicker/timepicker.ts 442 - Increment hours + Зголеми часови Decrement hours @@ -202,7 +202,7 @@ node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/timepicker/timepicker.ts 442 - Decrement hours + Намали часови Increment minutes @@ -210,7 +210,7 @@ node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/timepicker/timepicker.ts 442 - Increment minutes + Зголеми минути Decrement minutes @@ -218,7 +218,7 @@ node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/timepicker/timepicker.ts 442 - Decrement minutes + Намали минути SS @@ -226,7 +226,7 @@ node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/timepicker/timepicker.ts 442 - SS + СС Seconds @@ -234,7 +234,7 @@ node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/timepicker/timepicker.ts 442 - Seconds + Секунди Increment seconds @@ -242,7 +242,7 @@ node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/timepicker/timepicker.ts 442 - Increment seconds + Зголеми секунди Decrement seconds @@ -250,7 +250,7 @@ node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/timepicker/timepicker.ts 442 - Decrement seconds + Намали секунди @@ -267,7 +267,7 @@ node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/toast/toast.ts 80 - Close + Затвори Document was added to Paperless-ngx. @@ -275,7 +275,7 @@ src/app/app.component.ts 78 - Document was added to Paperless-ngx. + Документот е додаден во Paperless-ngx. Open document @@ -303,7 +303,7 @@ src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html 71 - Open document + Отвори документ Could not add : @@ -311,7 +311,7 @@ src/app/app.component.ts 96 - Could not add : + Не може да се додаде : Dashboard @@ -339,7 +339,7 @@ src/app/components/dashboard/dashboard.component.html 1 - Dashboard + Контролна табла Documents @@ -395,7 +395,7 @@ src/app/components/manage/share-links/share-link-bundle-list/share-link-bundle-list.component.html 20,21 - Documents + Документи Settings @@ -419,7 +419,7 @@ src/app/components/app-frame/app-frame.component.html 323 - Settings + Поставки The dashboard can be used to show saved views, such as an 'Inbox'. Views are found under Manage > Saved Views once you have created some. @@ -427,7 +427,7 @@ src/app/app.component.ts 140 - The dashboard can be used to show saved views, such as an 'Inbox'. Views are found under Manage > Saved Views once you have created some. + Контролната табла може да се користи за прикажување зачувани прегледи, како на пример „Влезно сандаче“. Прегледите се наоѓаат под Управување > Зачувани прегледи откако ќе создадете некои. Drag-and-drop documents here to start uploading or place them in the consume folder. You can also drag-and-drop documents anywhere on all other pages of the web app. Once you do, Paperless-ngx will start training its machine learning algorithms. @@ -435,7 +435,7 @@ src/app/app.component.ts 147 - Drag-and-drop documents here to start uploading or place them in the consume folder. You can also drag-and-drop documents anywhere on all other pages of the web app. Once you do, Paperless-ngx will start training its machine learning algorithms. + Повлечете и пуштете документи тука за да започне прикачувањето или ставете ги во папката за внесување. Можете да повлечете и пуштите документи и на која било друга страница од веб-апликацијата. Штом го направите тоа, Paperless-ngx ќе почне да ги обучува своите алгоритми за машинско учење. The documents list shows all of your documents and allows for filtering as well as bulk-editing. There are three different view styles: list, small cards and large cards. A list of documents currently opened for editing is shown in the sidebar. @@ -443,7 +443,7 @@ src/app/app.component.ts 152 - The documents list shows all of your documents and allows for filtering as well as bulk-editing. There are three different view styles: list, small cards and large cards. A list of documents currently opened for editing is shown in the sidebar. + Листата на документи ги прикажува сите ваши документи и овозможува филтрирање, како и масовно уредување. Има три различни стилови на приказ: листа, мали картици и големи картици. Листата на документи што моментално се отворени за уредување се прикажува во страничната лента. The filtering tools allow you to quickly find documents using various searches, dates, tags, etc. @@ -451,7 +451,7 @@ src/app/app.component.ts 159 - The filtering tools allow you to quickly find documents using various searches, dates, tags, etc. + Алатките за филтрирање ви овозможуваат брзо да пронајдете документи со различни пребарувања, датуми, ознаки итн. Any combination of filters can be saved as a 'view' which can then be displayed on the dashboard and / or sidebar. @@ -459,7 +459,7 @@ src/app/app.component.ts 165 - Any combination of filters can be saved as a 'view' which can then be displayed on the dashboard and / or sidebar. + Секоја комбинација на филтри може да се зачува како „преглед“, кој потоа може да се прикаже на контролната табла и/или во страничната лента. Attributes like tags, correspondents, document types, storage paths and custom fields can all be managed here. They can also be created from the document edit view. @@ -467,7 +467,7 @@ src/app/app.component.ts 170 - Attributes like tags, correspondents, document types, storage paths and custom fields can all be managed here. They can also be created from the document edit view. + Атрибутите како ознаки, кореспонденти, видови на документи, складишни патеки и сопствени полиња може да се управуваат тука. Може да се создадат и од приказот за уредување на документ. Manage e-mail accounts and rules for automatically importing documents. @@ -479,7 +479,7 @@ src/app/components/manage/mail/mail.component.html 4,5 - Manage e-mail accounts and rules for automatically importing documents. + Управувајте со сметки за е-пошта и правила за автоматски увоз на документи. Workflows give you more control over the document pipeline. @@ -487,7 +487,7 @@ src/app/app.component.ts 186 - Workflows give you more control over the document pipeline. + Работните текови ви даваат поголема контрола врз текот на обработка на документите. Tasks helps you track background work, what needs attention, and what recently completed. @@ -495,7 +495,7 @@ src/app/app.component.ts 194 - Tasks helps you track background work, what needs attention, and what recently completed. + Задачите ви помагаат да ја следите работата во позадина, што бара внимание и што неодамна е завршено. Check out the settings for various tweaks to the web app. @@ -503,7 +503,7 @@ src/app/app.component.ts 202 - Check out the settings for various tweaks to the web app. + Погледнете ги поставките за разни прилагодувања на веб-апликацијата. Thank you! 🙏 @@ -511,7 +511,7 @@ src/app/app.component.ts 210 - Thank you! 🙏 + Ви благодариме! 🙏 There are <em>tons</em> more features and info we didn't cover here, but this should get you started. Check out the documentation or visit the project on GitHub to learn more or to report issues. @@ -519,7 +519,7 @@ src/app/app.component.ts 212 - There are <em>tons</em> more features and info we didn't cover here, but this should get you started. Check out the documentation or visit the project on GitHub to learn more or to report issues. + Има <em>уште многу</em> функции и информации што не ги опфативме тука, но ова треба да ви помогне да започнете. Погледнете ја документацијата или посетете го проектот на GitHub за да дознаете повеќе или да пријавите проблеми. Lastly, on behalf of every contributor to this community-supported project, thank you for using Paperless-ngx! @@ -527,7 +527,7 @@ src/app/app.component.ts 214 - Lastly, on behalf of every contributor to this community-supported project, thank you for using Paperless-ngx! + На крај, во име на секој придонесувач во овој проект поддржан од заедницата, ви благодариме што користите Paperless-ngx! Application Configuration @@ -535,7 +535,7 @@ src/app/components/admin/config/config.component.html 2,3 - Application Configuration + Конфигурација на апликацијата Global app configuration options which apply to <strong>every</strong> user of this install of Paperless-ngx. Options can also be set using environment variables or the configuration file but the value here will always take precedence. @@ -543,7 +543,7 @@ src/app/components/admin/config/config.component.html 4,5 - Global app configuration options which apply to <strong>every</strong> user of this install of Paperless-ngx. Options can also be set using environment variables or the configuration file but the value here will always take precedence. + Глобални опции за конфигурација на апликацијата што важат за <strong>секој</strong> корисник на оваа инсталација на Paperless-ngx. Опциите може да се постават и со променливи на околината или со конфигурациската датотека, но вредноста тука секогаш има предност. Read the documentation about this setting @@ -551,7 +551,7 @@ src/app/components/admin/config/config.component.html 30 - Read the documentation about this setting + Прочитајте ја документацијата за оваа поставка This value overrides , which is set outside Paperless. @@ -559,7 +559,7 @@ src/app/components/admin/config/config.component.html 35 - This value overrides , which is set outside Paperless. + Оваа вредност ја заменува , која е поставена надвор од Paperless. is set outside Paperless. Enter a value here to override it. @@ -567,7 +567,7 @@ src/app/components/admin/config/config.component.html 37 - is set outside Paperless. Enter a value here to override it. + е поставена надвор од Paperless. Внесете вредност тука за да ја замените. Use the externally configured value @@ -575,7 +575,7 @@ src/app/components/admin/config/config.component.html 42 - Use the externally configured value + Користи ја надворешно конфигурираната вредност Reset to external @@ -583,7 +583,7 @@ src/app/components/admin/config/config.component.html 43 - Reset to external + Врати на надворешната Reset @@ -599,7 +599,7 @@ src/app/components/admin/settings/settings.component.html 154 - Reset + Ресетирај Enable @@ -611,7 +611,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html 125 - Enable + Овозможи Cancel @@ -691,7 +691,7 @@ src/app/components/manage/saved-views/saved-views.component.html 94,95 - Cancel + Откажи Save @@ -763,7 +763,7 @@ src/app/components/manage/saved-views/saved-views.component.html 95,96 - Save + Зачувај Error retrieving config @@ -771,7 +771,7 @@ src/app/components/admin/config/config.component.ts 118 - Error retrieving config + Грешка при вчитување на конфигурацијата Invalid JSON @@ -779,7 +779,7 @@ src/app/components/admin/config/config.component.ts 144 - Invalid JSON + Невалиден JSON Configuration updated @@ -787,7 +787,7 @@ src/app/components/admin/config/config.component.ts 193 - Configuration updated + Конфигурацијата е ажурирана An error occurred updating configuration @@ -795,7 +795,7 @@ src/app/components/admin/config/config.component.ts 198 - An error occurred updating configuration + Се појави грешка при ажурирање на конфигурацијата File successfully updated @@ -803,7 +803,7 @@ src/app/components/admin/config/config.component.ts 220 - File successfully updated + Датотеката е успешно ажурирана An error occurred uploading file @@ -811,7 +811,7 @@ src/app/components/admin/config/config.component.ts 225 - An error occurred uploading file + Се појави грешка при прикачување на датотеката Logs @@ -827,7 +827,7 @@ src/app/components/app-frame/app-frame.component.html 360 - Logs + Дневници Review the log files for the application and for email checking. @@ -835,7 +835,7 @@ src/app/components/admin/logs/logs.component.html 4,5 - Review the log files for the application and for email checking. + Прегледајте ги дневниците на апликацијата и на проверката на е-пошта. Show @@ -855,7 +855,7 @@ src/app/components/manage/saved-views/saved-views.component.html 71 - Show + Прикажи lines @@ -863,7 +863,7 @@ src/app/components/admin/logs/logs.component.html 18,19 - lines + редови Auto refresh @@ -875,7 +875,7 @@ src/app/components/admin/tasks/tasks.component.html 20,21 - Auto refresh + Автоматско освежување Loading... @@ -983,7 +983,7 @@ src/app/components/manage/workflows/workflows.component.html 28 - Loading... + Се вчитува... Jump to bottom @@ -991,7 +991,7 @@ src/app/components/admin/logs/logs.component.html 63,64 - Jump to bottom + Скокни на дното Options to customize appearance, notifications and more. Settings apply to the <strong>current user only</strong>. @@ -999,7 +999,7 @@ src/app/components/admin/settings/settings.component.html 4,5 - Options to customize appearance, notifications and more. Settings apply to the <strong>current user only</strong>. + Опции за прилагодување на изгледот, известувањата и друго. Поставките важат <strong>само за тековниот корисник</strong>. Start tour @@ -1007,7 +1007,7 @@ src/app/components/admin/settings/settings.component.html 8 - Start tour + Започни обиколка System Status @@ -1019,7 +1019,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 2,3 - System Status + Состојба на системот Open Django Admin @@ -1027,7 +1027,7 @@ src/app/components/admin/settings/settings.component.html 32 - Open Django Admin + Отвори Django Admin General @@ -1035,7 +1035,7 @@ src/app/components/admin/settings/settings.component.html 42,43 - General + Општо Appearance @@ -1043,7 +1043,7 @@ src/app/components/admin/settings/settings.component.html 46,47 - Appearance + Изглед Display language @@ -1051,7 +1051,7 @@ src/app/components/admin/settings/settings.component.html 49,50 - Display language + Јазик на приказ You need to reload the page after applying a new language. @@ -1059,7 +1059,7 @@ src/app/components/admin/settings/settings.component.html 62,63 - You need to reload the page after applying a new language. + Треба да ја вчитате страницата повторно по примената на нов јазик. Date display @@ -1067,7 +1067,7 @@ src/app/components/admin/settings/settings.component.html 70,71 - Date display + Приказ на датум Date format @@ -1075,7 +1075,7 @@ src/app/components/admin/settings/settings.component.html 87,88 - Date format + Формат на датум Short: @@ -1083,7 +1083,7 @@ src/app/components/admin/settings/settings.component.html 93,94 - Short: + Краток: Medium: @@ -1091,7 +1091,7 @@ src/app/components/admin/settings/settings.component.html 97,98 - Medium: + Среден: Long: @@ -1099,7 +1099,7 @@ src/app/components/admin/settings/settings.component.html 101,102 - Long: + Долг: Sidebar @@ -1107,7 +1107,7 @@ src/app/components/admin/settings/settings.component.html 109,110 - Sidebar + Странична лента Use 'slim' sidebar (icons only) @@ -1115,7 +1115,7 @@ src/app/components/admin/settings/settings.component.html 113 - Use 'slim' sidebar (icons only) + Користи „тесна“ странична лента (само икони) Sidebar items to show: @@ -1123,7 +1123,7 @@ src/app/components/admin/settings/settings.component.html 115,116 - Sidebar items to show: + Ставки за прикажување во страничната лента: Dark mode @@ -1131,7 +1131,7 @@ src/app/components/admin/settings/settings.component.html 136,137 - Dark mode + Темен режим Use system settings @@ -1139,7 +1139,7 @@ src/app/components/admin/settings/settings.component.html 139 - Use system settings + Користи системски поставки Enable dark mode @@ -1147,7 +1147,7 @@ src/app/components/admin/settings/settings.component.html 140 - Enable dark mode + Овозможи темен режим Invert thumbnails in dark mode @@ -1155,7 +1155,7 @@ src/app/components/admin/settings/settings.component.html 141 - Invert thumbnails in dark mode + Инвертирај сликички во темен режим Theme Color @@ -1163,7 +1163,7 @@ src/app/components/admin/settings/settings.component.html 147,148 - Theme Color + Боја на темата Global search @@ -1175,7 +1175,7 @@ src/app/components/app-frame/global-search/global-search.component.ts 130 - Global search + Глобално пребарување Do not include advanced search results @@ -1183,7 +1183,7 @@ src/app/components/admin/settings/settings.component.html 163 - Do not include advanced search results + Не вклучувај резултати од напредно пребарување Full search links to @@ -1191,7 +1191,7 @@ src/app/components/admin/settings/settings.component.html 169,170 - Full search links to + Целосното пребарување води до Title and content search @@ -1199,7 +1199,7 @@ src/app/components/admin/settings/settings.component.html 173,174 - Title and content search + Пребарување по наслов и содржина Advanced search @@ -1215,7 +1215,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.ts 211 - Advanced search + Напредно пребарување Update checking @@ -1223,7 +1223,7 @@ src/app/components/admin/settings/settings.component.html 179,180 - Update checking + Проверка за ажурирања Enable update checking @@ -1231,7 +1231,7 @@ src/app/components/admin/settings/settings.component.html 182 - Enable update checking + Овозможи проверка за ажурирања What's this? @@ -1251,7 +1251,7 @@ src/app/components/manage/mail/processed-mail-dialog/processed-mail-dialog.component.html 3 - What's this? + Што е ова? Update checking works by pinging the public GitHub API for the latest release to determine whether a new version is available. Actual updating of the app must still be performed manually. @@ -1259,7 +1259,7 @@ src/app/components/admin/settings/settings.component.html 188 - Update checking works by pinging the public GitHub API for the latest release to determine whether a new version is available. Actual updating of the app must still be performed manually. + Проверката за ажурирања функционира така што го повикува јавниот GitHub API за најновото издание за да утврди дали е достапна нова верзија. Самото ажурирање на апликацијата сепак мора да се направи рачно. No tracking data is collected by the app in any way. @@ -1267,7 +1267,7 @@ src/app/components/admin/settings/settings.component.html 191,192 - No tracking data is collected by the app in any way. + Апликацијата не собира никакви податоци за следење. Saved Views @@ -1295,7 +1295,7 @@ src/app/components/manage/saved-views/saved-views.component.html 2,3 - Saved Views + Зачувани прегледи Show warning when closing saved views with unsaved changes @@ -1303,7 +1303,7 @@ src/app/components/admin/settings/settings.component.html 200 - Show warning when closing saved views with unsaved changes + Прикажи предупредување при затворање зачувани прегледи со незачувани промени Show document counts in sidebar saved views @@ -1311,7 +1311,7 @@ src/app/components/admin/settings/settings.component.html 201 - Show document counts in sidebar saved views + Прикажи број на документи во зачуваните прегледи во страничната лента Items per page @@ -1319,7 +1319,7 @@ src/app/components/admin/settings/settings.component.html 218,219 - Items per page + Ставки по страница Document editing @@ -1327,7 +1327,7 @@ src/app/components/admin/settings/settings.component.html 230,231 - Document editing + Уредување документи Use PDF viewer provided by the browser @@ -1335,7 +1335,7 @@ src/app/components/admin/settings/settings.component.html 233 - Use PDF viewer provided by the browser + Користи PDF прегледувач од прелистувачот This is usually faster for displaying large PDF documents, but it might not work on some browsers. @@ -1343,7 +1343,7 @@ src/app/components/admin/settings/settings.component.html 233 - This is usually faster for displaying large PDF documents, but it might not work on some browsers. + Ова обично е побрзо за прикажување големи PDF документи, но можеби нема да работи во некои прелистувачи. Default zoom @@ -1351,7 +1351,7 @@ src/app/components/admin/settings/settings.component.html 239,240 - Default zoom + Стандардно зумирање Fit width @@ -1359,7 +1359,7 @@ src/app/components/admin/settings/settings.component.html 243,244 - Fit width + Прилагоди по ширина Fit page @@ -1367,7 +1367,7 @@ src/app/components/admin/settings/settings.component.html 244,245 - Fit page + Прилагоди по страница Only applies to the Paperless-ngx PDF viewer. @@ -1375,7 +1375,7 @@ src/app/components/admin/settings/settings.component.html 246,247 - Only applies to the Paperless-ngx PDF viewer. + Важи само за PDF прегледувачот на Paperless-ngx. Automatically remove inbox tag(s) on save @@ -1383,7 +1383,7 @@ src/app/components/admin/settings/settings.component.html 252 - Automatically remove inbox tag(s) on save + Автоматски отстрани ги ознаките за влезно сандаче при зачувување Suggestions default to @@ -1391,7 +1391,7 @@ src/app/components/admin/settings/settings.component.html 259,260 - Suggestions default to + Стандардни предлози од Both @@ -1399,7 +1399,7 @@ src/app/components/admin/settings/settings.component.html 264 - Both + Двете ML only @@ -1407,7 +1407,7 @@ src/app/components/admin/settings/settings.component.html 266 - ML only + Само ML AI only @@ -1415,7 +1415,7 @@ src/app/components/admin/settings/settings.component.html 268 - AI only + Само AI Automatically request suggestions for inbox documents @@ -1423,7 +1423,7 @@ src/app/components/admin/settings/settings.component.html 276 - Automatically request suggestions for inbox documents + Автоматски барај предлози за документите во влезното сандаче If un-checked, suggestions must be requested via the Suggest button. @@ -1431,7 +1431,7 @@ src/app/components/admin/settings/settings.component.html 276 - If un-checked, suggestions must be requested via the Suggest button. + Ако не е означено, предлозите мора да се побараат со копчето Предложи. Show document thumbnail during loading @@ -1439,7 +1439,7 @@ src/app/components/admin/settings/settings.component.html 282 - Show document thumbnail during loading + Прикажи сликичка на документот при вчитување Built-in fields to show: @@ -1447,7 +1447,7 @@ src/app/components/admin/settings/settings.component.html 288,289 - Built-in fields to show: + Вградени полиња за прикажување: Uncheck fields to hide them on the document details page. @@ -1455,7 +1455,7 @@ src/app/components/admin/settings/settings.component.html 300,301 - Uncheck fields to hide them on the document details page. + Отштиклирајте ги полињата за да ги скриете на страницата со детали за документот. Bulk editing @@ -1463,7 +1463,7 @@ src/app/components/admin/settings/settings.component.html 306,307 - Bulk editing + Масовно уредување Show confirmation dialogs @@ -1471,7 +1471,7 @@ src/app/components/admin/settings/settings.component.html 309 - Show confirmation dialogs + Прикажи дијалози за потврда Apply on close @@ -1479,7 +1479,7 @@ src/app/components/admin/settings/settings.component.html 310 - Apply on close + Примени при затворање PDF Editor @@ -1495,7 +1495,7 @@ src/app/components/document-detail/document-detail.component.ts 1913 - PDF Editor + PDF уредувач Default editing mode @@ -1503,7 +1503,7 @@ src/app/components/admin/settings/settings.component.html 317,318 - Default editing mode + Стандарден режим на уредување Create new document(s) @@ -1515,7 +1515,7 @@ src/app/components/common/pdf-editor/pdf-editor.component.html 82,83 - Create new document(s) + Создај нов(и) документ(и) Add document version @@ -1527,7 +1527,7 @@ src/app/components/common/pdf-editor/pdf-editor.component.html 87,88 - Add document version + Додај верзија на документот Notes @@ -1547,7 +1547,7 @@ src/app/data/document.ts 95 - Notes + Белешки Enable notes @@ -1555,7 +1555,7 @@ src/app/components/admin/settings/settings.component.html 330 - Enable notes + Овозможи белешки Permissions @@ -1611,7 +1611,7 @@ src/app/components/manage/mail/mail.component.html 166 - Permissions + Дозволи Default Permissions @@ -1619,7 +1619,7 @@ src/app/components/admin/settings/settings.component.html 342,344 - Default Permissions + Стандардни дозволи Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. @@ -1627,7 +1627,7 @@ src/app/components/admin/settings/settings.component.html 347 - Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. + Поставките важат за оваа корисничка сметка за објекти (ознаки, правила за пошта итн.) создадени преку веб-интерфејсот. Овие поставки не важат за документи. Default Owner @@ -1635,7 +1635,7 @@ src/app/components/admin/settings/settings.component.html 353,354 - Default Owner + Стандарден сопственик Objects without an owner can be viewed and edited by all users @@ -1647,7 +1647,7 @@ src/app/components/common/input/permissions/permissions-form/permissions-form.component.html 34,35 - Objects without an owner can be viewed and edited by all users + Објектите без сопственик може да ги прегледуваат и уредуваат сите корисници Default View Permissions @@ -1655,7 +1655,7 @@ src/app/components/admin/settings/settings.component.html 362,363 - Default View Permissions + Стандардни дозволи за преглед Users: @@ -1691,7 +1691,7 @@ src/app/components/common/input/permissions/permissions-form/permissions-form.component.html 59,60 - Users: + Корисници: Groups: @@ -1727,7 +1727,7 @@ src/app/components/common/input/permissions/permissions-form/permissions-form.component.html 67,68 - Groups: + Групи: Default Edit Permissions @@ -1735,7 +1735,7 @@ src/app/components/admin/settings/settings.component.html 389,390 - Default Edit Permissions + Стандардни дозволи за уредување Edit permissions also grant viewing permissions @@ -1755,7 +1755,7 @@ src/app/components/common/input/permissions/permissions-form/permissions-form.component.html 73,74 - Edit permissions also grant viewing permissions + Дозволите за уредување даваат и дозвола за преглед Notifications @@ -1771,7 +1771,7 @@ src/app/components/app-frame/toasts-dropdown/toasts-dropdown.component.html 11,12 - Notifications + Известувања Document processing @@ -1779,7 +1779,7 @@ src/app/components/admin/settings/settings.component.html 424,426 - Document processing + Обработка на документи Add notifications when document processing completes successfully @@ -1787,7 +1787,7 @@ src/app/components/admin/settings/settings.component.html 428 - Add notifications when document processing completes successfully + Додај известувања кога обработката на документ ќе заврши успешно These are added to the notifications menu without a popup, processing progress is shown at the bottom of the screen. @@ -1795,7 +1795,7 @@ src/app/components/admin/settings/settings.component.html 428 - These are added to the notifications menu without a popup, processing progress is shown at the bottom of the screen. + Овие се додаваат во менито за известувања без скокачки прозорец, а напредокот на обработката се прикажува на дното на екранот. Show notifications when document processing fails @@ -1803,7 +1803,7 @@ src/app/components/admin/settings/settings.component.html 429 - Show notifications when document processing fails + Прикажи известувања кога обработката на документ ќе не успее Use system language @@ -1811,7 +1811,7 @@ src/app/components/admin/settings/settings.component.ts 86 - Use system language + Користи системски јазик Use date format of display language @@ -1819,7 +1819,7 @@ src/app/components/admin/settings/settings.component.ts 89 - Use date format of display language + Користи формат на датум од јазикот на приказ Archive serial number @@ -1831,7 +1831,7 @@ src/app/components/document-detail/document-detail.component.html 145 - Archive serial number + Архивски сериски број Correspondent @@ -1867,7 +1867,7 @@ src/app/data/document.ts 89 - Correspondent + Кореспондент Document type @@ -1903,7 +1903,7 @@ src/app/data/document.ts 91 - Document type + Вид на документ Storage path @@ -1935,7 +1935,7 @@ src/app/data/document.ts 54 - Storage path + Складишна патека Tags @@ -1987,7 +1987,7 @@ src/app/data/saved-view-icons.ts 84 - Tags + Ознаки Share Links @@ -2007,7 +2007,7 @@ src/app/components/document-detail/document-detail.component.html 78,79 - Share Links + Врски за споделување Workflows @@ -2031,7 +2031,7 @@ src/app/components/manage/workflows/workflows.component.html 2,3 - Workflows + Работни текови Mail @@ -2051,7 +2051,7 @@ src/app/components/app-frame/app-frame.component.html 300 - Mail + Пошта Documentation @@ -2075,7 +2075,7 @@ src/app/components/app-frame/app-frame.component.html 372 - Documentation + Документација Error retrieving users @@ -2095,7 +2095,7 @@ src/app/components/common/permissions-dialog/permissions-dialog.component.ts 45 - Error retrieving users + Грешка при вчитување на корисниците Error retrieving groups @@ -2115,7 +2115,7 @@ src/app/components/common/input/permissions/permissions-group/permissions-group.component.ts 35 - Error retrieving groups + Грешка при вчитување на групите Settings were saved successfully. @@ -2123,7 +2123,7 @@ src/app/components/admin/settings/settings.component.ts 649 - Settings were saved successfully. + Поставките се успешно зачувани. Settings were saved successfully. Reload is required to apply some changes. @@ -2131,7 +2131,7 @@ src/app/components/admin/settings/settings.component.ts 656 - Settings were saved successfully. Reload is required to apply some changes. + Поставките се успешно зачувани. Потребно е повторно вчитување за да се применат некои промени. Reload now @@ -2139,7 +2139,7 @@ src/app/components/admin/settings/settings.component.ts 657 - Reload now + Вчитај повторно сега An error occurred while saving settings. @@ -2159,7 +2159,7 @@ src/app/components/app-frame/app-frame.component.ts 361 - An error occurred while saving settings. + Се појави грешка при зачувување на поставките. Tasks @@ -2175,7 +2175,7 @@ src/app/components/app-frame/app-frame.component.html 346 - Tasks + Задачи Tasks shows detailed information about document consumption and system tasks. @@ -2183,7 +2183,7 @@ src/app/components/admin/tasks/tasks.component.html 4,5 - Tasks shows detailed information about document consumption and system tasks. + Задачите прикажуваат детални информации за внесувањето документи и системските задачи. Clear selection @@ -2199,7 +2199,7 @@ src/app/components/document-list/document-list.component.html 149,150 - Clear selection + Исчисти избор Dismiss all @@ -2207,7 +2207,7 @@ src/app/components/admin/tasks/tasks.component.html 16 - Dismiss all + Отфрли ги сите All @@ -2247,7 +2247,7 @@ src/app/components/manage/document-attributes/document-attributes.component.html 37 - All + Сите Filter by @@ -2255,7 +2255,7 @@ src/app/components/admin/tasks/tasks.component.html 55 - Filter by + Филтрирај по All types @@ -2267,7 +2267,7 @@ src/app/components/admin/tasks/tasks.component.ts 224 - All types + Сите видови All sources @@ -2279,7 +2279,7 @@ src/app/components/admin/tasks/tasks.component.ts 236 - All sources + Сите извори Clear search @@ -2291,7 +2291,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.html 21 - Clear search + Исчисти пребарување Search tasks @@ -2299,7 +2299,7 @@ src/app/components/admin/tasks/tasks.component.html 92,93 - Search tasks + Пребарај задачи Reset filters @@ -2315,7 +2315,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.html 107 - Reset filters + Ресетирај филтри of tasks @@ -2323,7 +2323,7 @@ src/app/components/admin/tasks/tasks.component.html 126,127 - of tasks + од задачи Show all @@ -2335,7 +2335,7 @@ src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html 14,17 - Show all + Прикажи ги сите {VAR_PLURAL, plural, =1 {1 task} other { tasks}} @@ -2343,7 +2343,7 @@ src/app/components/admin/tasks/tasks.component.html 131,132 - {VAR_PLURAL, plural, =1 {1 task} other { tasks}} + {VAR_PLURAL, plural, =1 {1 задача} other { задачи}} Name @@ -2455,7 +2455,7 @@ src/app/components/manage/workflows/workflows.component.html 17,18 - Name + Име Created @@ -2491,7 +2491,7 @@ src/app/data/document.ts 92 - Created + Создадено Results @@ -2499,7 +2499,7 @@ src/app/components/admin/tasks/tasks.component.html 156,157 - Results + Резултати Info @@ -2507,7 +2507,7 @@ src/app/components/admin/tasks/tasks.component.html 158,159 - Info + Информации Actions @@ -2627,7 +2627,7 @@ src/app/components/manage/workflows/workflows.component.html 50 - Actions + Акции click for full output @@ -2635,7 +2635,7 @@ src/app/components/admin/tasks/tasks.component.html 209 - click for full output + кликнете за целосен излез View task details @@ -2643,7 +2643,7 @@ src/app/components/admin/tasks/tasks.component.html 215 - View task details + Прикажи детали за задачата Dismiss @@ -2667,7 +2667,7 @@ src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html 67,68 - Dismiss + Отфрли Open Document @@ -2675,7 +2675,7 @@ src/app/components/admin/tasks/tasks.component.html 227 - Open Document + Отвори документ Result message @@ -2683,7 +2683,7 @@ src/app/components/admin/tasks/tasks.component.html 240,241 - Result message + Порака за резултатот Duplicate @@ -2691,7 +2691,7 @@ src/app/components/admin/tasks/tasks.component.html 247,248 - Duplicate + Дупликат Open @@ -2723,7 +2723,7 @@ src/app/components/document-list/document-card-small/document-card-small.component.html 147 - Open + Отвори Input data @@ -2731,7 +2731,7 @@ src/app/components/admin/tasks/tasks.component.html 265,266 - Input data + Влезни податоци Result data @@ -2739,7 +2739,7 @@ src/app/components/admin/tasks/tasks.component.html 271,272 - Result data + Податоци за резултатот No tasks match the current filters. @@ -2747,7 +2747,7 @@ src/app/components/admin/tasks/tasks.component.html 293,295 - No tasks match the current filters. + Ниту една задача не одговара на тековните филтри. Result @@ -2755,7 +2755,7 @@ src/app/components/admin/tasks/tasks.component.ts 54 - Result + Резултат Needs attention @@ -2763,7 +2763,7 @@ src/app/components/admin/tasks/tasks.component.ts 59 - Needs attention + Бара внимание In progress @@ -2771,7 +2771,7 @@ src/app/components/admin/tasks/tasks.component.ts 60 - In progress + Во тек Recently completed @@ -2779,7 +2779,7 @@ src/app/components/admin/tasks/tasks.component.ts 61 - Recently completed + Неодамна завршени Consume File @@ -2787,7 +2787,7 @@ src/app/components/admin/tasks/tasks.component.ts 70 - Consume File + Внесување датотека Train Classifier @@ -2795,7 +2795,7 @@ src/app/components/admin/tasks/tasks.component.ts 74 - Train Classifier + Обука на класификатор Sanity Check @@ -2803,7 +2803,7 @@ src/app/components/admin/tasks/tasks.component.ts 78 - Sanity Check + Проверка на исправност Mail Fetch @@ -2815,7 +2815,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 82 - Mail Fetch + Преземање пошта LLM Index @@ -2823,7 +2823,7 @@ src/app/components/admin/tasks/tasks.component.ts 81 - LLM Index + LLM индекс Empty Trash @@ -2831,7 +2831,7 @@ src/app/components/admin/tasks/tasks.component.ts 84 - Empty Trash + Празнење на канта Check Workflows @@ -2839,7 +2839,7 @@ src/app/components/admin/tasks/tasks.component.ts 88 - Check Workflows + Проверка на работни текови Bulk Update @@ -2847,7 +2847,7 @@ src/app/components/admin/tasks/tasks.component.ts 92 - Bulk Update + Масовно ажурирање Reprocess Document @@ -2855,7 +2855,7 @@ src/app/components/admin/tasks/tasks.component.ts 96 - Reprocess Document + Повторна обработка на документ Build Share Link @@ -2863,7 +2863,7 @@ src/app/components/admin/tasks/tasks.component.ts 100 - Build Share Link + Создавање врска за споделување Bulk Delete @@ -2871,7 +2871,7 @@ src/app/components/admin/tasks/tasks.component.ts 104 - Bulk Delete + Масовно бришење Apply AI Suggestions @@ -2879,7 +2879,7 @@ src/app/components/admin/tasks/tasks.component.ts 108 - Apply AI Suggestions + Примена на AI предлози Scheduled @@ -2891,7 +2891,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 124 - Scheduled + Закажано Web UI @@ -2903,7 +2903,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 86 - Web UI + Веб интерфејс API Upload @@ -2915,7 +2915,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 78 - API Upload + Прикачување преку API Folder Consume @@ -2923,7 +2923,7 @@ src/app/components/admin/tasks/tasks.component.ts 127 - Folder Consume + Внесување од папка Email Consume @@ -2931,7 +2931,7 @@ src/app/components/admin/tasks/tasks.component.ts 131 - Email Consume + Внесување од е-пошта System @@ -2939,7 +2939,7 @@ src/app/components/admin/tasks/tasks.component.ts 133 - System + Систем Manual @@ -2947,7 +2947,7 @@ src/app/components/admin/tasks/tasks.component.ts 134 - Manual + Рачно Dismiss selected @@ -2955,7 +2955,7 @@ src/app/components/admin/tasks/tasks.component.ts 248 - Dismiss selected + Отфрли ги избраните Dismiss visible @@ -2963,7 +2963,7 @@ src/app/components/admin/tasks/tasks.component.ts 249 - Dismiss visible + Отфрли ги видливите Confirm Dismiss @@ -2971,7 +2971,7 @@ src/app/components/admin/tasks/tasks.component.ts 323 - Confirm Dismiss + Потврди отфрлање Dismiss tasks? @@ -2979,7 +2979,7 @@ src/app/components/admin/tasks/tasks.component.ts 324 - Dismiss tasks? + Да се отфрлат задачи? Error dismissing tasks @@ -2991,7 +2991,7 @@ src/app/components/admin/tasks/tasks.component.ts 369 - Error dismissing tasks + Грешка при отфрлање на задачите Error dismissing task @@ -2999,7 +2999,7 @@ src/app/components/admin/tasks/tasks.component.ts 347 - Error dismissing task + Грешка при отфрлање на задачата Confirm Dismiss All @@ -3007,7 +3007,7 @@ src/app/components/admin/tasks/tasks.component.ts 357 - Confirm Dismiss All + Потврди отфрлање на сите Dismiss all tasks? @@ -3015,7 +3015,7 @@ src/app/components/admin/tasks/tasks.component.ts 358 - Dismiss all tasks? + Да се отфрлат сите задачи? Success. New document id created @@ -3023,7 +3023,7 @@ src/app/components/admin/tasks/tasks.component.ts 417 - Success. New document id created + Успешно. Создаден е нов документ со ID Duplicate of document # @@ -3035,7 +3035,7 @@ src/app/components/admin/tasks/tasks.component.ts 461 - Duplicate of document # + Дупликат на документот # Trash @@ -3051,7 +3051,7 @@ src/app/components/app-frame/app-frame.component.html 307 - Trash + Канта Manage trashed documents that are pending deletion. @@ -3059,7 +3059,7 @@ src/app/components/admin/trash/trash.component.html 4,5 - Manage trashed documents that are pending deletion. + Управувајте со документите во кантата што чекаат бришење. Restore selected @@ -3067,7 +3067,7 @@ src/app/components/admin/trash/trash.component.html 11 - Restore selected + Врати ги избраните Delete selected @@ -3083,7 +3083,7 @@ src/app/components/manage/mail/processed-mail-dialog/processed-mail-dialog.component.html 89,90 - Delete selected + Избриши ги избраните Empty trash @@ -3091,7 +3091,7 @@ src/app/components/admin/trash/trash.component.html 17 - Empty trash + Испразни ја кантата Remaining @@ -3099,7 +3099,7 @@ src/app/components/admin/trash/trash.component.html 38,39 - Remaining + Преостанато days @@ -3107,7 +3107,7 @@ src/app/components/admin/trash/trash.component.html 65,66 - days + дена Restore @@ -3119,7 +3119,7 @@ src/app/components/admin/trash/trash.component.html 80 - Restore + Врати Delete @@ -3263,7 +3263,7 @@ src/app/components/manage/workflows/workflows.component.html 66 - Delete + Избриши {VAR_PLURAL, plural, =1 {One document in trash} other { total documents in trash}} @@ -3271,7 +3271,7 @@ src/app/components/admin/trash/trash.component.html 96 - {VAR_PLURAL, plural, =1 {One document in trash} other { total documents in trash}} + {VAR_PLURAL, plural, =1 {Еден документ во кантата} other {Вкупно документи во кантата}} Confirm delete @@ -3291,7 +3291,7 @@ src/app/components/manage/document-attributes/management-list/management-list.component.ts 452 - Confirm delete + Потврди бришење This operation will permanently delete this document. @@ -3299,7 +3299,7 @@ src/app/components/admin/trash/trash.component.ts 80 - This operation will permanently delete this document. + Оваа операција трајно ќе го избрише овој документ. This operation cannot be undone. @@ -3339,7 +3339,7 @@ src/app/components/manage/workflows/workflows.component.ts 133 - This operation cannot be undone. + Оваа операција не може да се врати. Document "" deleted @@ -3347,7 +3347,7 @@ src/app/components/admin/trash/trash.component.ts 91 - Document "" deleted + Документот „“ е избришан Error deleting document "" @@ -3355,7 +3355,7 @@ src/app/components/admin/trash/trash.component.ts 100 - Error deleting document "" + Грешка при бришење на документот „“ This operation will permanently delete the selected documents. @@ -3363,7 +3363,7 @@ src/app/components/admin/trash/trash.component.ts 115 - This operation will permanently delete the selected documents. + Оваа операција трајно ќе ги избрише избраните документи. This operation will permanently delete all documents in the trash. @@ -3371,7 +3371,7 @@ src/app/components/admin/trash/trash.component.ts 116 - This operation will permanently delete all documents in the trash. + Оваа операција трајно ќе ги избрише сите документи во кантата. Document(s) deleted @@ -3379,7 +3379,7 @@ src/app/components/admin/trash/trash.component.ts 128 - Document(s) deleted + Документот/ите се избришани Error deleting document(s) @@ -3387,7 +3387,7 @@ src/app/components/admin/trash/trash.component.ts 138 - Error deleting document(s) + Грешка при бришење на документот/ите Document "" restored @@ -3395,7 +3395,7 @@ src/app/components/admin/trash/trash.component.ts 151 - Document "" restored + Документот „“ е вратен Error restoring document "" @@ -3403,7 +3403,7 @@ src/app/components/admin/trash/trash.component.ts 163 - Error restoring document "" + Грешка при враќање на документот „“ Document(s) restored @@ -3415,7 +3415,7 @@ src/app/services/trash.service.ts 60 - Document(s) restored + Документот/ите се вратени Error restoring document(s) @@ -3427,7 +3427,7 @@ src/app/services/trash.service.ts 67 - Error restoring document(s) + Грешка при враќање на документот/ите Users & Groups @@ -3443,7 +3443,7 @@ src/app/components/app-frame/app-frame.component.html 337 - Users & Groups + Корисници и групи Create, delete and edit users and groups. @@ -3451,7 +3451,7 @@ src/app/components/admin/users-groups/users-groups.component.html 4,5 - Create, delete and edit users and groups. + Создавајте, бришете и уредувајте корисници и групи. Users @@ -3463,7 +3463,7 @@ src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.html 81 - Users + Корисници Add User @@ -3471,7 +3471,7 @@ src/app/components/admin/users-groups/users-groups.component.html 14 - Add User + Додај корисник Username @@ -3491,7 +3491,7 @@ src/app/components/manage/mail/mail.component.html 32,33 - Username + Корисничко име Groups @@ -3507,7 +3507,7 @@ src/app/components/common/edit-dialog/user-edit-dialog/user-edit-dialog.component.html 34 - Groups + Групи Edit @@ -3587,7 +3587,7 @@ src/app/components/manage/workflows/workflows.component.html 63 - Edit + Уреди Add Group @@ -3595,7 +3595,7 @@ src/app/components/admin/users-groups/users-groups.component.html 52 - Add Group + Додај група No groups defined @@ -3603,7 +3603,7 @@ src/app/components/admin/users-groups/users-groups.component.html 84,85 - No groups defined + Нема дефинирани групи Password has been changed, you will be logged out momentarily. @@ -3615,7 +3615,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts 210 - Password has been changed, you will be logged out momentarily. + Лозинката е променета, наскоро ќе бидете одјавени. Saved user "". @@ -3623,7 +3623,7 @@ src/app/components/admin/users-groups/users-groups.component.ts 126 - Saved user "". + Корисникот „“ е зачуван. Error saving user. @@ -3631,7 +3631,7 @@ src/app/components/admin/users-groups/users-groups.component.ts 136 - Error saving user. + Грешка при зачувување на корисникот. Confirm delete user account @@ -3639,7 +3639,7 @@ src/app/components/admin/users-groups/users-groups.component.ts 144 - Confirm delete user account + Потврди бришење на корисничка сметка This operation will permanently delete this user account. @@ -3647,7 +3647,7 @@ src/app/components/admin/users-groups/users-groups.component.ts 145 - This operation will permanently delete this user account. + Оваа операција трајно ќе ја избрише оваа корисничка сметка. Proceed @@ -3703,7 +3703,7 @@ src/app/components/manage/workflows/workflows.component.ts 135 - Proceed + Продолжи Deleted user "" @@ -3711,7 +3711,7 @@ src/app/components/admin/users-groups/users-groups.component.ts 155 - Deleted user "" + Корисникот „“ е избришан Error deleting user "". @@ -3719,7 +3719,7 @@ src/app/components/admin/users-groups/users-groups.component.ts 163 - Error deleting user "". + Грешка при бришење на корисникот „“. Saved group "". @@ -3727,7 +3727,7 @@ src/app/components/admin/users-groups/users-groups.component.ts 184 - Saved group "". + Групата „“ е зачувана. Error saving group. @@ -3735,7 +3735,7 @@ src/app/components/admin/users-groups/users-groups.component.ts 193 - Error saving group. + Грешка при зачувување на групата. Confirm delete user group @@ -3743,7 +3743,7 @@ src/app/components/admin/users-groups/users-groups.component.ts 201 - Confirm delete user group + Потврди бришење на корисничка група This operation will permanently delete this user group. @@ -3751,7 +3751,7 @@ src/app/components/admin/users-groups/users-groups.component.ts 202 - This operation will permanently delete this user group. + Оваа операција трајно ќе ја избрише оваа корисничка група. Deleted group "" @@ -3759,7 +3759,7 @@ src/app/components/admin/users-groups/users-groups.component.ts 212 - Deleted group "" + Групата „“ е избришана Error deleting group "". @@ -3767,7 +3767,7 @@ src/app/components/admin/users-groups/users-groups.component.ts 220 - Error deleting group "". + Грешка при бришење на групата „“. by Paperless-ngx @@ -3775,7 +3775,7 @@ src/app/components/app-frame/app-frame.component.html 24,25 - by Paperless-ngx + од Paperless-ngx Upload documents @@ -3787,7 +3787,7 @@ src/app/components/dashboard/widgets/upload-file-widget/upload-file-widget.component.html 6,7 - Upload documents + Прикачи документи Upload @@ -3803,7 +3803,7 @@ src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html 38,39 - Upload + Прикачи Show document processing status @@ -3811,7 +3811,7 @@ src/app/components/app-frame/app-frame.component.html 41 - Show document processing status + Прикажи состојба на обработката на документи User menu @@ -3819,7 +3819,7 @@ src/app/components/app-frame/app-frame.component.html 54 - User menu + Кориснички мени Logged in as @@ -3827,7 +3827,7 @@ src/app/components/app-frame/app-frame.component.html 62,63 - Logged in as + Најавени сте како My Profile @@ -3835,7 +3835,7 @@ src/app/components/app-frame/app-frame.component.html 66 - My Profile + Мој профил Logout @@ -3843,7 +3843,7 @@ src/app/components/app-frame/app-frame.component.html 73 - Logout + Одјава Upload Files @@ -3851,7 +3851,7 @@ src/app/components/app-frame/app-frame.component.html 86,88 - Upload Files + Прикачи датотеки Saved views @@ -3863,7 +3863,7 @@ src/app/components/app-frame/app-frame.component.html 158,159 - Saved views + Зачувани прегледи Open documents @@ -3871,7 +3871,7 @@ src/app/components/app-frame/app-frame.component.html 167,168 - Open documents + Отворени документи Close all @@ -3883,7 +3883,7 @@ src/app/components/app-frame/app-frame.component.html 191 - Close all + Затвори ги сите Manage @@ -3891,7 +3891,7 @@ src/app/components/app-frame/app-frame.component.html 200,201 - Manage + Управување Attributes @@ -3903,7 +3903,7 @@ src/app/components/app-frame/app-frame.component.html 210 - Attributes + Атрибути Correspondents @@ -3923,7 +3923,7 @@ src/app/components/manage/document-attributes/document-attributes.component.ts 95 - Correspondents + Кореспонденти Document types @@ -3935,7 +3935,7 @@ src/app/components/manage/document-attributes/document-attributes.component.ts 105 - Document types + Видови на документи Storage paths @@ -3947,7 +3947,7 @@ src/app/components/manage/document-attributes/document-attributes.component.ts 115 - Storage paths + Складишни патеки Custom fields @@ -3967,7 +3967,7 @@ src/app/components/manage/document-attributes/document-attributes.component.ts 125 - Custom fields + Сопствени полиња Share links @@ -3983,7 +3983,7 @@ src/app/components/manage/share-links/share-links.component.html 2,3 - Share links + Врски за споделување Administration @@ -3991,7 +3991,7 @@ src/app/components/app-frame/app-frame.component.html 315,316 - Administration + Администрација Configuration @@ -4003,7 +4003,7 @@ src/app/components/app-frame/app-frame.component.html 330 - Configuration + Конфигурација GitHub @@ -4011,7 +4011,7 @@ src/app/components/app-frame/app-frame.component.html 379 - GitHub + GitHub is available. @@ -4019,7 +4019,7 @@ src/app/components/app-frame/app-frame.component.html 389 - is available. + е достапна. Click to view. @@ -4027,7 +4027,7 @@ src/app/components/app-frame/app-frame.component.html 389 - Click to view. + Кликнете за преглед. Paperless-ngx can automatically check for updates @@ -4035,7 +4035,7 @@ src/app/components/app-frame/app-frame.component.html 393 - Paperless-ngx can automatically check for updates + Paperless-ngx може автоматски да проверува за ажурирања How does this work? @@ -4043,7 +4043,7 @@ src/app/components/app-frame/app-frame.component.html 401 - How does this work? + Како функционира ова? Update available @@ -4051,7 +4051,7 @@ src/app/components/app-frame/app-frame.component.html 413 - Update available + Достапно е ажурирање Configure update checking @@ -4059,7 +4059,7 @@ src/app/components/app-frame/app-frame.component.html 418 - Configure update checking + Конфигурирај проверка за ажурирања Sidebar views updated @@ -4067,7 +4067,7 @@ src/app/components/app-frame/app-frame.component.ts 497 - Sidebar views updated + Прегледите во страничната лента се ажурирани Error updating sidebar views @@ -4075,7 +4075,7 @@ src/app/components/app-frame/app-frame.component.ts 500 - Error updating sidebar views + Грешка при ажурирање на прегледите во страничната лента An error occurred while saving update checking settings. @@ -4083,7 +4083,7 @@ src/app/components/app-frame/app-frame.component.ts 521 - An error occurred while saving update checking settings. + Се појави грешка при зачувување на поставките за проверка на ажурирања. Search @@ -4099,7 +4099,7 @@ src/app/data/saved-view-icons.ts 78 - Search + Пребарај Filter documents @@ -4107,7 +4107,7 @@ src/app/components/app-frame/global-search/global-search.component.html 58 - Filter documents + Филтрирај документи Download @@ -4147,7 +4147,7 @@ src/app/data/saved-view-icons.ts 26 - Download + Преземи No results @@ -4155,7 +4155,7 @@ src/app/components/app-frame/global-search/global-search.component.html 81,83 - No results + Нема резултати Documents @@ -4163,7 +4163,7 @@ src/app/components/app-frame/global-search/global-search.component.html 84,85 - Documents + Документи Saved Views @@ -4171,7 +4171,7 @@ src/app/components/app-frame/global-search/global-search.component.html 90,91 - Saved Views + Зачувани прегледи Tags @@ -4179,7 +4179,7 @@ src/app/components/app-frame/global-search/global-search.component.html 97,98 - Tags + Ознаки Correspondents @@ -4187,7 +4187,7 @@ src/app/components/app-frame/global-search/global-search.component.html 104,105 - Correspondents + Кореспонденти Document types @@ -4195,7 +4195,7 @@ src/app/components/app-frame/global-search/global-search.component.html 111,112 - Document types + Видови на документи Storage paths @@ -4203,7 +4203,7 @@ src/app/components/app-frame/global-search/global-search.component.html 118,119 - Storage paths + Складишни патеки Users @@ -4211,7 +4211,7 @@ src/app/components/app-frame/global-search/global-search.component.html 125,126 - Users + Корисници Groups @@ -4219,7 +4219,7 @@ src/app/components/app-frame/global-search/global-search.component.html 132,133 - Groups + Групи Custom fields @@ -4227,7 +4227,7 @@ src/app/components/app-frame/global-search/global-search.component.html 139,140 - Custom fields + Сопствени полиња Mail accounts @@ -4235,7 +4235,7 @@ src/app/components/app-frame/global-search/global-search.component.html 146,147 - Mail accounts + Сметки за е-пошта Mail rules @@ -4243,7 +4243,7 @@ src/app/components/app-frame/global-search/global-search.component.html 153,154 - Mail rules + Правила за пошта Workflows @@ -4251,7 +4251,7 @@ src/app/components/app-frame/global-search/global-search.component.html 160,161 - Workflows + Работни текови Successfully updated object. @@ -4263,7 +4263,7 @@ src/app/components/app-frame/global-search/global-search.component.ts 257 - Successfully updated object. + Објектот е успешно ажуриран. Error occurred saving object. @@ -4275,7 +4275,7 @@ src/app/components/app-frame/global-search/global-search.component.ts 260 - Error occurred saving object. + Се појави грешка при зачувување на објектот. Clear All @@ -4283,7 +4283,7 @@ src/app/components/app-frame/toasts-dropdown/toasts-dropdown.component.html 15 - Clear All + Исчисти сè No notifications @@ -4291,7 +4291,7 @@ src/app/components/app-frame/toasts-dropdown/toasts-dropdown.component.html 22 - No notifications + Нема известувања Chat @@ -4303,7 +4303,7 @@ src/app/data/saved-view-icons.ts 21 - Chat + Разговор Ask about this document @@ -4311,7 +4311,7 @@ src/app/components/chat/chat/chat.component.html 11 - Ask about this document + Прашајте за овој документ Ask about your documents @@ -4319,7 +4319,7 @@ src/app/components/chat/chat/chat.component.html 13 - Ask about your documents + Прашајте за вашите документи Clear chat @@ -4327,7 +4327,7 @@ src/app/components/chat/chat/chat.component.html 17 - Clear chat + Исчисти разговор Answers come from your documents, with links to their sources. @@ -4335,7 +4335,7 @@ src/app/components/chat/chat/chat.component.html 25,26 - Answers come from your documents, with links to their sources. + Одговорите доаѓаат од вашите документи, со врски до нивните извори. Still thinking... @@ -4343,7 +4343,7 @@ src/app/components/chat/chat/chat.component.html 34 - Still thinking... + Сè уште размислувам... Thinking... @@ -4351,7 +4351,7 @@ src/app/components/chat/chat/chat.component.html 36 - Thinking... + Размислувам... Sources @@ -4359,7 +4359,7 @@ src/app/components/chat/chat/chat.component.html 46,47 - Sources + Извори Message @@ -4371,7 +4371,7 @@ src/app/components/common/email-document-dialog/email-document-dialog.component.html 19,20 - Message + Порака Stop @@ -4383,7 +4383,7 @@ src/app/components/chat/chat/chat.component.html 74 - Stop + Запри Send @@ -4415,7 +4415,7 @@ src/app/data/saved-view-icons.ts 79 - Send + Прати Ask a question about this document... @@ -4423,7 +4423,7 @@ src/app/components/chat/chat/chat.component.ts 61 - Ask a question about this document... + Поставете прашање за овој документ... Ask a question about a document... @@ -4431,7 +4431,7 @@ src/app/components/chat/chat/chat.component.ts 62 - Ask a question about a document... + Поставете прашање за некој документ... Clear @@ -4443,7 +4443,7 @@ src/app/components/manage/mail/processed-mail-dialog/processed-mail-dialog.component.html 85,86 - Clear + Исчисти Yes @@ -4459,7 +4459,7 @@ src/app/components/document-list/document-list.component.html 388 - Yes + Да Are you sure? @@ -4467,7 +4467,7 @@ src/app/components/common/confirm-button/confirm-button.component.ts 22 - Are you sure? + Дали сте сигурни? Confirmation @@ -4475,7 +4475,7 @@ src/app/components/common/confirm-dialog/confirm-dialog.component.ts 30 - Confirmation + Потврда Confirm @@ -4515,7 +4515,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 888 - Confirm + Потврди Root document: @@ -4523,7 +4523,7 @@ src/app/components/common/confirm-dialog/merge-as-versions-confirm-dialog/merge-as-versions-confirm-dialog.component.html 8,9 - Root document: + Коренски документ: Versions (oldest first): @@ -4531,7 +4531,7 @@ src/app/components/common/confirm-dialog/merge-as-versions-confirm-dialog/merge-as-versions-confirm-dialog.component.html 16,17 - Versions (oldest first): + Верзии (најстарите прво): {VAR_PLURAL, plural, =1 {One page} other { pages}} @@ -4543,7 +4543,7 @@ src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.html 28 - {VAR_PLURAL, plural, =1 {One page} other { pages}} + {VAR_PLURAL, plural, =1 {Една страница} other { страници}} Current version @@ -4551,7 +4551,7 @@ src/app/components/common/confirm-dialog/merge-as-versions-confirm-dialog/merge-as-versions-confirm-dialog.component.html 40,41 - Current version + Тековна верзија Drag to reorder. @@ -4559,7 +4559,7 @@ src/app/components/common/confirm-dialog/merge-as-versions-confirm-dialog/merge-as-versions-confirm-dialog.component.html 47,48 - Drag to reorder. + Повлечете за преуредување. Documents: @@ -4567,7 +4567,7 @@ src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.html 9,10 - Documents: + Документи: Use metadata from: @@ -4575,7 +4575,7 @@ src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.html 38,39 - Use metadata from: + Користи метаподатоци од: Regenerate all metadata @@ -4583,7 +4583,7 @@ src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.html 40,41 - Regenerate all metadata + Генерирај ги повторно сите метаподатоци Try to include archive version in merge for non-PDF files @@ -4591,7 +4591,7 @@ src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.html 48,49 - Try to include archive version in merge for non-PDF files + Обиди се да ја вклучиш архивската верзија при спојување за датотеки што не се PDF Delete original documents after successful merge @@ -4599,7 +4599,7 @@ src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.html 52,53 - Delete original documents after successful merge + Избриши ги оригиналните документи по успешно спојување Note that only PDFs will be included. @@ -4607,7 +4607,7 @@ src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.html 55,57 - Note that only PDFs will be included. + Имајте предвид дека ќе бидат вклучени само PDF датотеки. Replace current document @@ -4615,7 +4615,7 @@ src/app/components/common/confirm-dialog/password-removal-confirm-dialog/password-removal-confirm-dialog.component.html 22,23 - Replace current document + Замени го тековниот документ Create new document @@ -4623,7 +4623,7 @@ src/app/components/common/confirm-dialog/password-removal-confirm-dialog/password-removal-confirm-dialog.component.html 35,36 - Create new document + Создај нов документ Copy metadata @@ -4631,7 +4631,7 @@ src/app/components/common/confirm-dialog/password-removal-confirm-dialog/password-removal-confirm-dialog.component.html 43,44 - Copy metadata + Копирај метаподатоци Delete original @@ -4639,7 +4639,7 @@ src/app/components/common/confirm-dialog/password-removal-confirm-dialog/password-removal-confirm-dialog.component.html 48,49 - Delete original + Избриши го оригиналот Remove password protection @@ -4651,7 +4651,7 @@ src/app/components/document-detail/document-detail.component.ts 1967 - Remove password protection + Отстрани заштита со лозинка Create an unprotected copy or replace the existing file. @@ -4663,7 +4663,7 @@ src/app/components/document-detail/document-detail.component.ts 1968 - Create an unprotected copy or replace the existing file. + Создајте незаштитена копија или заменете ја постојната датотека. Start @@ -4675,7 +4675,7 @@ src/app/components/document-detail/document-detail.component.ts 1969 - Start + Започни Use remote OCR @@ -4683,7 +4683,7 @@ src/app/components/common/confirm-dialog/reprocess-confirm-dialog/reprocess-confirm-dialog.component.html 16,17 - Use remote OCR + Користи оддалечен OCR Sends the document to the configured remote OCR service, which may incur costs. @@ -4691,7 +4691,7 @@ src/app/components/common/confirm-dialog/reprocess-confirm-dialog/reprocess-confirm-dialog.component.html 17,18 - Sends the document to the configured remote OCR service, which may incur costs. + Го праќа документот до конфигурираната оддалечена OCR услуга, што може да предизвика трошоци. Rotate counterclockwise @@ -4699,7 +4699,7 @@ src/app/components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component.html 9 - Rotate counterclockwise + Ротирај спротивно од стрелките на часовникот Rotate clockwise @@ -4707,7 +4707,7 @@ src/app/components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component.html 19 - Rotate clockwise + Ротирај во насока на стрелките на часовникот Note that only PDFs will be rotated. @@ -4715,7 +4715,7 @@ src/app/components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component.html 25,27 - Note that only PDFs will be rotated. + Имајте предвид дека ќе бидат ротирани само PDF датотеки. View @@ -4735,7 +4735,7 @@ src/app/components/document-list/document-card-large/document-card-large.component.html 79,80 - View + Прикажи Custom Fields @@ -4747,7 +4747,7 @@ src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.html 3 - Custom Fields + Сопствени полиња Search fields @@ -4755,7 +4755,7 @@ src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.html 9 - Search fields + Пребарај полиња Create new field @@ -4763,7 +4763,7 @@ src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.html 20 - Create new field + Создај ново поле Saved field "". @@ -4775,7 +4775,7 @@ src/app/components/manage/document-attributes/custom-fields/custom-fields.component.ts 86 - Saved field "". + Полето „“ е зачувано. Error saving field. @@ -4787,7 +4787,7 @@ src/app/components/manage/document-attributes/custom-fields/custom-fields.component.ts 96 - Error saving field. + Грешка при зачувување на полето. Date mode @@ -4795,7 +4795,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html 38 - Date mode + Режим на датум Fixed date @@ -4807,7 +4807,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html 40 - Fixed date + Фиксен датум Fixed @@ -4815,7 +4815,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html 41,42 - Fixed + Фиксен Relative date @@ -4827,7 +4827,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html 44 - Relative date + Релативен датум Relative @@ -4835,7 +4835,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html 45,46 - Relative + Релативен Amount @@ -4843,7 +4843,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html 51 - Amount + Износ Unit @@ -4851,7 +4851,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html 56,57 - Unit + Единица Open date picker @@ -4863,7 +4863,7 @@ src/app/components/common/input/date/date.component.html 16 - Open date picker + Отвори избирач на датум Today @@ -4899,7 +4899,7 @@ src/app/components/common/input/date/date.component.html 21,22 - Today + Денес Close @@ -4939,7 +4939,7 @@ src/app/guards/dirty-saved-view.guard.ts 35 - Close + Затвори True @@ -4955,7 +4955,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html 147,148 - True + Точно False @@ -4971,7 +4971,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html 148,149 - False + Неточно Search docs... @@ -4983,7 +4983,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html 164 - Search docs... + Пребарај документи... Operator @@ -4991,7 +4991,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html 119,120 - Operator + Оператор Remove query @@ -4999,7 +4999,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html 189 - Remove query + Отстрани прашалник Any @@ -5011,7 +5011,7 @@ src/app/components/common/filterable-dropdown/filterable-dropdown.component.html 16,17 - Any + Било кое Not @@ -5019,7 +5019,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html 204,205 - Not + Не Add query @@ -5027,7 +5027,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html 223 - Add query + Додај прашалник Add expression @@ -5035,7 +5035,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html 226 - Add expression + Додај израз Remove expression @@ -5043,7 +5043,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html 230 - Remove expression + Отстрани израз days ago @@ -5051,7 +5051,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.ts 330 - days ago + дена пред weeks ago @@ -5059,7 +5059,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.ts 331 - weeks ago + недели пред months ago @@ -5067,7 +5067,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.ts 332 - months ago + месеци пред years ago @@ -5075,7 +5075,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.ts 333 - years ago + години пред days from now @@ -5083,7 +5083,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.ts 334 - days from now + дена од сега weeks from now @@ -5091,7 +5091,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.ts 335 - weeks from now + недели од сега months from now @@ -5099,7 +5099,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.ts 336 - months from now + месеци од сега years from now @@ -5107,7 +5107,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.ts 337 - years from now + години од сега Clear created relative date @@ -5115,7 +5115,7 @@ src/app/components/common/dates-dropdown/dates-dropdown.component.html 12 - Clear created relative date + Исчисти релативен датум на создавање Relative dates @@ -5127,7 +5127,7 @@ src/app/components/common/dates-dropdown/dates-dropdown.component.html 102,103 - Relative dates + Релативни датуми Clear created from date @@ -5135,7 +5135,7 @@ src/app/components/common/dates-dropdown/dates-dropdown.component.html 37 - Clear created from date + Исчисти почетен датум на создавање From @@ -5147,7 +5147,7 @@ src/app/components/common/dates-dropdown/dates-dropdown.component.html 121,122 - From + Од Open created from date picker @@ -5155,7 +5155,7 @@ src/app/components/common/dates-dropdown/dates-dropdown.component.html 47 - Open created from date picker + Отвори избирач за почетен датум на создавање Clear created to date @@ -5163,7 +5163,7 @@ src/app/components/common/dates-dropdown/dates-dropdown.component.html 61 - Clear created to date + Исчисти краен датум на создавање To @@ -5175,7 +5175,7 @@ src/app/components/common/dates-dropdown/dates-dropdown.component.html 145,146 - To + До Open created to date picker @@ -5183,7 +5183,7 @@ src/app/components/common/dates-dropdown/dates-dropdown.component.html 71 - Open created to date picker + Отвори избирач за краен датум на создавање Added @@ -5207,7 +5207,7 @@ src/app/data/document.ts 93 - Added + Додадено Clear added relative date @@ -5215,7 +5215,7 @@ src/app/components/common/dates-dropdown/dates-dropdown.component.html 89 - Clear added relative date + Исчисти релативен датум на додавање Clear added from date @@ -5223,7 +5223,7 @@ src/app/components/common/dates-dropdown/dates-dropdown.component.html 114 - Clear added from date + Исчисти почетен датум на додавање Open added from date picker @@ -5231,7 +5231,7 @@ src/app/components/common/dates-dropdown/dates-dropdown.component.html 124 - Open added from date picker + Отвори избирач за почетен датум на додавање Clear added to date @@ -5239,7 +5239,7 @@ src/app/components/common/dates-dropdown/dates-dropdown.component.html 138 - Clear added to date + Исчисти краен датум на додавање Open added to date picker @@ -5247,7 +5247,7 @@ src/app/components/common/dates-dropdown/dates-dropdown.component.html 148 - Open added to date picker + Отвори избирач за краен датум на додавање now @@ -5255,7 +5255,7 @@ src/app/components/common/dates-dropdown/dates-dropdown.component.html 170 - now + сега Within 1 week @@ -5263,7 +5263,7 @@ src/app/components/common/dates-dropdown/dates-dropdown.component.ts 86 - Within 1 week + Во последната недела Within 1 month @@ -5271,7 +5271,7 @@ src/app/components/common/dates-dropdown/dates-dropdown.component.ts 91 - Within 1 month + Во последниот месец Within 3 months @@ -5279,7 +5279,7 @@ src/app/components/common/dates-dropdown/dates-dropdown.component.ts 96 - Within 3 months + Во последните 3 месеци Within 1 year @@ -5287,7 +5287,7 @@ src/app/components/common/dates-dropdown/dates-dropdown.component.ts 101 - Within 1 year + Во последната година This year @@ -5295,7 +5295,7 @@ src/app/components/common/dates-dropdown/dates-dropdown.component.ts 106 - This year + Оваа година This month @@ -5303,7 +5303,7 @@ src/app/components/common/dates-dropdown/dates-dropdown.component.ts 112 - This month + Овој месец Yesterday @@ -5315,7 +5315,7 @@ src/app/pipes/custom-date.pipe.ts 29 - Yesterday + Вчера Previous week @@ -5323,7 +5323,7 @@ src/app/components/common/dates-dropdown/dates-dropdown.component.ts 128 - Previous week + Претходната недела Previous month @@ -5331,7 +5331,7 @@ src/app/components/common/dates-dropdown/dates-dropdown.component.ts 142 - Previous month + Претходен месец Previous quarter @@ -5339,7 +5339,7 @@ src/app/components/common/dates-dropdown/dates-dropdown.component.ts 148 - Previous quarter + Претходниот квартал Previous year @@ -5347,7 +5347,7 @@ src/app/components/common/dates-dropdown/dates-dropdown.component.ts 162 - Previous year + Претходната година Matching algorithm @@ -5367,7 +5367,7 @@ src/app/components/common/edit-dialog/tag-edit-dialog/tag-edit-dialog.component.html 18 - Matching algorithm + Алгоритам за совпаѓање Matching pattern @@ -5387,7 +5387,7 @@ src/app/components/common/edit-dialog/tag-edit-dialog/tag-edit-dialog.component.html 20 - Matching pattern + Шаблон за совпаѓање Case insensitive @@ -5411,7 +5411,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 173 - Case insensitive + Не разликува големи и мали букви Create new correspondent @@ -5419,7 +5419,7 @@ src/app/components/common/edit-dialog/correspondent-edit-dialog/correspondent-edit-dialog.component.ts 43 - Create new correspondent + Создај нов кореспондент Edit correspondent @@ -5427,7 +5427,7 @@ src/app/components/common/edit-dialog/correspondent-edit-dialog/correspondent-edit-dialog.component.ts 47 - Edit correspondent + Уреди кореспондент Data type @@ -5435,7 +5435,7 @@ src/app/components/common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component.html 12 - Data type + Тип на податоци Data type cannot be changed after a field is created @@ -5443,7 +5443,7 @@ src/app/components/common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component.html 14,15 - Data type cannot be changed after a field is created + Типот на податоци не може да се промени откако полето ќе се создаде Add option @@ -5451,7 +5451,7 @@ src/app/components/common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component.html 20 - Add option + Додај опција Default Currency @@ -5459,7 +5459,7 @@ src/app/components/common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component.html 44 - Default Currency + Стандардна валута 3-character currency code @@ -5467,7 +5467,7 @@ src/app/components/common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component.html 44 - 3-character currency code + Трицифрен код на валута Use locale @@ -5475,7 +5475,7 @@ src/app/components/common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component.html 44 - Use locale + Користи локални поставки Create new custom field @@ -5483,7 +5483,7 @@ src/app/components/common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component.ts 118 - Create new custom field + Создај ново сопствено поле Edit custom field @@ -5491,7 +5491,7 @@ src/app/components/common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component.ts 122 - Edit custom field + Уреди сопствено поле Create new document type @@ -5499,7 +5499,7 @@ src/app/components/common/edit-dialog/document-type-edit-dialog/document-type-edit-dialog.component.ts 43 - Create new document type + Создај нов вид на документ Edit document type @@ -5507,7 +5507,7 @@ src/app/components/common/edit-dialog/document-type-edit-dialog/document-type-edit-dialog.component.ts 47 - Edit document type + Уреди вид на документ Create new item @@ -5519,7 +5519,7 @@ src/app/components/common/input/select/select.component.html 58 - Create new item + Создај нова ставка Edit item @@ -5527,7 +5527,7 @@ src/app/components/common/edit-dialog/edit-dialog.component.ts 127 - Edit item + Уреди ставка Create new user group @@ -5535,7 +5535,7 @@ src/app/components/common/edit-dialog/group-edit-dialog/group-edit-dialog.component.ts 36 - Create new user group + Создај нова корисничка група Edit user group @@ -5543,7 +5543,7 @@ src/app/components/common/edit-dialog/group-edit-dialog/group-edit-dialog.component.ts 40 - Edit user group + Уреди корисничка група IMAP Server @@ -5551,7 +5551,7 @@ src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.html 14 - IMAP Server + IMAP сервер IMAP Port @@ -5559,7 +5559,7 @@ src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.html 15 - IMAP Port + IMAP порта IMAP Security @@ -5567,7 +5567,7 @@ src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.html 16 - IMAP Security + IMAP безбедност Password @@ -5583,7 +5583,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html 20 - Password + Лозинка Password is token @@ -5591,7 +5591,7 @@ src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.html 21 - Password is token + Лозинката е токен Check if the password above is a token used for authentication @@ -5599,7 +5599,7 @@ src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.html 21 - Check if the password above is a token used for authentication + Означете ако лозинката погоре е токен што се користи за автентикација Character Set @@ -5607,7 +5607,7 @@ src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.html 22 - Character Set + Множество знаци Test @@ -5615,7 +5615,7 @@ src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.html 37 - Test + Тестирај No encryption @@ -5623,7 +5623,7 @@ src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.ts 20 - No encryption + Без шифрирање SSL @@ -5631,7 +5631,7 @@ src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.ts 21 - SSL + SSL STARTTLS @@ -5639,7 +5639,7 @@ src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.ts 22 - STARTTLS + STARTTLS Create new mail account @@ -5647,7 +5647,7 @@ src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.ts 54 - Create new mail account + Создај нова сметка за е-пошта Edit mail account @@ -5655,7 +5655,7 @@ src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.ts 58 - Edit mail account + Уреди сметка за е-пошта Successfully connected to the mail server @@ -5663,7 +5663,7 @@ src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.ts 104 - Successfully connected to the mail server + Успешно поврзување со поштенскиот сервер Unable to connect to the mail server @@ -5671,7 +5671,7 @@ src/app/components/common/edit-dialog/mail-account-edit-dialog/mail-account-edit-dialog.component.ts 105 - Unable to connect to the mail server + Не може да се поврзе со поштенскиот сервер Account @@ -5683,7 +5683,7 @@ src/app/components/manage/mail/mail.component.html 113,114 - Account + Сметка Enabled @@ -5703,7 +5703,7 @@ src/app/components/manage/workflows/workflows.component.html 41 - Enabled + Овозможено Order @@ -5711,7 +5711,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html 24 - Order + Редослед Stop further processing @@ -5719,7 +5719,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html 27 - Stop further processing + Запри понатамошна обработка Stop processing further rules if this rule queues any document(s). @@ -5727,7 +5727,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html 27 - Stop processing further rules if this rule queues any document(s). + Запри обработка на понатамошни правила ако ова правило стави некој документ во редица. Paperless will only process mails that match all of the criteria specified below. @@ -5735,7 +5735,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html 32,33 - Paperless will only process mails that match all of the criteria specified below. + Paperless ќе обработува само пошта што се совпаѓа со сите критериуми наведени подолу. Folder @@ -5747,7 +5747,7 @@ src/app/data/saved-view-icons.ts 61 - Folder + Папка Subfolders must be separated by a delimiter, often a dot ('.') or slash ('/'), but it varies by mail server. @@ -5755,7 +5755,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html 34 - Subfolders must be separated by a delimiter, often a dot ('.') or slash ('/'), but it varies by mail server. + Подпапките мора да бидат одделени со одделувач, често точка ('.') или коса црта ('/'), но тоа зависи од поштенскиот сервер. Maximum age (days) @@ -5763,7 +5763,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html 35 - Maximum age (days) + Максимална старост (денови) Filter from @@ -5771,7 +5771,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html 38 - Filter from + Филтрирај по испраќач Filter to @@ -5779,7 +5779,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html 39 - Filter to + Филтрирај по примач Filter subject @@ -5787,7 +5787,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html 40 - Filter subject + Филтрирај по тема Filter body @@ -5795,7 +5795,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html 41 - Filter body + Филтрирај по содржина Consumption scope @@ -5803,7 +5803,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html 47 - Consumption scope + Опфат на внесување See docs for .eml processing requirements @@ -5811,7 +5811,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html 47 - See docs for .eml processing requirements + Видете ја документацијата за барањата за обработка на .eml Attachment type @@ -5819,7 +5819,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html 48 - Attachment type + Вид на прилог PDF layout @@ -5827,7 +5827,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html 49 - PDF layout + PDF распоред Include only files matching @@ -5835,7 +5835,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html 52 - Include only files matching + Вклучи само датотеки што се совпаѓаат со Optional. Wildcards e.g. *.pdf or *invoice* allowed. Can be comma-separated list. Case insensitive. @@ -5847,7 +5847,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html 53 - Optional. Wildcards e.g. *.pdf or *invoice* allowed. Can be comma-separated list. Case insensitive. + Изборно. Дозволени се џокер-знаци, на пр. *.pdf или *invoice*. Може да биде листа одделена со запирки. Не прави разлика меѓу големи и мали букви. Exclude files matching @@ -5855,7 +5855,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html 53 - Exclude files matching + Исклучи датотеки што се совпаѓаат со Action @@ -5863,7 +5863,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html 59 - Action + Акција Only performed if the mail is processed. @@ -5871,7 +5871,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html 59 - Only performed if the mail is processed. + Се извршува само ако поштата е обработена. Action parameter @@ -5879,7 +5879,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html 61 - Action parameter + Параметар на акцијата Assign title from @@ -5887,7 +5887,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html 63 - Assign title from + Додели наслов од Assign owner from rule @@ -5895,7 +5895,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html 64 - Assign owner from rule + Додели сопственик од правилото Assign document type @@ -5907,7 +5907,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 266 - Assign document type + Додели вид на документ Assign correspondent from @@ -5915,7 +5915,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html 69 - Assign correspondent from + Додели кореспондент од Assign correspondent @@ -5927,7 +5927,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 267 - Assign correspondent + Додели кореспондент Error @@ -5967,7 +5967,7 @@ src/app/components/manage/mail/processed-mail-dialog/processed-mail-dialog.component.html 36,37 - Error + Грешка Only process attachments @@ -5979,7 +5979,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.ts 51 - Only process attachments + Обработувај само прилози Process all files, including 'inline' attachments @@ -5987,7 +5987,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.ts 44 - Process all files, including 'inline' attachments + Обработувај ги сите датотеки, вклучувајќи и 'inline' прилози Process message as .eml @@ -5995,7 +5995,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.ts 55 - Process message as .eml + Обработи ја пораката како .eml Process message as .eml and attachments separately @@ -6003,7 +6003,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.ts 59 - Process message as .eml and attachments separately + Обработи ја пораката како .eml и прилозите посебно System default @@ -6011,7 +6011,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.ts 66 - System default + Стандардно од системот Text, then HTML @@ -6019,7 +6019,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.ts 70 - Text, then HTML + Текст, па HTML HTML, then text @@ -6027,7 +6027,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.ts 74 - HTML, then text + HTML, па текст HTML only @@ -6035,7 +6035,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.ts 78 - HTML only + Само HTML Text only @@ -6043,7 +6043,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.ts 82 - Text only + Само текст Move to specified folder @@ -6051,7 +6051,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.ts 93 - Move to specified folder + Премести во наведена папка Mark as read, don't process read mails @@ -6059,7 +6059,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.ts 97 - Mark as read, don't process read mails + Означи како прочитано, не обработувај прочитана пошта Flag the mail, don't process flagged mails @@ -6067,7 +6067,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.ts 101 - Flag the mail, don't process flagged mails + Обележи ја поштата, не обработувај обележана пошта Tag the mail with specified tag, don't process tagged mails @@ -6075,7 +6075,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.ts 105 - Tag the mail with specified tag, don't process tagged mails + Означи ја поштата со наведена ознака, не обработувај означена пошта Use subject as title @@ -6083,7 +6083,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.ts 112 - Use subject as title + Користи ја темата како наслов Use attachment filename as title @@ -6091,7 +6091,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.ts 116 - Use attachment filename as title + Користи го името на прилогот како наслов Do not assign title from this rule @@ -6099,7 +6099,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.ts 120 - Do not assign title from this rule + Не доделувај наслов од ова правило Do not assign a correspondent @@ -6107,7 +6107,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.ts 127 - Do not assign a correspondent + Не доделувај кореспондент Use mail address @@ -6115,7 +6115,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.ts 131 - Use mail address + Користи адреса на е-пошта Use name (or mail address if not available) @@ -6123,7 +6123,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.ts 135 - Use name (or mail address if not available) + Користи име (или адреса на е-пошта ако не е достапна) Use correspondent selected below @@ -6131,7 +6131,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.ts 139 - Use correspondent selected below + Користи кореспондент избран подолу Error retrieving mail accounts @@ -6143,7 +6143,7 @@ src/app/components/manage/mail/mail.component.ts 110 - Error retrieving mail accounts + Грешка при вчитување на сметките за е-пошта Error retrieving correspondents @@ -6151,7 +6151,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.ts 182 - Error retrieving correspondents + Грешка при вчитување на кореспондентите Error retrieving document types @@ -6159,7 +6159,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.ts 195 - Error retrieving document types + Грешка при вчитување на видовите на документи Create new mail rule @@ -6167,7 +6167,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.ts 212 - Create new mail rule + Создај ново правило за пошта Edit mail rule @@ -6175,7 +6175,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.ts 216 - Edit mail rule + Уреди правило за пошта Path @@ -6187,7 +6187,7 @@ src/app/components/manage/document-attributes/management-list/storage-path-list/storage-path-list.component.ts 48 - Path + Патека See <a target='_blank' href='https://docs.paperless-ngx.com/advanced_usage/#file-name-handling'>the documentation</a>. @@ -6195,7 +6195,7 @@ src/app/components/common/edit-dialog/storage-path-edit-dialog/storage-path-edit-dialog.component.html 13 - See <a target='_blank' href='https://docs.paperless-ngx.com/advanced_usage/#file-name-handling'>the documentation</a>. + Видете <a target='_blank' href='https://docs.paperless-ngx.com/advanced_usage/#file-name-handling'>документацијата</a>. Preview @@ -6207,7 +6207,7 @@ src/app/components/document-detail/document-detail.component.html 352,353 - Preview + Преглед Path test failed @@ -6215,7 +6215,7 @@ src/app/components/common/edit-dialog/storage-path-edit-dialog/storage-path-edit-dialog.component.html 30,31 - Path test failed + Тестот на патеката не успеа No document selected @@ -6223,7 +6223,7 @@ src/app/components/common/edit-dialog/storage-path-edit-dialog/storage-path-edit-dialog.component.html 32,33 - No document selected + Нема избран документ Search for a document @@ -6235,7 +6235,7 @@ src/app/components/document-detail/document-version-dropdown/add-existing-document-version-dialog/add-existing-document-version-dialog.component.html 10,11 - Search for a document + Пребарај документ No documents found @@ -6247,7 +6247,7 @@ src/app/components/common/input/document-link/document-link.component.ts 73 - No documents found + Не се пронајдени документи Create new storage path @@ -6255,7 +6255,7 @@ src/app/components/common/edit-dialog/storage-path-edit-dialog/storage-path-edit-dialog.component.ts 82 - Create new storage path + Создај нова складишна патека Edit storage path @@ -6263,7 +6263,7 @@ src/app/components/common/edit-dialog/storage-path-edit-dialog/storage-path-edit-dialog.component.ts 86 - Edit storage path + Уреди складишна патека Color @@ -6275,7 +6275,7 @@ src/app/components/manage/document-attributes/management-list/tag-list/tag-list.component.ts 48 - Color + Боја Parent @@ -6283,7 +6283,7 @@ src/app/components/common/edit-dialog/tag-edit-dialog/tag-edit-dialog.component.html 15 - Parent + Родител Inbox tag @@ -6291,7 +6291,7 @@ src/app/components/common/edit-dialog/tag-edit-dialog/tag-edit-dialog.component.html 17 - Inbox tag + Ознака за влезно сандаче Inbox tags are automatically assigned to all consumed documents. @@ -6299,7 +6299,7 @@ src/app/components/common/edit-dialog/tag-edit-dialog/tag-edit-dialog.component.html 17 - Inbox tags are automatically assigned to all consumed documents. + Ознаките за влезно сандаче автоматски се доделуваат на сите внесени документи. Create new tag @@ -6311,7 +6311,7 @@ src/app/components/common/input/tags/tags.component.html 51 - Create new tag + Создај нова ознака Edit tag @@ -6319,7 +6319,7 @@ src/app/components/common/edit-dialog/tag-edit-dialog/tag-edit-dialog.component.ts 55 - Edit tag + Уреди ознака Email @@ -6343,7 +6343,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.html 136 - Email + Е-пошта First name @@ -6355,7 +6355,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html 30 - First name + Име Last name @@ -6367,7 +6367,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html 31 - Last name + Презиме Active @@ -6375,7 +6375,7 @@ src/app/components/common/edit-dialog/user-edit-dialog/user-edit-dialog.component.html 22,23 - Active + Активен Admin @@ -6383,7 +6383,7 @@ src/app/components/common/edit-dialog/user-edit-dialog/user-edit-dialog.component.html 26 - Admin + Администратор Access system status, logs, Django backend @@ -6391,7 +6391,7 @@ src/app/components/common/edit-dialog/user-edit-dialog/user-edit-dialog.component.html 26 - Access system status, logs, Django backend + Пристап до состојбата на системот, дневниците, Django backend Superuser @@ -6399,7 +6399,7 @@ src/app/components/common/edit-dialog/user-edit-dialog/user-edit-dialog.component.html 30 - Superuser + Суперкорисник Grants all permissions and can view all objects @@ -6407,7 +6407,7 @@ src/app/components/common/edit-dialog/user-edit-dialog/user-edit-dialog.component.html 30 - Grants all permissions and can view all objects + Ги дава сите дозволи и може да ги прегледува сите објекти Two-factor Authentication @@ -6423,7 +6423,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html 139,140 - Two-factor Authentication + Двофакторска автентикација Disable Two-factor Authentication @@ -6443,7 +6443,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html 170,171 - Disable Two-factor Authentication + Оневозможи двофакторска автентикација Create new user account @@ -6451,7 +6451,7 @@ src/app/components/common/edit-dialog/user-edit-dialog/user-edit-dialog.component.ts 74 - Create new user account + Создај нова корисничка сметка Edit user account @@ -6459,7 +6459,7 @@ src/app/components/common/edit-dialog/user-edit-dialog/user-edit-dialog.component.ts 78 - Edit user account + Уреди корисничка сметка Totp deactivated @@ -6467,7 +6467,7 @@ src/app/components/common/edit-dialog/user-edit-dialog/user-edit-dialog.component.ts 135 - Totp deactivated + TOTP е деактивиран Totp deactivation failed @@ -6479,7 +6479,7 @@ src/app/components/common/edit-dialog/user-edit-dialog/user-edit-dialog.component.ts 143 - Totp deactivation failed + Деактивирањето на TOTP не успеа Sort order @@ -6491,7 +6491,7 @@ src/app/components/manage/workflows/workflows.component.html 18,19 - Sort order + Редослед на подредување Triggers @@ -6503,7 +6503,7 @@ src/app/components/manage/workflows/workflows.component.html 20,21 - Triggers + Активатори Trigger Workflow On: @@ -6511,7 +6511,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 31,32 - Trigger Workflow On: + Активирај работен тек при: Add Trigger @@ -6519,7 +6519,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 33 - Add Trigger + Додај активатор Apply Actions: @@ -6527,7 +6527,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 73,74 - Apply Actions: + Примени акции: Add Action @@ -6535,7 +6535,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 75 - Add Action + Додај акција Trigger type @@ -6543,7 +6543,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 123 - Trigger type + Вид на активатор Set scheduled trigger offset and which date field to use. @@ -6551,7 +6551,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 125,126 - Set scheduled trigger offset and which date field to use. + Поставете поместување на закажаниот активатор и кое поле за датум да се користи. Offset days @@ -6559,7 +6559,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 130,131 - Offset days + Поместување во денови Positive values will trigger after the date, negative values before. @@ -6567,7 +6567,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 134,135 - Positive values will trigger after the date, negative values before. + Позитивните вредности активираат по датумот, негативните пред него. Relative to @@ -6575,7 +6575,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 139 - Relative to + Во однос на Custom field @@ -6583,7 +6583,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 143 - Custom field + Сопствено поле Custom field to use for date. @@ -6591,7 +6591,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 143 - Custom field to use for date. + Сопствено поле што ќе се користи за датум. Recurring @@ -6599,7 +6599,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 149 - Recurring + Повторувачки Trigger is recurring. @@ -6607,7 +6607,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 149 - Trigger is recurring. + Активаторот се повторува. Recurring interval days @@ -6615,7 +6615,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 153 - Recurring interval days + Интервал на повторување во денови Repeat the trigger every n days. @@ -6623,7 +6623,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 153 - Repeat the trigger every n days. + Повторувај го активаторот на секои n дена. Trigger for documents that match all filters specified below. @@ -6631,7 +6631,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 158,159 - Trigger for documents that match all filters specified below. + Активирај за документи што се совпаѓаат со сите филтри наведени подолу. Filter filename @@ -6639,7 +6639,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 161 - Filter filename + Филтрирај по име на датотека Apply to documents that match this filename. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive. @@ -6647,7 +6647,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 161 - Apply to documents that match this filename. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive. + Примени на документи што се совпаѓаат со ова име на датотека. Дозволени се џокер-знаци како *.pdf или *invoice*. Не прави разлика меѓу големи и мали букви. Filter sources @@ -6655,7 +6655,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 163 - Filter sources + Филтрирај по извори Filter path @@ -6663,7 +6663,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 164 - Filter path + Филтрирај по патека Apply to documents that match this path. Wildcards specified as * are allowed. Case-normalized. @@ -6671,7 +6671,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 164 - Apply to documents that match this path. Wildcards specified as * are allowed. Case-normalized. + Примени на документи што се совпаѓаат со оваа патека. Дозволени се џокер-знаци наведени како *. Не прави разлика меѓу големи и мали букви. Filter mail rule @@ -6679,7 +6679,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 165 - Filter mail rule + Филтрирај по правило за пошта Apply to documents consumed via this mail rule. @@ -6687,7 +6687,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 165 - Apply to documents consumed via this mail rule. + Примени на документи внесени преку ова правило за пошта. Content matching algorithm @@ -6695,7 +6695,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 168 - Content matching algorithm + Алгоритам за совпаѓање на содржината Content matching pattern @@ -6703,7 +6703,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 170 - Content matching pattern + Шаблон за совпаѓање на содржината Advanced Filters @@ -6711,7 +6711,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 183,184 - Advanced Filters + Напредни филтри Add filter @@ -6719,7 +6719,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 190,191 - Add filter + Додај филтер No advanced workflow filters defined. @@ -6727,7 +6727,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 195,196 - No advanced workflow filters defined. + Нема дефинирани напредни филтри за работниот тек. Complete the custom field query configuration. @@ -6735,7 +6735,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 226 - Complete the custom field query configuration. + Довршете ја конфигурацијата на прашалникот за сопствени полиња. Action type @@ -6743,7 +6743,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 259 - Action type + Вид на акција Assign title @@ -6751,7 +6751,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 264 - Assign title + Додели наслов Can include some placeholders, see <a target='_blank' href='https://docs.paperless-ngx.com/usage/#workflows'>documentation</a>. @@ -6759,7 +6759,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 264 - Can include some placeholders, see <a target='_blank' href='https://docs.paperless-ngx.com/usage/#workflows'>documentation</a>. + Може да содржи некои променливи, видете ја <a target='_blank' href='https://docs.paperless-ngx.com/usage/#workflows'>документацијата</a>. Assign tags @@ -6767,7 +6767,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 265 - Assign tags + Додели ознаки Assign storage path @@ -6775,7 +6775,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 268 - Assign storage path + Додели складишна патека Assign custom fields @@ -6783,7 +6783,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 269 - Assign custom fields + Додели сопствени полиња Assign owner @@ -6791,7 +6791,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 273 - Assign owner + Додели сопственик Assign view permissions @@ -6799,7 +6799,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 275,276 - Assign view permissions + Додели дозволи за преглед Assign edit permissions @@ -6807,7 +6807,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 294,295 - Assign edit permissions + Додели дозволи за уредување Remove tags @@ -6815,7 +6815,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 321,322 - Remove tags + Отстрани ознаки Remove all @@ -6847,7 +6847,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 359 - Remove all + Отстрани ги сите Remove correspondents @@ -6855,7 +6855,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 327,328 - Remove correspondents + Отстрани кореспонденти Remove document types @@ -6863,7 +6863,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 333,334 - Remove document types + Отстрани видови на документи Remove storage paths @@ -6871,7 +6871,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 339,340 - Remove storage paths + Отстрани складишни патеки Remove custom fields @@ -6879,7 +6879,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 345,346 - Remove custom fields + Отстрани сопствени полиња Remove owners @@ -6887,7 +6887,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 352,353 - Remove owners + Отстрани сопственици Remove permissions @@ -6895,7 +6895,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 358,359 - Remove permissions + Отстрани дозволи View permissions @@ -6903,7 +6903,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 361,362 - View permissions + Дозволи за преглед Edit permissions @@ -6911,7 +6911,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 380,381 - Edit permissions + Дозволи за уредување Email subject @@ -6919,7 +6919,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 408 - Email subject + Тема на е-поштата Email body @@ -6927,7 +6927,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 409 - Email body + Содржина на е-поштата Email recipients @@ -6935,7 +6935,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 410 - Email recipients + Примачи на е-поштата Attach document @@ -6943,7 +6943,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 411 - Attach document + Прикачи го документот Webhook url @@ -6951,7 +6951,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 419 - Webhook url + URL на webhook Use parameters for webhook body @@ -6959,7 +6959,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 421 - Use parameters for webhook body + Користи параметри за содржината на webhook Send webhook payload as JSON @@ -6967,7 +6967,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 422 - Send webhook payload as JSON + Прати ја содржината на webhook како JSON Webhook params @@ -6975,7 +6975,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 425 - Webhook params + Параметри на webhook Webhook body @@ -6983,7 +6983,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 427 - Webhook body + Содржина на webhook Webhook headers @@ -6991,7 +6991,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 429 - Webhook headers + Заглавја на webhook Include document @@ -6999,7 +6999,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 430 - Include document + Вклучи го документот One password per line. The workflow will try them in order until one succeeds. @@ -7007,7 +7007,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 438 - One password per line. The workflow will try them in order until one succeeds. + Една лозинка по ред. Работниот тек ќе ги пробува по редослед додека една не успее. Passwords @@ -7015,7 +7015,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 442,443 - Passwords + Лозинки Passwords are stored in plain text. Use with caution. @@ -7023,7 +7023,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 446,447 - Passwords are stored in plain text. Use with caution. + Лозинките се чуваат како обичен текст. Користете со внимание. The document will be moved to the trash at the end of the workflow run. @@ -7031,7 +7031,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 455,456 - The document will be moved to the trash at the end of the workflow run. + Документот ќе биде преместен во кантата на крајот од извршувањето на работниот тек. The document will be sent to the configured remote OCR service. May incur costs. @@ -7039,7 +7039,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 462,463 - The document will be sent to the configured remote OCR service. May incur costs. + Документот ќе биде пратен до конфигурираната оддалечена OCR услуга. Може да предизвика трошоци. The document will be sent to the configured AI service for suggestions. Consider costs and privacy. @@ -7047,7 +7047,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 469,470 - The document will be sent to the configured AI service for suggestions. Consider costs and privacy. + Документот ќе биде пратен до конфигурираната AI услуга за предлози. Имајте ги предвид трошоците и приватноста. This action runs in the background, so the suggestions may be applied after the other actions of this workflow have finished. @@ -7055,7 +7055,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 470,471 - This action runs in the background, so the suggestions may be applied after the other actions of this workflow have finished. + Оваа акција се извршува во позадина, па предлозите може да се применат откако другите акции на овој работен тек ќе завршат. Apply suggestions for @@ -7063,7 +7063,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 473,474 - Apply suggestions for + Примени предлози за Suggestions for fields that are not selected are discarded. @@ -7071,7 +7071,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 478,479 - Suggestions for fields that are not selected are discarded. + Предлозите за полињата што не се избрани се отфрлаат. Create missing items @@ -7079,7 +7079,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 488,489 - Create missing items + Создај ставки што недостасуваат Create suggested tags, correspondents and document types that do not exist yet. @@ -7087,7 +7087,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 490,491 - Create suggested tags, correspondents and document types that do not exist yet. + Создај предложени ознаки, кореспонденти и видови на документи што сè уште не постојат. Overwrite existing values @@ -7095,7 +7095,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 498,499 - Overwrite existing values + Презапиши постојни вредности Apply suggestions even if the document already has a value. Tags are always added, never replaced. @@ -7103,7 +7103,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 500,501 - Apply suggestions even if the document already has a value. Tags are always added, never replaced. + Примени ги предлозите дури и ако документот веќе има вредност. Ознаките секогаш се додаваат, никогаш не се заменуваат. Consume Folder @@ -7111,7 +7111,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 74 - Consume Folder + Папка за внесување Modified @@ -7123,7 +7123,7 @@ src/app/data/document.ts 94 - Modified + Изменето Custom Field @@ -7131,7 +7131,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 105 - Custom Field + Сопствено поле Consumption Started @@ -7139,7 +7139,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 112 - Consumption Started + Започнато внесување Document Added @@ -7147,7 +7147,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 116 - Document Added + Документот е додаден Document Updated @@ -7155,7 +7155,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 120 - Document Updated + Документот е ажуриран Assignment @@ -7163,7 +7163,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 131 - Assignment + Доделување Removal @@ -7171,7 +7171,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 135 - Removal + Отстранување Webhook @@ -7179,7 +7179,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 143 - Webhook + Webhook Password removal @@ -7187,7 +7187,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 147 - Password removal + Отстранување на лозинка Move to trash @@ -7203,7 +7203,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 892 - Move to trash + Премести во канта Remote OCR @@ -7215,7 +7215,7 @@ src/app/data/paperless-config.ts 58 - Remote OCR + Оддалечен OCR Apply AI suggestions @@ -7223,7 +7223,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 159 - Apply AI suggestions + Примени AI предлози Title @@ -7251,7 +7251,7 @@ src/app/data/document.ts 90 - Title + Наслов Created date @@ -7259,7 +7259,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 186 - Created date + Датум на создавање Has any of these tags @@ -7267,7 +7267,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 255 - Has any of these tags + Има која било од овие ознаки Has all of these tags @@ -7275,7 +7275,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 262 - Has all of these tags + Ги има сите овие ознаки Does not have these tags @@ -7283,7 +7283,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 269 - Does not have these tags + Ги нема овие ознаки Has any of these correspondents @@ -7291,7 +7291,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 276 - Has any of these correspondents + Има кој било од овие кореспонденти Has correspondent @@ -7299,7 +7299,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 284 - Has correspondent + Има кореспондент Does not have correspondents @@ -7307,7 +7307,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 292 - Does not have correspondents + Ги нема кореспондентите Has document type @@ -7315,7 +7315,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 300 - Has document type + Има вид на документ Has any of these document types @@ -7323,7 +7323,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 308 - Has any of these document types + Има кој било од овие видови на документи Does not have document types @@ -7331,7 +7331,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 316 - Does not have document types + Ги нема видовите на документи Has storage path @@ -7339,7 +7339,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 324 - Has storage path + Има складишна патека Has any of these storage paths @@ -7347,7 +7347,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 332 - Has any of these storage paths + Има која било од овие складишни патеки Does not have storage paths @@ -7355,7 +7355,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 340 - Does not have storage paths + Ги нема складишните патеки Matches custom field query @@ -7363,7 +7363,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 348 - Matches custom field query + Се совпаѓа со прашалникот за сопствени полиња Some workflow options could not be loaded. @@ -7371,7 +7371,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 570 - Some workflow options could not be loaded. + Некои опции на работниот тек не може да се вчитаат. Create new workflow @@ -7379,7 +7379,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 592 - Create new workflow + Создај нов работен тек Edit workflow @@ -7387,7 +7387,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 596 - Edit workflow + Уреди работен тек {VAR_PLURAL, plural, =1 {Email Document} other {Email Documents}} @@ -7395,7 +7395,7 @@ src/app/components/common/email-document-dialog/email-document-dialog.component.html 3,5 - {VAR_PLURAL, plural, =1 {Email Document} other {Email Documents}} + {VAR_PLURAL, plural, =1 {Прати документ по е-пошта} other {Прати документи по е-пошта}} Email address(es) @@ -7403,7 +7403,7 @@ src/app/components/common/email-document-dialog/email-document-dialog.component.html 11,12 - Email address(es) + Адреса/и на е-пошта Subject @@ -7415,7 +7415,7 @@ src/app/components/manage/mail/processed-mail-dialog/processed-mail-dialog.component.html 32,33 - Subject + Тема Use archive version @@ -7423,7 +7423,7 @@ src/app/components/common/email-document-dialog/email-document-dialog.component.html 27,28 - Use archive version + Користи архивска верзија Send email @@ -7431,7 +7431,7 @@ src/app/components/common/email-document-dialog/email-document-dialog.component.html 33 - Send email + Прати е-пошта Some email servers may reject messages with large attachments. @@ -7439,7 +7439,7 @@ src/app/components/common/email-document-dialog/email-document-dialog.component.html 37 - Some email servers may reject messages with large attachments. + Некои сервери за е-пошта може да ги одбијат пораките со големи прилози. Email sent @@ -7447,7 +7447,7 @@ src/app/components/common/email-document-dialog/email-document-dialog.component.ts 53 - Email sent + Е-поштата е пратена Error emailing documents @@ -7455,7 +7455,7 @@ src/app/components/common/email-document-dialog/email-document-dialog.component.ts 59 - Error emailing documents + Грешка при праќање на документите по е-пошта Error emailing document @@ -7463,7 +7463,7 @@ src/app/components/common/email-document-dialog/email-document-dialog.component.ts 60 - Error emailing document + Грешка при праќање на документот по е-пошта Include @@ -7471,7 +7471,7 @@ src/app/components/common/filterable-dropdown/filterable-dropdown.component.html 24,25 - Include + Вклучи Exclude @@ -7479,7 +7479,7 @@ src/app/components/common/filterable-dropdown/filterable-dropdown.component.html 26,27 - Exclude + Исклучи Create @@ -7495,7 +7495,7 @@ src/app/components/manage/document-attributes/document-attributes.component.html 52 - Create + Создај Apply @@ -7503,7 +7503,7 @@ src/app/components/common/filterable-dropdown/filterable-dropdown.component.html 60,61 - Apply + Примени Click again to exclude items. @@ -7511,7 +7511,7 @@ src/app/components/common/filterable-dropdown/filterable-dropdown.component.html 73,74 - Click again to exclude items. + Кликнете повторно за да ги исклучите ставките. Not assigned @@ -7520,7 +7520,7 @@ 117 Filter drop down element to filter for documents with no correspondent/type/tag assigned - Not assigned + Не е доделено Open filter @@ -7528,7 +7528,7 @@ src/app/components/common/filterable-dropdown/filterable-dropdown.component.ts 874 - Open filter + Отвори го филтерот Keyboard shortcuts @@ -7536,7 +7536,7 @@ src/app/components/common/hotkey-dialog/hotkey-dialog.component.ts 23 - Keyboard shortcuts + Кратенки на тастатурата Remove @@ -7588,7 +7588,7 @@ src/app/components/common/input/url/url.component.html 7 - Remove + Отстрани Open color picker @@ -7596,7 +7596,7 @@ src/app/components/common/input/color/color.component.html 7 - Open color picker + Отвори избирач на боја Choose a random color @@ -7604,7 +7604,7 @@ src/app/components/common/input/color/color.component.html 17 - Choose a random color + Избери случајна боја Remove custom field @@ -7616,7 +7616,7 @@ src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html 64 - Remove custom field + Отстрани сопствено поле Invalid date. @@ -7624,7 +7624,7 @@ src/app/components/common/input/date/date.component.html 31,32 - Invalid date. + Невалиден датум. Suggestions: @@ -7640,7 +7640,7 @@ src/app/components/common/input/tags/tags.component.html 66 - Suggestions: + Предлози: Filter documents with this @@ -7652,7 +7652,7 @@ src/app/components/common/input/select/select.component.ts 179 - Filter documents with this + Филтрирај документи со ова Remove link @@ -7660,7 +7660,7 @@ src/app/components/common/input/document-link/document-link.component.html 44 - Remove link + Отстрани врска Open link @@ -7672,7 +7672,7 @@ src/app/components/common/input/url/url.component.html 14 - Open link + Отвори врска Unavailable @@ -7680,7 +7680,7 @@ src/app/components/common/input/document-link/document-link.component.html 52,53 - Unavailable + Недостапно Search for documents @@ -7688,7 +7688,7 @@ src/app/components/common/input/document-link/document-link.component.ts 82 - Search for documents + Пребарај документи Selected items @@ -7696,7 +7696,7 @@ src/app/components/common/input/drag-drop-select/drag-drop-select.component.ts 25 - Selected items + Избрани ставки No items selected @@ -7704,7 +7704,7 @@ src/app/components/common/input/drag-drop-select/drag-drop-select.component.ts 31 - No items selected + Нема избрани ставки Add @@ -7716,7 +7716,7 @@ src/app/components/common/permissions-select/permissions-select.component.html 17,18 - Add + Додај Remove entry @@ -7724,7 +7724,7 @@ src/app/components/common/input/entries/entries.component.html 16 - Remove entry + Отстрани запис Show password @@ -7732,7 +7732,7 @@ src/app/components/common/input/password/password.component.html 12 - Show password + Прикажи лозинка Edit Permissions @@ -7740,7 +7740,7 @@ src/app/components/common/input/permissions/permissions-form/permissions-form.component.html 11,12 - Edit Permissions + Уреди дозволи Owner: @@ -7748,7 +7748,7 @@ src/app/components/common/input/permissions/permissions-form/permissions-form.component.html 28,29 - Owner: + Сопственик: Add item @@ -7757,7 +7757,7 @@ 25,26 Used for both types, correspondents, storage paths - Add item + Додај ставка Remove item @@ -7765,7 +7765,7 @@ src/app/components/common/input/select/select.component.html 41 - Remove item + Отстрани ставка Private @@ -7789,7 +7789,7 @@ src/app/pipes/object-name.pipe.ts 46 - Private + Приватно No items found @@ -7797,7 +7797,7 @@ src/app/components/common/input/select/select.component.ts 113 - No items found + Не се пронајдени ставки Note: value has not yet been set and will not apply until explicitly changed @@ -7805,7 +7805,7 @@ src/app/components/common/input/switch/switch.component.html 39,40 - Note: value has not yet been set and will not apply until explicitly changed + Забелешка: вредноста сè уште не е поставена и нема да важи додека не се промени изрично Add tag @@ -7813,7 +7813,7 @@ src/app/components/common/input/tags/tags.component.html 19 - Add tag + Додај ознака Remove tag @@ -7821,7 +7821,7 @@ src/app/components/common/input/tags/tags.component.html 24 - Remove tag + Отстрани ознака Filter documents with these Tags @@ -7829,7 +7829,7 @@ src/app/components/common/input/tags/tags.component.html 56,57 - Filter documents with these Tags + Филтрирај документи со овие ознаки Suggestion: @@ -7837,7 +7837,7 @@ src/app/components/common/input/text/text.component.html 20 - Suggestion: + Предлог: Copy ID @@ -7845,7 +7845,7 @@ src/app/components/common/page-header/page-header.component.html 6 - Copy ID + Копирај ID Copied! @@ -7881,7 +7881,7 @@ src/app/components/manage/share-links/share-link-list/share-link-list.component.html 53,54 - Copied! + Копирано! Read more @@ -7897,7 +7897,7 @@ src/app/components/manage/mail/processed-mail-dialog/processed-mail-dialog.component.html 7,8 - Read more + Прочитај повеќе Select all pages @@ -7905,7 +7905,7 @@ src/app/components/common/pdf-editor/pdf-editor.component.html 9 - Select all pages + Избери ги сите страници Deselect all pages @@ -7913,7 +7913,7 @@ src/app/components/common/pdf-editor/pdf-editor.component.html 12 - Deselect all pages + Поништи избор на сите страници Rotate selected pages counter-clockwise @@ -7921,7 +7921,7 @@ src/app/components/common/pdf-editor/pdf-editor.component.html 17 - Rotate selected pages counter-clockwise + Ротирај ги избраните страници спротивно од стрелките на часовникот Rotate selected pages clockwise @@ -7929,7 +7929,7 @@ src/app/components/common/pdf-editor/pdf-editor.component.html 20 - Rotate selected pages clockwise + Ротирај ги избраните страници во насока на стрелките на часовникот Delete selected pages @@ -7937,7 +7937,7 @@ src/app/components/common/pdf-editor/pdf-editor.component.html 23 - Delete selected pages + Избриши ги избраните страници Rotate page counter-clockwise @@ -7945,7 +7945,7 @@ src/app/components/common/pdf-editor/pdf-editor.component.html 33 - Rotate page counter-clockwise + Ротирај ја страницата спротивно од стрелките на часовникот Rotate page clockwise @@ -7953,7 +7953,7 @@ src/app/components/common/pdf-editor/pdf-editor.component.html 36 - Rotate page clockwise + Ротирај ја страницата во насока на стрелките на часовникот Delete page @@ -7961,7 +7961,7 @@ src/app/components/common/pdf-editor/pdf-editor.component.html 41 - Delete page + Избриши страница Add / remove document split here @@ -7969,7 +7969,7 @@ src/app/components/common/pdf-editor/pdf-editor.component.html 44 - Add / remove document split here + Додај / отстрани поделба на документот тука Split here @@ -7977,7 +7977,7 @@ src/app/components/common/pdf-editor/pdf-editor.component.html 70 - Split here + Подели тука Copy metadata @@ -7985,7 +7985,7 @@ src/app/components/common/pdf-editor/pdf-editor.component.html 94,95 - Copy metadata + Копирај метаподатоци Delete original @@ -7993,7 +7993,7 @@ src/app/components/common/pdf-editor/pdf-editor.component.html 98,99 - Delete original + Избриши го оригиналот Merge with existing permissions @@ -8001,7 +8001,7 @@ src/app/components/common/permissions-dialog/permissions-dialog.component.html 14 - Merge with existing permissions + Спои со постојните дозволи Set permissions @@ -8009,7 +8009,7 @@ src/app/components/common/permissions-dialog/permissions-dialog.component.ts 51 - Set permissions + Постави дозволи Edit permissions for @@ -8017,7 +8017,7 @@ src/app/components/common/permissions-dialog/permissions-dialog.component.ts 62 - Edit permissions for + Уреди дозволи за Existing owner, user and group permissions will be merged with these settings. @@ -8025,7 +8025,7 @@ src/app/components/common/permissions-dialog/permissions-dialog.component.ts 101 - Existing owner, user and group permissions will be merged with these settings. + Постојните дозволи за сопственик, корисници и групи ќе бидат споени со овие поставки. Any and all existing owner, user and group permissions will be replaced. @@ -8033,7 +8033,7 @@ src/app/components/common/permissions-dialog/permissions-dialog.component.ts 102 - Any and all existing owner, user and group permissions will be replaced. + Сите постојни дозволи за сопственик, корисници и групи ќе бидат заменети. Unowned @@ -8041,7 +8041,7 @@ src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.html 55,56 - Unowned + Без сопственик Clear selected users @@ -8049,7 +8049,7 @@ src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.html 61 - Clear selected users + Исчисти избрани корисници Hide unowned @@ -8057,7 +8057,7 @@ src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.html 90 - Hide unowned + Скриј ги без сопственик My documents @@ -8065,7 +8065,7 @@ src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.ts 105 - My documents + Мои документи Owned by @@ -8073,7 +8073,7 @@ src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.ts 110 - Owned by + Во сопственост на Owned by another user @@ -8081,7 +8081,7 @@ src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.ts 111 - Owned by another user + Во сопственост на друг корисник Shared with me @@ -8089,7 +8089,7 @@ src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.ts 121 - Shared with me + Споделено со мене Not owned by @@ -8097,7 +8097,7 @@ src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.ts 128 - Not owned by + Не е во сопственост на Not owned by another user @@ -8105,7 +8105,7 @@ src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.ts 131 - Not owned by another user + Не е во сопственост на друг корисник Not owned by selected users @@ -8113,7 +8113,7 @@ src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.ts 132 - Not owned by selected users + Не е во сопственост на избраните корисници Shared by me @@ -8121,7 +8121,7 @@ src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.ts 140 - Shared by me + Споделено од мене Shared by @@ -8129,7 +8129,7 @@ src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.ts 145 - Shared by + Споделено од Shared by another user @@ -8137,7 +8137,7 @@ src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.ts 146 - Shared by another user + Споделено од друг корисник Global permissions define what areas of the app and API endpoints users can access. @@ -8145,7 +8145,7 @@ src/app/components/common/permissions-select/permissions-select.component.html 8,9 - Global permissions define what areas of the app and API endpoints users can access. + Глобалните дозволи определуваат до кои делови од апликацијата и API крајните точки корисниците имаат пристап. Type @@ -8161,7 +8161,7 @@ src/app/components/document-detail/document-barcodes/document-barcodes.component.html 5,6 - Type + Вид Change @@ -8169,7 +8169,7 @@ src/app/components/common/permissions-select/permissions-select.component.html 18,19 - Change + Промена Inherited from group @@ -8177,7 +8177,7 @@ src/app/components/common/permissions-select/permissions-select.component.ts 95 - Inherited from group + Наследено од групата Error loading preview @@ -8185,7 +8185,7 @@ src/app/components/common/preview-popup/preview-popup.component.html 11,12 - Error loading preview + Грешка при вчитување на прегледот Open preview @@ -8193,7 +8193,7 @@ src/app/components/common/preview-popup/preview-popup.component.ts 62 - Open preview + Отвори преглед Edit Profile @@ -8201,7 +8201,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html 3,4 - Edit Profile + Уреди профил Confirm Email @@ -8209,7 +8209,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html 15 - Confirm Email + Потврди е-пошта Confirm Password @@ -8217,7 +8217,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html 25 - Confirm Password + Потврди лозинка API Auth Token @@ -8225,7 +8225,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html 33,34 - API Auth Token + API токен за автентикација Copy @@ -8265,7 +8265,7 @@ src/app/components/manage/workflows/workflows.component.html 71 - Copy + Копирај Regenerate auth token @@ -8273,7 +8273,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html 47,48 - Regenerate auth token + Генерирај нов токен за автентикација Warning: changing the token cannot be undone @@ -8281,7 +8281,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html 56,57 - Warning: changing the token cannot be undone + Предупредување: промената на токенот не може да се врати Connected social accounts @@ -8289,7 +8289,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html 62,63 - Connected social accounts + Поврзани социјални сметки Set a password before disconnecting social account. @@ -8297,7 +8297,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html 66,67 - Set a password before disconnecting social account. + Поставете лозинка пред да ја исклучите социјалната сметка. Disconnect @@ -8305,7 +8305,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html 72,73 - Disconnect + Исклучи Disconnect social account @@ -8313,7 +8313,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html 74,75 - Disconnect social account + Исклучи ја социјалната сметка Warning: disconnecting social accounts cannot be undone @@ -8321,7 +8321,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html 84,85 - Warning: disconnecting social accounts cannot be undone + Предупредување: исклучувањето социјални сметки не може да се врати Connect new social account @@ -8329,7 +8329,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html 89,90 - Connect new social account + Поврзи нова социјална сметка Scan the QR code with your authenticator app and then enter the code below @@ -8337,7 +8337,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html 116 - Scan the QR code with your authenticator app and then enter the code below + Скенирајте го QR-кодот со вашата апликација за автентикација, а потоа внесете го кодот подолу Authenticator secret @@ -8345,7 +8345,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html 119 - Authenticator secret + Тајна на автентикаторот You can store this secret and use it to reinstall your authenticator app at a later time. @@ -8353,7 +8353,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html 120 - You can store this secret and use it to reinstall your authenticator app at a later time. + Можете да ја зачувате оваа тајна и да ја користите за повторно инсталирање на апликацијата за автентикација подоцна. Code @@ -8361,7 +8361,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html 123 - Code + Код Recovery codes will not be shown again, make sure to save them. @@ -8369,7 +8369,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html 142 - Recovery codes will not be shown again, make sure to save them. + Кодовите за обновување нема повторно да се прикажат, погрижете се да ги зачувате. Copy codes @@ -8377,7 +8377,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html 159,160 - Copy codes + Копирај кодови Emails must match @@ -8385,7 +8385,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts 144 - Emails must match + Адресите на е-пошта мора да се совпаѓаат Passwords must match @@ -8393,7 +8393,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts 171 - Passwords must match + Лозинките мора да се совпаѓаат Profile updated successfully @@ -8401,7 +8401,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts 207 - Profile updated successfully + Профилот е успешно ажуриран Error saving profile @@ -8409,7 +8409,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts 222 - Error saving profile + Грешка при зачувување на профилот Error generating auth token @@ -8417,7 +8417,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts 240 - Error generating auth token + Грешка при генерирање на токенот за автентикација Error disconnecting social account @@ -8425,7 +8425,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts 267 - Error disconnecting social account + Грешка при исклучување на социјалната сметка Error fetching TOTP settings @@ -8433,7 +8433,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts 286 - Error fetching TOTP settings + Грешка при вчитување на TOTP поставките TOTP activated successfully @@ -8441,7 +8441,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts 311 - TOTP activated successfully + TOTP е успешно активиран Error activating TOTP @@ -8453,7 +8453,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts 320 - Error activating TOTP + Грешка при активирање на TOTP TOTP deactivated successfully @@ -8461,7 +8461,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts 337 - TOTP deactivated successfully + TOTP е успешно деактивиран Error deactivating TOTP @@ -8473,7 +8473,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts 345 - Error deactivating TOTP + Грешка при деактивирање на TOTP Selected documents: @@ -8481,7 +8481,7 @@ src/app/components/common/share-link-bundle-dialog/share-link-bundle-dialog.component.html 10 - Selected documents: + Избрани документи: + more… @@ -8489,7 +8489,7 @@ src/app/components/common/share-link-bundle-dialog/share-link-bundle-dialog.component.html 22,23 - + more… + + уште … Expires @@ -8513,7 +8513,7 @@ src/app/components/manage/share-links/share-link-list/share-link-list.component.html 17,18 - Expires + Истекува Share archive version (if available) @@ -8521,7 +8521,7 @@ src/app/components/common/share-link-bundle-dialog/share-link-bundle-dialog.component.html 47,48 - Share archive version (if available) + Сподели архивска верзија (ако е достапна) Share link bundle requested @@ -8529,7 +8529,7 @@ src/app/components/common/share-link-bundle-dialog/share-link-bundle-dialog.component.html 54,55 - Share link bundle requested + Побаран е пакет врски за споделување You can copy the share link below or open the manager to monitor progress. The link will start working once the bundle is ready. @@ -8537,7 +8537,7 @@ src/app/components/common/share-link-bundle-dialog/share-link-bundle-dialog.component.html 56,57 - You can copy the share link below or open the manager to monitor progress. The link will start working once the bundle is ready. + Можете да ја копирате врската за споделување подолу или да го отворите управувачот за да го следите напредокот. Врската ќе почне да работи кога пакетот ќе биде готов. Status @@ -8569,7 +8569,7 @@ src/app/components/manage/workflows/workflows.component.html 19,20 - Status + Состојба Slug @@ -8577,7 +8577,7 @@ src/app/components/common/share-link-bundle-dialog/share-link-bundle-dialog.component.html 64,65 - Slug + Слаг Link @@ -8585,7 +8585,7 @@ src/app/components/common/share-link-bundle-dialog/share-link-bundle-dialog.component.html 66,67 - Link + Врска Share link @@ -8593,7 +8593,7 @@ src/app/components/common/share-link-bundle-dialog/share-link-bundle-dialog.component.html 68,69 - Share link + Врска за споделување Copy link @@ -8601,7 +8601,7 @@ src/app/components/common/share-link-bundle-dialog/share-link-bundle-dialog.component.html 82,83 - Copy link + Копирај врска Never @@ -8621,7 +8621,7 @@ src/app/data/share-link.ts 17 - Never + Никогаш File version @@ -8637,7 +8637,7 @@ src/app/components/manage/share-links/share-link-list/share-link-list.component.html 18,19 - File version + Верзија на датотеката Size @@ -8649,7 +8649,7 @@ src/app/components/manage/share-links/share-link-bundle-list/share-link-bundle-list.component.html 18,19 - Size + Големина A zip file containing the selected documents will be created for this share link bundle. This process happens in the background and may take some time, especially for large bundles. @@ -8657,7 +8657,7 @@ src/app/components/common/share-link-bundle-dialog/share-link-bundle-dialog.component.html 111 - A zip file containing the selected documents will be created for this share link bundle. This process happens in the background and may take some time, especially for large bundles. + За овој пакет врски за споделување ќе се создаде zip-датотека со избраните документи. Овој процес се одвива во позадина и може да потрае, особено кај големи пакети. Manage share link bundles @@ -8669,7 +8669,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.html 124 - Manage share link bundles + Управувај со пакети врски за споделување Create share link bundle @@ -8677,7 +8677,7 @@ src/app/components/common/share-link-bundle-dialog/share-link-bundle-dialog.component.ts 59 - Create share link bundle + Создај пакет врски за споделување Create link @@ -8685,7 +8685,7 @@ src/app/components/common/share-link-bundle-dialog/share-link-bundle-dialog.component.ts 60 - Create link + Создај врска No existing links @@ -8693,7 +8693,7 @@ src/app/components/common/share-links-dialog/share-links-dialog.component.html 9,10 - No existing links + Нема постојни врски Share @@ -8701,7 +8701,7 @@ src/app/components/common/share-links-dialog/share-links-dialog.component.html 32,33 - Share + Сподели Share archive version @@ -8709,7 +8709,7 @@ src/app/components/common/share-links-dialog/share-links-dialog.component.html 48,49 - Share archive version + Сподели архивска верзија Error retrieving links @@ -8717,7 +8717,7 @@ src/app/components/common/share-links-dialog/share-links-dialog.component.ts 67 - Error retrieving links + Грешка при вчитување на врските 1 day @@ -8729,7 +8729,7 @@ src/app/data/share-link.ts 14 - 1 day + 1 ден days @@ -8737,7 +8737,7 @@ src/app/components/common/share-links-dialog/share-links-dialog.component.ts 86 - days + дена Error deleting link @@ -8745,7 +8745,7 @@ src/app/components/common/share-links-dialog/share-links-dialog.component.ts 115 - Error deleting link + Грешка при бришење на врската Error creating link @@ -8753,7 +8753,7 @@ src/app/components/common/share-links-dialog/share-links-dialog.component.ts 143 - Error creating link + Грешка при создавање на врската No suggestions @@ -8761,7 +8761,7 @@ src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.html 12,13 - No suggestions + Нема предлози Suggest @@ -8769,7 +8769,7 @@ src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.html 14,15 - Suggest + Предложи Show suggestions @@ -8777,7 +8777,7 @@ src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.html 23,24 - Show suggestions + Прикажи предлози No novel suggestions @@ -8785,7 +8785,7 @@ src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.html 30,31 - No novel suggestions + Нема нови предлози Document Types @@ -8797,7 +8797,7 @@ src/app/components/dashboard/widgets/statistics-widget/statistics-widget.component.html 120 - Document Types + Видови на документи {VAR_PLURAL, plural, =1 {1 suggestion available below} other { suggestions available below}} @@ -8805,7 +8805,7 @@ src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.html 53 - {VAR_PLURAL, plural, =1 {1 suggestion available below} other { suggestions available below}} + {VAR_PLURAL, plural, =1 {1 предлог е достапен подолу} other { предлози се достапни подолу}} Suggestion options @@ -8813,7 +8813,7 @@ src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.html 63,64 - Suggestion options + Опции за предлози Not using default @@ -8821,7 +8821,7 @@ src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.html 67,68 - Not using default + Не се користи стандардното Suggest using: @@ -8829,7 +8829,7 @@ src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.html 72,73 - Suggest using: + Предлагај со: ML @@ -8837,7 +8837,7 @@ src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.html 75 - ML + ML AI @@ -8845,7 +8845,7 @@ src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.html 79 - AI + AI Environment @@ -8853,7 +8853,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 18,19 - Environment + Околина Paperless-ngx Version @@ -8861,7 +8861,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 22,23 - Paperless-ngx Version + Верзија на Paperless-ngx View version mismatch details @@ -8869,7 +8869,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 26 - View version mismatch details + Прикажи детали за неусогласеноста на верзиите Install Type @@ -8877,7 +8877,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 35,36 - Install Type + Вид на инсталација Server OS @@ -8885,7 +8885,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 37,38 - Server OS + Оперативен систем на серверот Media Storage @@ -8893,7 +8893,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 39,40 - Media Storage + Складиште за медиуми available @@ -8901,7 +8901,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 42 - available + достапно total @@ -8909,7 +8909,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 42 - total + вкупно Database @@ -8917,7 +8917,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 52,53 - Database + База на податоци Migration Status @@ -8925,7 +8925,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 76,77 - Migration Status + Состојба на миграциите Up to date @@ -8933,7 +8933,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 80 - Up to date + Ажурно Latest Migration @@ -8941,7 +8941,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 85 - Latest Migration + Последна миграција Pending Migrations @@ -8949,7 +8949,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 87 - Pending Migrations + Миграции во чекање Tasks Queue @@ -8957,7 +8957,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 105,106 - Tasks Queue + Редица на задачи Redis Status @@ -8965,7 +8965,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 109,110 - Redis Status + Состојба на Redis Celery Status @@ -8973,7 +8973,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 127,128 - Celery Status + Состојба на Celery Recent Task Activity ( days) @@ -8981,7 +8981,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 147,148 - Recent Task Activity ( days) + Неодамнешна активност на задачите ( дена) Total @@ -8989,7 +8989,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 152 - Total + Вкупно Successful @@ -8997,7 +8997,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 156 - Successful + Успешни Failed @@ -9009,7 +9009,7 @@ src/app/data/share-link-bundle.ts 44 - Failed + Неуспешни Pending @@ -9021,7 +9021,7 @@ src/app/data/share-link-bundle.ts 41 - Pending + Во чекање No recent tasks @@ -9029,7 +9029,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 169,170 - No recent tasks + Нема неодамнешни задачи Health @@ -9037,7 +9037,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 180,181 - Health + Здравје Search Index @@ -9045,7 +9045,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 184,185 - Search Index + Индекс за пребарување Last Updated @@ -9053,7 +9053,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 197 - Last Updated + Последно ажурирање Classifier @@ -9061,7 +9061,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 202,203 - Classifier + Класификатор Run Task @@ -9077,7 +9077,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 306 - Run Task + Изврши задача Last Trained @@ -9085,7 +9085,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 231 - Last Trained + Последна обука Sanity Checker @@ -9093,7 +9093,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 236,237 - Sanity Checker + Проверувач на исправност Last Run @@ -9105,7 +9105,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 313 - Last Run + Последно извршување WebSocket Connection @@ -9113,7 +9113,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 270,271 - WebSocket Connection + WebSocket врска OK @@ -9121,7 +9121,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 274 - OK + OK AI Index @@ -9129,7 +9129,7 @@ src/app/components/common/system-status-dialog/system-status-dialog.component.html 283,284 - AI Index + AI индекс Copy Raw Error @@ -9137,7 +9137,7 @@ src/app/components/common/toast/toast.component.html 54 - Copy Raw Error + Копирај необработена грешка Dismiss completed @@ -9146,7 +9146,7 @@ 11,15 This button dismisses all status messages about processed documents in the tray (failed and successful) - Dismiss completed + Отфрли ги завршените Toggle document processing status @@ -9154,7 +9154,7 @@ src/app/components/common/upload-status-tray/upload-status-tray.component.html 16 - Toggle document processing status + Вклучи/исклучи состојба на обработката на документи Processing: @@ -9162,7 +9162,7 @@ src/app/components/common/upload-status-tray/upload-status-tray.component.ts 79 - Processing: + Се обработуваат: Failed: @@ -9170,7 +9170,7 @@ src/app/components/common/upload-status-tray/upload-status-tray.component.ts 82 - Failed: + Неуспешни: Added: @@ -9178,7 +9178,7 @@ src/app/components/common/upload-status-tray/upload-status-tray.component.ts 85 - Added: + Додадени: , @@ -9191,7 +9191,7 @@ 517 this string is used to separate processing, failed and added on the file upload widget - , + , Hint: saved views can be created from the documents list @@ -9199,7 +9199,7 @@ src/app/components/dashboard/dashboard.component.html 40 - Hint: saved views can be created from the documents list + Совет: зачуваните прегледи може да се создадат од листата на документи Hello , welcome to @@ -9207,7 +9207,7 @@ src/app/components/dashboard/dashboard.component.ts 59 - Hello , welcome to + Здраво , добредојдовте во Welcome to @@ -9215,7 +9215,7 @@ src/app/components/dashboard/dashboard.component.ts 61 - Welcome to + Добредојдовте во Dashboard updated @@ -9223,7 +9223,7 @@ src/app/components/dashboard/dashboard.component.ts 90 - Dashboard updated + Контролната табла е ажурирана Error updating dashboard @@ -9231,7 +9231,7 @@ src/app/components/dashboard/dashboard.component.ts 93 - Error updating dashboard + Грешка при ажурирање на контролната табла Error while loading documents @@ -9243,7 +9243,7 @@ src/app/components/document-list/document-list.component.html 165 - Error while loading documents + Грешка при вчитување на документите Filter by correspondent @@ -9259,7 +9259,7 @@ src/app/components/document-list/document-list.component.html 320 - Filter by correspondent + Филтрирај по кореспондент Filter by document type @@ -9275,7 +9275,7 @@ src/app/components/document-list/document-list.component.html 360 - Filter by document type + Филтрирај по вид на документ Filter by storage path @@ -9291,7 +9291,7 @@ src/app/components/document-list/document-list.component.html 367 - Filter by storage path + Филтрирај по складишна патека Filter by owner @@ -9299,7 +9299,7 @@ src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html 95 - Filter by owner + Филтрирај по сопственик No @@ -9311,7 +9311,7 @@ src/app/components/document-list/document-list.component.html 388 - No + Не No documents @@ -9319,7 +9319,7 @@ src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html 189,192 - No documents + Нема документи Statistics @@ -9327,7 +9327,7 @@ src/app/components/dashboard/widgets/statistics-widget/statistics-widget.component.html 1 - Statistics + Статистика Go to inbox @@ -9335,7 +9335,7 @@ src/app/components/dashboard/widgets/statistics-widget/statistics-widget.component.html 28 - Go to inbox + Оди во влезното сандаче Documents in inbox @@ -9343,7 +9343,7 @@ src/app/components/dashboard/widgets/statistics-widget/statistics-widget.component.html 29 - Documents in inbox + Документи во влезното сандаче Go to documents @@ -9351,7 +9351,7 @@ src/app/components/dashboard/widgets/statistics-widget/statistics-widget.component.html 33 - Go to documents + Оди во документите Total documents @@ -9359,7 +9359,7 @@ src/app/components/dashboard/widgets/statistics-widget/statistics-widget.component.html 34 - Total documents + Вкупно документи Total characters @@ -9367,7 +9367,7 @@ src/app/components/dashboard/widgets/statistics-widget/statistics-widget.component.html 38 - Total characters + Вкупно знаци Current ASN @@ -9375,7 +9375,7 @@ src/app/components/dashboard/widgets/statistics-widget/statistics-widget.component.html 43 - Current ASN + Тековен ASN Storage Paths @@ -9383,7 +9383,7 @@ src/app/components/dashboard/widgets/statistics-widget/statistics-widget.component.html 133 - Storage Paths + Складишни патеки Other @@ -9391,7 +9391,7 @@ src/app/components/dashboard/widgets/statistics-widget/statistics-widget.component.ts 78 - Other + Друго or drop files anywhere @@ -9399,7 +9399,7 @@ src/app/components/dashboard/widgets/upload-file-widget/upload-file-widget.component.html 7,8 - or drop files anywhere + или пуштете датотеки каде било Paperless-ngx is running! @@ -9407,7 +9407,7 @@ src/app/components/dashboard/widgets/welcome-widget/welcome-widget.component.html 6 - Paperless-ngx is running! + Paperless-ngx работи! You're ready to start uploading documents! Explore the various features of this web app on your own, or start a quick tour using the button below. @@ -9415,7 +9415,7 @@ src/app/components/dashboard/widgets/welcome-widget/welcome-widget.component.html 8,9 - You're ready to start uploading documents! Explore the various features of this web app on your own, or start a quick tour using the button below. + Подготвени сте да започнете со прикачување документи! Истражете ги различните функции на оваа веб-апликација сами или започнете кратка обиколка со копчето подолу. More detail on how to use and configure Paperless-ngx is always available in the documentation. @@ -9423,7 +9423,7 @@ src/app/components/dashboard/widgets/welcome-widget/welcome-widget.component.html 9,10 - More detail on how to use and configure Paperless-ngx is always available in the documentation. + Повеќе детали за користење и конфигурирање на Paperless-ngx секогаш се достапни во документацијата. Thanks for being a part of the Paperless-ngx community! @@ -9431,7 +9431,7 @@ src/app/components/dashboard/widgets/welcome-widget/welcome-widget.component.html 13,14 - Thanks for being a part of the Paperless-ngx community! + Ви благодариме што сте дел од заедницата на Paperless-ngx! Start the tour @@ -9439,7 +9439,7 @@ src/app/components/dashboard/widgets/welcome-widget/welcome-widget.component.html 14 - Start the tour + Започни ја обиколката Searching document with asn @@ -9447,7 +9447,7 @@ src/app/components/document-asn/document-asn.component.html 1,2 - Searching document with asn + Се пребарува документ со ASN Page @@ -9467,7 +9467,7 @@ src/app/components/manage/document-attributes/document-attributes.component.html 34 - Page + Страница Content @@ -9479,7 +9479,7 @@ src/app/components/document-detail/document-detail.component.html 278,279 - Content + Содржина Copy content @@ -9491,7 +9491,7 @@ src/app/components/document-detail/document-barcodes/document-barcodes.component.html 40,41 - Copy content + Копирај содржина Download options @@ -9503,7 +9503,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.html 154 - Download options + Опции за преземање Download original @@ -9511,7 +9511,7 @@ src/app/components/document-detail/document-detail.component.html 30,31 - Download original + Преземи оригинал Use formatted filename @@ -9523,7 +9523,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.html 170,171 - Use formatted filename + Користи форматирано име на датотека Reprocess @@ -9535,7 +9535,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.html 90 - Reprocess + Обработи повторно Print @@ -9543,7 +9543,7 @@ src/app/components/document-detail/document-detail.component.html 53,54 - Print + Печати More like this @@ -9555,7 +9555,7 @@ src/app/components/document-list/document-card-large/document-card-large.component.html 73,74 - More like this + Слично на ова Remove Password @@ -9563,7 +9563,7 @@ src/app/components/document-detail/document-detail.component.html 66 - Remove Password + Отстрани лозинка Previous @@ -9571,7 +9571,7 @@ src/app/components/document-detail/document-detail.component.html 100 - Previous + Претходно Next @@ -9583,7 +9583,7 @@ src/main.ts 483 - Next + Следно Details @@ -9591,7 +9591,7 @@ src/app/components/document-detail/document-detail.component.html 140,141 - Details + Детали Date created @@ -9599,7 +9599,7 @@ src/app/components/document-detail/document-detail.component.html 147 - Date created + Датум на создавање Default @@ -9611,7 +9611,7 @@ src/app/components/manage/saved-views/saved-views.component.html 71 - Default + Стандардно Metadata @@ -9623,7 +9623,7 @@ src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts 20 - Metadata + Метаподатоци Date modified @@ -9631,7 +9631,7 @@ src/app/components/document-detail/document-detail.component.html 294,295 - Date modified + Датум на измена Date added @@ -9639,7 +9639,7 @@ src/app/components/document-detail/document-detail.component.html 298,299 - Date added + Датум на додавање Media filename @@ -9647,7 +9647,7 @@ src/app/components/document-detail/document-detail.component.html 302,303 - Media filename + Име на медиумската датотека Original filename @@ -9655,7 +9655,7 @@ src/app/components/document-detail/document-detail.component.html 306,307 - Original filename + Оригинално име на датотека Original SHA256 checksum @@ -9663,7 +9663,7 @@ src/app/components/document-detail/document-detail.component.html 310,311 - Original SHA256 checksum + SHA256 контролна сума на оригиналот Original file size @@ -9671,7 +9671,7 @@ src/app/components/document-detail/document-detail.component.html 314,315 - Original file size + Големина на оригиналната датотека Original mime type @@ -9679,7 +9679,7 @@ src/app/components/document-detail/document-detail.component.html 318,319 - Original mime type + MIME тип на оригиналот Archive SHA256 checksum @@ -9687,7 +9687,7 @@ src/app/components/document-detail/document-detail.component.html 323,324 - Archive SHA256 checksum + SHA256 контролна сума на архивата Archive file size @@ -9695,7 +9695,7 @@ src/app/components/document-detail/document-detail.component.html 329,330 - Archive file size + Големина на архивската датотека Barcodes @@ -9703,7 +9703,7 @@ src/app/components/document-detail/document-detail.component.html 338,339 - Barcodes + Баркодови Original document metadata @@ -9711,7 +9711,7 @@ src/app/components/document-detail/document-detail.component.html 342 - Original document metadata + Метаподатоци на оригиналниот документ Archived document metadata @@ -9719,7 +9719,7 @@ src/app/components/document-detail/document-detail.component.html 345 - Archived document metadata + Метаподатоци на архивираниот документ Notes @@ -9727,7 +9727,7 @@ src/app/components/document-detail/document-detail.component.html 364,367 - Notes + Белешки History @@ -9735,7 +9735,7 @@ src/app/components/document-detail/document-detail.component.html 375,376 - History + Историја Duplicates @@ -9743,7 +9743,7 @@ src/app/components/document-detail/document-detail.component.html 398,401 - Duplicates + Дупликати Duplicate documents detected: @@ -9751,7 +9751,7 @@ src/app/components/document-detail/document-detail.component.html 403,404 - Duplicate documents detected: + Откриени се дупликат документи: In trash @@ -9759,7 +9759,7 @@ src/app/components/document-detail/document-detail.component.html 414,415 - In trash + Во кантата Save & next @@ -9767,7 +9767,7 @@ src/app/components/document-detail/document-detail.component.html 443 - Save & next + Зачувај и следно Save & close @@ -9775,7 +9775,7 @@ src/app/components/document-detail/document-detail.component.html 445 - Save & close + Зачувај и затвори Discard @@ -9783,7 +9783,7 @@ src/app/components/document-detail/document-detail.component.html 447,448 - Discard + Отфрли Document loading... @@ -9791,7 +9791,7 @@ src/app/components/document-detail/document-detail.component.html 455 - Document loading... + Документот се вчитува... of @@ -9799,7 +9799,7 @@ src/app/components/document-detail/document-detail.component.html 484,485 - of + од Zoom out @@ -9807,7 +9807,7 @@ src/app/components/document-detail/document-detail.component.html 488 - Zoom out + Оддалечи Zoom @@ -9815,7 +9815,7 @@ src/app/components/document-detail/document-detail.component.html 491 - Zoom + Зумирај Zoom in @@ -9823,7 +9823,7 @@ src/app/components/document-detail/document-detail.component.html 498 - Zoom in + Приближи Enter Password @@ -9831,7 +9831,7 @@ src/app/components/document-detail/document-detail.component.html 532 - Enter Password + Внесете лозинка Error retrieving metadata @@ -9839,7 +9839,7 @@ src/app/components/document-detail/document-detail.component.ts 465 - Error retrieving metadata + Грешка при вчитување на метаподатоците An error occurred loading content: @@ -9851,7 +9851,7 @@ src/app/components/document-detail/document-detail.component.ts 1049,1051 - An error occurred loading content: + Се појави грешка при вчитување на содржината: Document was updated @@ -9859,7 +9859,7 @@ src/app/components/document-detail/document-detail.component.ts 710 - Document was updated + Документот е ажуриран Document was updated at . @@ -9867,7 +9867,7 @@ src/app/components/document-detail/document-detail.component.ts 711 - Document was updated at . + Документот е ажуриран во . Reload to discard your local unsaved edits and load the latest remote version. @@ -9875,7 +9875,7 @@ src/app/components/document-detail/document-detail.component.ts 712 - Reload to discard your local unsaved edits and load the latest remote version. + Вчитајте повторно за да ги отфрлите вашите локални незачувани измени и да ја вчитате најновата верзија од серверот. Reload @@ -9883,7 +9883,7 @@ src/app/components/document-detail/document-detail.component.ts 714 - Reload + Вчитај повторно Document reloaded with latest changes. @@ -9891,7 +9891,7 @@ src/app/components/document-detail/document-detail.component.ts 770 - Document reloaded with latest changes. + Документот е повторно вчитан со најновите промени. Document reloaded. @@ -9899,7 +9899,7 @@ src/app/components/document-detail/document-detail.component.ts 781 - Document reloaded. + Документот е повторно вчитан. Next document @@ -9907,7 +9907,7 @@ src/app/components/document-detail/document-detail.component.ts 883 - Next document + Следен документ Previous document @@ -9915,7 +9915,7 @@ src/app/components/document-detail/document-detail.component.ts 893 - Previous document + Претходен документ Close document @@ -9927,7 +9927,7 @@ src/app/services/open-documents.service.ts 151 - Close document + Затвори документ Save document @@ -9935,7 +9935,7 @@ src/app/components/document-detail/document-detail.component.ts 908 - Save document + Зачувај документ Save and close / next @@ -9943,7 +9943,7 @@ src/app/components/document-detail/document-detail.component.ts 917 - Save and close / next + Зачувај и затвори / следно Error retrieving version content @@ -9951,7 +9951,7 @@ src/app/components/document-detail/document-detail.component.ts 1031 - Error retrieving version content + Грешка при вчитување на содржината на верзијата Unsaved Changes @@ -9975,7 +9975,7 @@ src/app/services/open-documents.service.ts 170 - Unsaved Changes + Незачувани промени You have unsaved changes to the content of this version. @@ -9983,7 +9983,7 @@ src/app/components/document-detail/document-detail.component.ts 1076 - You have unsaved changes to the content of this version. + Имате незачувани промени во содржината на оваа верзија. Switching versions will discard them. @@ -9991,7 +9991,7 @@ src/app/components/document-detail/document-detail.component.ts 1077 - Switching versions will discard them. + Ако ја промените верзијата, тие ќе бидат отфрлени. Discard and switch @@ -9999,7 +9999,7 @@ src/app/components/document-detail/document-detail.component.ts 1079 - Discard and switch + Отфрли и промени Save and switch @@ -10007,7 +10007,7 @@ src/app/components/document-detail/document-detail.component.ts 1081 - Save and switch + Зачувај и промени Error retrieving suggestions. @@ -10015,7 +10015,7 @@ src/app/components/document-detail/document-detail.component.ts 1124 - Error retrieving suggestions. + Грешка при вчитување на предлозите. Document "" saved successfully. @@ -10027,7 +10027,7 @@ src/app/components/document-detail/document-detail.component.ts 1383 - Document "" saved successfully. + Документот „“ е успешно зачуван. Error saving document "" @@ -10035,7 +10035,7 @@ src/app/components/document-detail/document-detail.component.ts 1389 - Error saving document "" + Грешка при зачувување на документот „“ Error saving document @@ -10043,7 +10043,7 @@ src/app/components/document-detail/document-detail.component.ts 1444 - Error saving document + Грешка при зачувување на документот Do you really want to move the document "" to the trash? @@ -10051,7 +10051,7 @@ src/app/components/document-detail/document-detail.component.ts 1477 - Do you really want to move the document "" to the trash? + Дали навистина сакате да го преместите документот „“ во кантата? Documents can be restored prior to permanent deletion. @@ -10063,7 +10063,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 890 - Documents can be restored prior to permanent deletion. + Документите може да се вратат пред трајното бришење. Moved "" to the trash @@ -10071,7 +10071,7 @@ src/app/components/document-detail/document-detail.component.ts 1496 - Moved "" to the trash + „“ е преместен во кантата Error deleting document @@ -10079,7 +10079,7 @@ src/app/components/document-detail/document-detail.component.ts 1503 - Error deleting document + Грешка при бришење на документот Reprocess confirm @@ -10091,7 +10091,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 950 - Reprocess confirm + Потврда за повторна обработка This operation will permanently recreate the archive file for this document. @@ -10099,7 +10099,7 @@ src/app/components/document-detail/document-detail.component.ts 1524 - This operation will permanently recreate the archive file for this document. + Оваа операција трајно ќе ја создаде повторно архивската датотека за овој документ. The archive file will be re-generated with the current settings. @@ -10107,7 +10107,7 @@ src/app/components/document-detail/document-detail.component.ts 1525 - The archive file will be re-generated with the current settings. + Архивската датотека ќе се генерира повторно со тековните поставки. Reprocess operation for "" will begin in the background. @@ -10115,7 +10115,7 @@ src/app/components/document-detail/document-detail.component.ts 1538 - Reprocess operation for "" will begin in the background. + Повторната обработка на „“ ќе започне во позадина. Error executing operation @@ -10123,7 +10123,7 @@ src/app/components/document-detail/document-detail.component.ts 1549 - Error executing operation + Грешка при извршување на операцијата Error downloading document @@ -10131,7 +10131,7 @@ src/app/components/document-detail/document-detail.component.ts 1613 - Error downloading document + Грешка при преземање на документот Page Fit @@ -10139,7 +10139,7 @@ src/app/components/document-detail/document-detail.component.ts 1691 - Page Fit + Прилагоди по страница PDF edit operation for "" will begin in the background. @@ -10147,7 +10147,7 @@ src/app/components/document-detail/document-detail.component.ts 1934 - PDF edit operation for "" will begin in the background. + Операцијата за уредување на PDF за „“ ќе започне во позадина. Error executing PDF edit operation @@ -10155,7 +10155,7 @@ src/app/components/document-detail/document-detail.component.ts 1946 - Error executing PDF edit operation + Грешка при извршување на операцијата за уредување на PDF Please enter the current password before attempting to remove it. @@ -10163,7 +10163,7 @@ src/app/components/document-detail/document-detail.component.ts 1957 - Please enter the current password before attempting to remove it. + Внесете ја тековната лозинка пред да се обидете да ја отстраните. Password removal operation for "" will begin in the background. @@ -10171,7 +10171,7 @@ src/app/components/document-detail/document-detail.component.ts 1991 - Password removal operation for "" will begin in the background. + Операцијата за отстранување на лозинката за „“ ќе започне во позадина. Error executing password removal operation @@ -10179,7 +10179,7 @@ src/app/components/document-detail/document-detail.component.ts 2005 - Error executing password removal operation + Грешка при извршување на операцијата за отстранување на лозинката Print failed. @@ -10187,7 +10187,7 @@ src/app/components/document-detail/document-detail.component.ts 2055 - Print failed. + Печатењето не успеа. Error loading document for printing. @@ -10195,7 +10195,7 @@ src/app/components/document-detail/document-detail.component.ts 2064 - Error loading document for printing. + Грешка при вчитување на документот за печатење. An error occurred loading tiff: @@ -10207,7 +10207,7 @@ src/app/components/document-detail/document-detail.component.ts 2153 - An error occurred loading tiff: + Се појави грешка при вчитување на tiff: No entries found. @@ -10215,7 +10215,7 @@ src/app/components/document-detail/document-history/document-history.component.html 10,11 - No entries found. + Не се пронајдени записи. Add existing document as version @@ -10223,7 +10223,7 @@ src/app/components/document-detail/document-version-dropdown/add-existing-document-version-dialog/add-existing-document-version-dialog.component.html 2,3 - Add existing document as version + Додај постоен документ како верзија Select one document to add as a version. @@ -10231,7 +10231,7 @@ src/app/components/document-detail/document-version-dropdown/add-existing-document-version-dialog/add-existing-document-version-dialog.component.html 13,14 - Select one document to add as a version. + Изберете еден документ за да го додадете како верзија. Add version @@ -10239,7 +10239,7 @@ src/app/components/document-detail/document-version-dropdown/add-existing-document-version-dialog/add-existing-document-version-dialog.component.html 17,18 - Add version + Додај верзија Versions @@ -10251,7 +10251,7 @@ src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html 4,5 - Versions + Верзии Label @@ -10259,7 +10259,7 @@ src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html 13,14 - Label + Етикета Optional @@ -10267,7 +10267,7 @@ src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html 20,21 - Optional + Изборно Upload a new version @@ -10275,7 +10275,7 @@ src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html 35,36 - Upload a new version + Прикачи нова верзија Use an existing document @@ -10283,7 +10283,7 @@ src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html 44,45 - Use an existing document + Користи постоен документ Existing @@ -10291,7 +10291,7 @@ src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html 47,48 - Existing + Постоен Uploading version... @@ -10299,7 +10299,7 @@ src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html 55,56 - Uploading version... + Се прикачува верзијата... Processing version... @@ -10307,7 +10307,7 @@ src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html 61,62 - Processing version... + Се обработува верзијата... Version upload failed. @@ -10315,7 +10315,7 @@ src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html 66,67 - Version upload failed. + Прикачувањето на верзијата не успеа. Version label @@ -10327,7 +10327,7 @@ src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html 101,102 - Version label + Етикета на верзијата Version @@ -10335,7 +10335,7 @@ src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html 112 - Version + Верзија Delete this version? @@ -10343,7 +10343,7 @@ src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html 143,144 - Delete this version? + Да се избрише оваа верзија? Delete version @@ -10351,7 +10351,7 @@ src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html 149,150 - Delete version + Избриши верзија Error deleting version @@ -10359,7 +10359,7 @@ src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.ts 164 - Error deleting version + Грешка при бришење на верзијата Error updating version label @@ -10367,7 +10367,7 @@ src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.ts 197 - Error updating version label + Грешка при ажурирање на етикетата на верзијата Uploading new version. Processing will happen in the background. @@ -10375,7 +10375,7 @@ src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.ts 219 - Uploading new version. Processing will happen in the background. + Се прикачува нова верзија. Обработката ќе се изврши во позадина. Missing task ID. @@ -10383,7 +10383,7 @@ src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.ts 232 - Missing task ID. + Недостасува ID на задачата. Upload failed. @@ -10395,7 +10395,7 @@ src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.ts 278 - Upload failed. + Прикачувањето не успеа. Error uploading new version @@ -10403,7 +10403,7 @@ src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.ts 281 - Error uploading new version + Грешка при прикачување на новата верзија Existing document added as a version. @@ -10411,7 +10411,7 @@ src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.ts 324 - Existing document added as a version. + Постојниот документ е додаден како верзија. Error adding existing document as a version @@ -10419,7 +10419,7 @@ src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.ts 329 - Error adding existing document as a version + Грешка при додавање на постојниот документ како верзија Toggle document metadata @@ -10427,7 +10427,7 @@ src/app/components/document-detail/metadata-collapse/metadata-collapse.component.html 3 - Toggle document metadata + Прикажи/скриј метаподатоци на документот Edit: @@ -10435,7 +10435,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.html 3,4 - Edit: + Уреди: Filter tags @@ -10447,7 +10447,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.html 40 - Filter tags + Филтрирај ознаки Filter correspondents @@ -10459,7 +10459,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.html 51 - Filter correspondents + Филтрирај кореспонденти Filter document types @@ -10471,7 +10471,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.html 62 - Filter document types + Филтрирај видови на документи Filter storage paths @@ -10483,7 +10483,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.html 73 - Filter storage paths + Филтрирај складишни патеки Filter custom fields @@ -10491,7 +10491,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.html 62 - Filter custom fields + Филтрирај сопствени полиња Set values @@ -10499,7 +10499,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.html 70,71 - Set values + Постави вредности Rotate @@ -10507,7 +10507,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.html 93 - Rotate + Ротирај Merge @@ -10515,7 +10515,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.html 96 - Merge + Спои Merge as versions @@ -10527,7 +10527,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 1050 - Merge as versions + Спои како верзии Create a share link bundle @@ -10535,7 +10535,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.html 119 - Create a share link bundle + Создај пакет врски за споделување Include: @@ -10543,7 +10543,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.html 157,158 - Include: + Вклучи: Archived files @@ -10551,7 +10551,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.html 161,162 - Archived files + Архивирани датотеки Original files @@ -10559,7 +10559,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.html 165,166 - Original files + Оригинални датотеки Error executing bulk operation @@ -10567,7 +10567,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 349 - Error executing bulk operation + Грешка при извршување на масовната операција "" @@ -10579,7 +10579,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 515 - "" + „“ "" and "" @@ -10588,7 +10588,7 @@ 511 This is for messages like 'modify "tag1" and "tag2"' - "" and "" + „“ и „“ and "" @@ -10597,7 +10597,7 @@ 519,521 this is for messages like 'modify "tag1", "tag2" and "tag3"' - and "" + и „“ Confirm tags assignment @@ -10605,7 +10605,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 536 - Confirm tags assignment + Потврди доделување ознаки This operation will add the tag "" to selected document(s). @@ -10613,7 +10613,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 542 - This operation will add the tag "" to selected document(s). + Оваа операција ќе ја додаде ознаката „“ на избран(и) документ(и). This operation will add the tags to selected document(s). @@ -10621,7 +10621,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 547,549 - This operation will add the tags to selected document(s). + Оваа операција ќе ги додаде ознаките на избран(и) документ(и). This operation will remove the tag "" from selected document(s). @@ -10629,7 +10629,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 555 - This operation will remove the tag "" from selected document(s). + Оваа операција ќе ја отстрани ознаката „“ од избран(и) документ(и). This operation will remove the tags from selected document(s). @@ -10637,7 +10637,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 560,562 - This operation will remove the tags from selected document(s). + Оваа операција ќе ги отстрани ознаките од избран(и) документ(и). This operation will add the tags and remove the tags on selected document(s). @@ -10645,7 +10645,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 564,568 - This operation will add the tags and remove the tags on selected document(s). + Оваа операција ќе ги додаде ознаките и ќе ги отстрани ознаките на избран(и) документ(и). Confirm correspondent assignment @@ -10653,7 +10653,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 605 - Confirm correspondent assignment + Потврди доделување кореспондент This operation will assign the correspondent "" to selected document(s). @@ -10661,7 +10661,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 607 - This operation will assign the correspondent "" to selected document(s). + Оваа операција ќе го додели кореспондентот „“ на избран(и) документ(и). This operation will remove the correspondent from selected document(s). @@ -10669,7 +10669,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 609 - This operation will remove the correspondent from selected document(s). + Оваа операција ќе го отстрани кореспондентот од избран(и) документ(и). Confirm document type assignment @@ -10677,7 +10677,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 643 - Confirm document type assignment + Потврди доделување вид на документ This operation will assign the document type "" to selected document(s). @@ -10685,7 +10685,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 645 - This operation will assign the document type "" to selected document(s). + Оваа операција ќе го додели видот на документ „“ на избран(и) документ(и). This operation will remove the document type from selected document(s). @@ -10693,7 +10693,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 647 - This operation will remove the document type from selected document(s). + Оваа операција ќе го отстрани видот на документ од избран(и) документ(и). Confirm storage path assignment @@ -10701,7 +10701,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 681 - Confirm storage path assignment + Потврди доделување складишна патека This operation will assign the storage path "" to selected document(s). @@ -10709,7 +10709,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 683 - This operation will assign the storage path "" to selected document(s). + Оваа операција ќе ја додели складишната патека „“ на избран(и) документ(и). This operation will remove the storage path from selected document(s). @@ -10717,7 +10717,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 685 - This operation will remove the storage path from selected document(s). + Оваа операција ќе ја отстрани складишната патека од избран(и) документ(и). Confirm custom field assignment @@ -10725,7 +10725,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 714 - Confirm custom field assignment + Потврди доделување сопствено поле This operation will assign the custom field "" to selected document(s). @@ -10733,7 +10733,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 720 - This operation will assign the custom field "" to selected document(s). + Оваа операција ќе го додели сопственото поле „“ на избран(и) документ(и). This operation will assign the custom fields to selected document(s). @@ -10741,7 +10741,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 725,727 - This operation will assign the custom fields to selected document(s). + Оваа операција ќе ги додели сопствените полиња на избран(и) документ(и). This operation will remove the custom field "" from selected document(s). @@ -10749,7 +10749,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 733 - This operation will remove the custom field "" from selected document(s). + Оваа операција ќе го отстрани сопственото поле „“ од избран(и) документ(и). This operation will remove the custom fields from selected document(s). @@ -10757,7 +10757,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 738,740 - This operation will remove the custom fields from selected document(s). + Оваа операција ќе ги отстрани сопствените полиња од избран(и) документ(и). This operation will assign the custom fields and remove the custom fields on selected document(s). @@ -10765,7 +10765,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 742,746 - This operation will assign the custom fields and remove the custom fields on selected document(s). + Оваа операција ќе ги додели сопствените полиња и ќе ги отстрани сопствените полиња на избран(и) документ(и). Move selected document(s) to the trash? @@ -10773,7 +10773,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 889 - Move selected document(s) to the trash? + Да се преместат избран(и) документ(и) во кантата? Moved document(s) to the trash @@ -10781,7 +10781,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 916 - Moved document(s) to the trash + документ(и) се преместени во кантата This operation will permanently recreate the archive files for selected document(s). @@ -10789,7 +10789,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 951 - This operation will permanently recreate the archive files for selected document(s). + Оваа операција трајно ќе ги создаде повторно архивските датотеки за избран(и) документ(и). The archive files will be re-generated with the current settings. @@ -10797,7 +10797,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 952 - The archive files will be re-generated with the current settings. + Архивските датотеки ќе се генерираат повторно со тековните поставки. Rotate confirm @@ -10805,7 +10805,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 990 - Rotate confirm + Потврда за ротирање This operation will add rotated versions of the document(s). @@ -10813,7 +10813,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 991 - This operation will add rotated versions of the document(s). + Оваа операција ќе додаде ротирани верзии на документ(и). Merge confirm @@ -10821,7 +10821,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 1014 - Merge confirm + Потврда за спојување This operation will merge selected documents into a new document. @@ -10829,7 +10829,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 1015 - This operation will merge selected documents into a new document. + Оваа операција ќе ги спои избрани документи во нов документ. Merged document will be queued for consumption. @@ -10837,7 +10837,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 1038 - Merged document will be queued for consumption. + Спојениот документ ќе биде ставен во редица за внесување. The selected documents will become versions of the root document. @@ -10845,7 +10845,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 1051 - The selected documents will become versions of the root document. + Избраните документи ќе станат верзии на коренскиот документ. Documents merged as versions. @@ -10853,7 +10853,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 1066 - Documents merged as versions. + Документите се споени како верзии. Custom fields updated. @@ -10861,7 +10861,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 1092 - Custom fields updated. + Сопствените полиња се ажурирани. Error updating custom fields. @@ -10869,7 +10869,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 1101 - Error updating custom fields. + Грешка при ажурирање на сопствените полиња. Share link bundle creation requested. @@ -10877,7 +10877,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 1149 - Share link bundle creation requested. + Побарано е создавање пакет врски за споделување. Share link bundle creation is not available yet. @@ -10885,7 +10885,7 @@ src/app/components/document-list/bulk-editor/bulk-editor.component.ts 1156 - Share link bundle creation is not available yet. + Создавањето пакет врски за споделување сè уште не е достапно. {VAR_PLURAL, plural, =1 {Set custom fields for 1 document} other {Set custom fields for documents}} @@ -10893,7 +10893,7 @@ src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html 4,6 - {VAR_PLURAL, plural, =1 {Set custom fields for 1 document} other {Set custom fields for documents}} + {VAR_PLURAL, plural, =1 {Постави сопствени полиња за 1 документ} other {Постави сопствени полиња за документи}} Select custom fields @@ -10901,7 +10901,7 @@ src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html 13 - Select custom fields + Изберете сопствени полиња {VAR_PLURAL, plural, =1 {This operation will also remove 1 custom field from the selected documents.} other {This operation will also @@ -10910,8 +10910,7 @@ src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html 74,77 - {VAR_PLURAL, plural, =1 {This operation will also remove 1 custom field from the selected documents.} other {This operation will also - remove custom fields from the selected documents.}} + {VAR_PLURAL, plural, =1 {Оваа операција ќе отстрани и 1 сопствено поле од избраните документи.} other {Оваа операција ќе отстрани и сопствени полиња од избраните документи.}} thumbnail @@ -10931,7 +10930,7 @@ src/app/components/document-list/document-card-small/document-card-small.component.html 8,9 - thumbnail + Сликичка на Filter by tag @@ -10943,7 +10942,7 @@ src/app/components/document-list/document-list.component.html 336 - Filter by tag + Филтрирај по ознака View notes @@ -10951,7 +10950,7 @@ src/app/components/document-list/document-card-large/document-card-large.component.html 95 - View notes + Прикажи белешки Created: @@ -10967,7 +10966,7 @@ src/app/components/document-list/document-card-small/document-card-small.component.html 95,96 - Created: + Создадено: Added: @@ -10983,7 +10982,7 @@ src/app/components/document-list/document-card-small/document-card-small.component.html 96,97 - Added: + Додадено: Modified: @@ -10999,7 +10998,7 @@ src/app/components/document-list/document-card-small/document-card-small.component.html 97,98 - Modified: + Изменето: {VAR_PLURAL, plural, =1 {1 page} other { pages}} @@ -11011,7 +11010,7 @@ src/app/components/document-list/document-card-small/document-card-small.component.html 110 - {VAR_PLURAL, plural, =1 {1 page} other { pages}} + {VAR_PLURAL, plural, =1 {1 страница} other { страници}} Shared @@ -11031,7 +11030,7 @@ src/app/pipes/username.pipe.ts 35 - Shared + Споделено Score: @@ -11039,7 +11038,7 @@ src/app/components/document-list/document-card-large/document-card-large.component.html 153,154 - Score: + Оценка: Toggle tag filter @@ -11047,7 +11046,7 @@ src/app/components/document-list/document-card-small/document-card-small.component.html 24 - Toggle tag filter + Вклучи/исклучи филтер по ознака Toggle correspondent filter @@ -11055,7 +11054,7 @@ src/app/components/document-list/document-card-small/document-card-small.component.html 47 - Toggle correspondent filter + Вклучи/исклучи филтер по кореспондент Toggle document type filter @@ -11063,7 +11062,7 @@ src/app/components/document-list/document-card-small/document-card-small.component.html 63 - Toggle document type filter + Вклучи/исклучи филтер по вид на документ Toggle storage path filter @@ -11071,7 +11070,7 @@ src/app/components/document-list/document-card-small/document-card-small.component.html 70 - Toggle storage path filter + Вклучи/исклучи филтер по складишна патека Select @@ -11095,7 +11094,7 @@ src/app/data/custom-field.ts 51 - Select + Избери Select none @@ -11107,7 +11106,7 @@ src/app/components/manage/document-attributes/document-attributes.component.html 17,18 - Select none + Не избирај ништо Select page @@ -11123,7 +11122,7 @@ src/app/components/manage/document-attributes/document-attributes.component.html 18,19 - Select page + Избери страница Select all @@ -11139,7 +11138,7 @@ src/app/components/manage/document-attributes/document-attributes.component.html 19,20 - Select all + Избери ги сите Select: @@ -11151,7 +11150,7 @@ src/app/components/manage/document-attributes/document-attributes.component.html 25,26 - Select: + Избери: None @@ -11171,7 +11170,7 @@ src/app/data/matching-model.ts 45 - None + Ништо Sort @@ -11183,7 +11182,7 @@ src/app/components/document-list/document-list.component.html 65 - Sort + Подреди Views @@ -11195,7 +11194,7 @@ src/app/components/document-list/document-list.component.html 90 - Views + Прегледи Save "" @@ -11203,7 +11202,7 @@ src/app/components/document-list/document-list.component.html 110,111 - Save "" + Зачувај „“ Save as... @@ -11211,7 +11210,7 @@ src/app/components/document-list/document-list.component.html 112,113 - Save as... + Зачувај како... All saved views @@ -11219,7 +11218,7 @@ src/app/components/document-list/document-list.component.html 113,114 - All saved views + Сите зачувани прегледи {VAR_PLURAL, plural, =1 {Selected of one document} other {Selected of documents}} @@ -11227,7 +11226,7 @@ src/app/components/document-list/document-list.component.html 133 - {VAR_PLURAL, plural, =1 {Selected of one document} other {Selected of documents}} + {VAR_PLURAL, plural, =1 {Избрани од еден документ} other {Избрани од документи}} {VAR_PLURAL, plural, =1 {One document} other { documents}} @@ -11235,7 +11234,7 @@ src/app/components/document-list/document-list.component.html 137 - {VAR_PLURAL, plural, =1 {One document} other { documents}} + {VAR_PLURAL, plural, =1 {Еден документ} other { документи}} (filtered) @@ -11243,7 +11242,7 @@ src/app/components/document-list/document-list.component.html 139,140 - (filtered) + (филтрирано) Sort by ASN @@ -11251,7 +11250,7 @@ src/app/components/document-list/document-list.component.html 195 - Sort by ASN + Подреди по ASN ASN @@ -11271,7 +11270,7 @@ src/app/data/document.ts 88 - ASN + ASN Sort by correspondent @@ -11279,7 +11278,7 @@ src/app/components/document-list/document-list.component.html 204 - Sort by correspondent + Подреди по кореспондент Sort by title @@ -11287,7 +11286,7 @@ src/app/components/document-list/document-list.component.html 213 - Sort by title + Подреди по наслов Sort by owner @@ -11295,7 +11294,7 @@ src/app/components/document-list/document-list.component.html 226 - Sort by owner + Подреди по сопственик Owner @@ -11311,7 +11310,7 @@ src/app/data/document.ts 96 - Owner + Сопственик Sort by notes @@ -11319,7 +11318,7 @@ src/app/components/document-list/document-list.component.html 235 - Sort by notes + Подреди по белешки Sort by document type @@ -11327,7 +11326,7 @@ src/app/components/document-list/document-list.component.html 244 - Sort by document type + Подреди по вид на документ Sort by storage path @@ -11335,7 +11334,7 @@ src/app/components/document-list/document-list.component.html 253 - Sort by storage path + Подреди по складишна патека Sort by created date @@ -11343,7 +11342,7 @@ src/app/components/document-list/document-list.component.html 262 - Sort by created date + Подреди по датум на создавање Sort by added date @@ -11351,7 +11350,7 @@ src/app/components/document-list/document-list.component.html 271 - Sort by added date + Подреди по датум на додавање Sort by number of pages @@ -11359,7 +11358,7 @@ src/app/components/document-list/document-list.component.html 280 - Sort by number of pages + Подреди по број на страници Pages @@ -11379,7 +11378,7 @@ src/app/data/paperless-config.ts 119 - Pages + Страници Shared @@ -11387,7 +11386,7 @@ src/app/components/document-list/document-list.component.html 288 - Shared + Споделено Sort by @@ -11395,23 +11394,23 @@ src/app/components/document-list/document-list.component.html 294,295 - Sort by - - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Edit document + Подреди по Preview document src/app/components/document-list/document-list.component.html - 329 + 328 - Preview document + Преглед на документ + + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Уреди документ Reset filters / selection @@ -11419,7 +11418,7 @@ src/app/components/document-list/document-list.component.ts 332 - Reset filters / selection + Ресетирај филтри / избор Open first [selected] document @@ -11427,7 +11426,7 @@ src/app/components/document-list/document-list.component.ts 360 - Open first [selected] document + Отвори го првиот [избран] документ Previous page @@ -11435,7 +11434,7 @@ src/app/components/document-list/document-list.component.ts 376 - Previous page + Претходна страница Next page @@ -11443,7 +11442,7 @@ src/app/components/document-list/document-list.component.ts 388 - Next page + Следна страница View "" saved successfully. @@ -11451,7 +11450,7 @@ src/app/components/document-list/document-list.component.ts 422 - View "" saved successfully. + Прегледот „“ е успешно зачуван. Failed to save view "". @@ -11459,7 +11458,7 @@ src/app/components/document-list/document-list.component.ts 428 - Failed to save view "". + Неуспешно зачувување на прегледот „“. View "" created successfully. @@ -11467,7 +11466,7 @@ src/app/components/document-list/document-list.component.ts 497 - View "" created successfully. + Прегледот „“ е успешно создаден. View "" created successfully, but could not update visibility settings. @@ -11475,7 +11474,7 @@ src/app/components/document-list/document-list.component.ts 503 - View "" created successfully, but could not update visibility settings. + Прегледот „“ е успешно создаден, но поставките за видливост не може да се ажурираат. Dates @@ -11483,7 +11482,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.html 90 - Dates + Датуми Title & content @@ -11491,7 +11490,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.ts 204 - Title & content + Наслов и содржина File type @@ -11499,7 +11498,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.ts 207 - File type + Тип на датотека Duplicates @@ -11507,7 +11506,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.ts 208 - Duplicates + Дупликати Custom fields (Deprecated) @@ -11515,7 +11514,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.ts 218 - Custom fields (Deprecated) + Сопствени полиња (застарено) More like @@ -11523,7 +11522,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.ts 223 - More like + Слично на equals @@ -11531,7 +11530,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.ts 229 - equals + е еднакво на is empty @@ -11539,7 +11538,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.ts 233 - is empty + е празно is not empty @@ -11547,7 +11546,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.ts 237 - is not empty + не е празно greater than @@ -11555,7 +11554,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.ts 241 - greater than + поголемо од less than @@ -11563,7 +11562,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.ts 245 - less than + помало од exist @@ -11571,7 +11570,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.ts 252 - exist + постојат do not exist @@ -11579,7 +11578,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.ts 256 - do not exist + не постојат Correspondent: @@ -11587,7 +11586,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.ts 297,301 - Correspondent: + Кореспондент: Without correspondent @@ -11595,7 +11594,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.ts 303 - Without correspondent + Без кореспондент Document type: @@ -11603,7 +11602,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.ts 309,313 - Document type: + Вид на документ: Without document type @@ -11611,7 +11610,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.ts 315 - Without document type + Без вид на документ Storage path: @@ -11619,7 +11618,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.ts 321,325 - Storage path: + Складишна патека: Without storage path @@ -11627,7 +11626,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.ts 327 - Without storage path + Без складишна патека Tag: @@ -11635,7 +11634,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.ts 331,333 - Tag: + Ознака: Without any tag @@ -11643,7 +11642,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.ts 337 - Without any tag + Без ниту една ознака Without duplicates @@ -11651,7 +11650,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.ts 343 - Without duplicates + Без дупликати With duplicates @@ -11659,7 +11658,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.ts 344 - With duplicates + Со дупликати Custom fields query @@ -11667,7 +11666,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.ts 347 - Custom fields query + Пребарување по сопствени полиња Title: @@ -11675,7 +11674,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.ts 351 - Title: + Наслов: Title & content: @@ -11683,7 +11682,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.ts 355 - Title & content: + Наслов и содржина: ASN: @@ -11691,7 +11690,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.ts 358 - ASN: + ASN: Owner: @@ -11699,7 +11698,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.ts 361 - Owner: + Сопственик: Owner not in: @@ -11707,7 +11706,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.ts 364 - Owner not in: + Сопственикот не е во: Without an owner @@ -11715,7 +11714,7 @@ src/app/components/document-list/filter-editor/filter-editor.component.ts 367 - Without an owner + Без сопственик Save current view @@ -11723,7 +11722,7 @@ src/app/components/document-list/save-view-config-dialog/save-view-config-dialog.component.html 3,4 - Save current view + Зачувај го тековниот преглед Icon @@ -11735,7 +11734,7 @@ src/app/components/manage/saved-views/saved-views.component.html 21 - Icon + Икона Show in sidebar @@ -11747,7 +11746,7 @@ src/app/components/manage/saved-views/saved-views.component.html 34,35 - Show in sidebar + Прикажи во страничната лента Show on dashboard @@ -11759,7 +11758,7 @@ src/app/components/manage/saved-views/saved-views.component.html 30,31 - Show on dashboard + Прикажи на контролната табла Filter rules error occurred while saving this view @@ -11767,7 +11766,7 @@ src/app/components/document-list/save-view-config-dialog/save-view-config-dialog.component.html 22,23 - Filter rules error occurred while saving this view + Се појави грешка во правилата за филтрирање при зачувување на овој преглед The error returned was @@ -11775,7 +11774,7 @@ src/app/components/document-list/save-view-config-dialog/save-view-config-dialog.component.html 23 - The error returned was + Вратената грешка беше Enter note @@ -11783,7 +11782,7 @@ src/app/components/document-notes/document-notes.component.html 5 - Enter note + Внесете белешка Please enter a note. @@ -11791,7 +11790,7 @@ src/app/components/document-notes/document-notes.component.html 7 - Please enter a note. + Внесете белешка, ве молиме. Add note @@ -11799,7 +11798,7 @@ src/app/components/document-notes/document-notes.component.html 14,15 - Add note + Додај белешка Delete note @@ -11811,7 +11810,7 @@ src/app/components/document-notes/document-notes.component.html 27,28 - Delete note + Избриши белешка Error saving note @@ -11819,7 +11818,7 @@ src/app/components/document-notes/document-notes.component.ts 83 - Error saving note + Грешка при зачувување на белешката Error deleting note @@ -11827,7 +11826,7 @@ src/app/components/document-notes/document-notes.component.ts 97 - Error deleting note + Грешка при бришење на белешката Drop files to begin upload @@ -11835,7 +11834,7 @@ src/app/components/file-drop/file-drop.component.html 6,7 - Drop files to begin upload + Пуштете датотеки за да започне прикачувањето Failed to read dropped items: @@ -11843,7 +11842,7 @@ src/app/components/file-drop/file-drop.component.ts 141 - Failed to read dropped items: + Неуспешно читање на пуштените ставки: Data Type @@ -11851,7 +11850,7 @@ src/app/components/manage/document-attributes/custom-fields/custom-fields.component.html 6,7 - Data Type + Тип на податоци Filter Documents () @@ -11875,7 +11874,7 @@ src/app/components/manage/document-attributes/management-list/management-list.component.html 131,132 - Filter Documents () + Филтрирај документи () No fields defined. @@ -11883,7 +11882,7 @@ src/app/components/manage/document-attributes/custom-fields/custom-fields.component.html 70,72 - No fields defined. + Нема дефинирани полиња. Confirm delete field @@ -11891,7 +11890,7 @@ src/app/components/manage/document-attributes/custom-fields/custom-fields.component.ts 104 - Confirm delete field + Потврди бришење на полето This operation will permanently delete this field. @@ -11899,7 +11898,7 @@ src/app/components/manage/document-attributes/custom-fields/custom-fields.component.ts 105 - This operation will permanently delete this field. + Оваа операција трајно ќе го избрише ова поле. Deleted field "" @@ -11907,7 +11906,7 @@ src/app/components/manage/document-attributes/custom-fields/custom-fields.component.ts 115 - Deleted field "" + Полето „“ е избришано Error deleting field "". @@ -11915,7 +11914,7 @@ src/app/components/manage/document-attributes/custom-fields/custom-fields.component.ts 125 - Error deleting field "". + Грешка при бришење на полето „“. Manage tags, correspondents, document types, storage paths, and custom fields. @@ -11923,7 +11922,7 @@ src/app/components/manage/document-attributes/document-attributes.component.html 3,4 - Manage tags, correspondents, document types, storage paths, and custom fields. + Управувајте со ознаки, кореспонденти, видови на документи, складишни патеки и сопствени полиња. Add Field @@ -11931,7 +11930,7 @@ src/app/components/manage/document-attributes/document-attributes.component.html 57 - Add Field + Додај поле correspondent @@ -11939,7 +11938,7 @@ src/app/components/manage/document-attributes/management-list/correspondent-list/correspondent-list.component.ts 46 - correspondent + кореспондент correspondents @@ -11947,7 +11946,7 @@ src/app/components/manage/document-attributes/management-list/correspondent-list/correspondent-list.component.ts 47 - correspondents + кореспонденти Last used @@ -11955,7 +11954,7 @@ src/app/components/manage/document-attributes/management-list/correspondent-list/correspondent-list.component.ts 52 - Last used + Последно користено Do you really want to delete the correspondent ""? @@ -11963,7 +11962,7 @@ src/app/components/manage/document-attributes/management-list/correspondent-list/correspondent-list.component.ts 77 - Do you really want to delete the correspondent ""? + Дали навистина сакате да го избришете кореспондентот „“? document type @@ -11971,7 +11970,7 @@ src/app/components/manage/document-attributes/management-list/document-type-list/document-type-list.component.ts 42 - document type + вид на документ document types @@ -11979,7 +11978,7 @@ src/app/components/manage/document-attributes/management-list/document-type-list/document-type-list.component.ts 43 - document types + видови на документи Do you really want to delete the document type ""? @@ -11987,7 +11986,7 @@ src/app/components/manage/document-attributes/management-list/document-type-list/document-type-list.component.ts 48 - Do you really want to delete the document type ""? + Дали навистина сакате да го избришете видот на документ „“? Filter by: @@ -12007,7 +12006,7 @@ src/app/components/manage/document-attributes/management-list/management-list.component.html 4,5 - Filter by: + Филтрирај по: Show: @@ -12035,7 +12034,7 @@ src/app/components/manage/share-links/share-link-list/share-link-list.component.html 87,88 - Show: + Прикажи: per page @@ -12063,7 +12062,7 @@ src/app/components/manage/share-links/share-link-list/share-link-list.component.html 93,94 - per page + по страница Matching @@ -12083,7 +12082,7 @@ src/app/components/manage/document-attributes/management-list/management-list.component.html 41,42 - Matching + Совпаѓање Document count @@ -12103,7 +12102,7 @@ src/app/components/manage/document-attributes/management-list/management-list.component.html 42,43 - Document count + Број на документи {VAR_PLURAL, plural, =1 {One } other { total }} @@ -12123,7 +12122,7 @@ src/app/components/manage/document-attributes/management-list/management-list.component.html 69 - {VAR_PLURAL, plural, =1 {One } other { total }} + {VAR_PLURAL, plural, =1 {1 } other {Вкупно }} Automatic @@ -12135,7 +12134,7 @@ src/app/data/matching-model.ts 15 - Automatic + Автоматски Successfully created . @@ -12143,7 +12142,7 @@ src/app/components/manage/document-attributes/management-list/management-list.component.ts 228 - Successfully created . + Успешно создадено: . Error occurred while creating . @@ -12151,7 +12150,7 @@ src/app/components/manage/document-attributes/management-list/management-list.component.ts 233 - Error occurred while creating . + Се појави грешка при создавање: . Successfully updated "". @@ -12159,7 +12158,7 @@ src/app/components/manage/document-attributes/management-list/management-list.component.ts 248 - Successfully updated "". + Успешно ажурирано: „“. Error occurred while saving . @@ -12167,7 +12166,7 @@ src/app/components/manage/document-attributes/management-list/management-list.component.ts 253 - Error occurred while saving . + Се појави грешка при зачувување: . Associated documents will not be deleted. @@ -12175,7 +12174,7 @@ src/app/components/manage/document-attributes/management-list/management-list.component.ts 273 - Associated documents will not be deleted. + Поврзаните документи нема да бидат избришани. Error while deleting element @@ -12183,7 +12182,7 @@ src/app/components/manage/document-attributes/management-list/management-list.component.ts 289 - Error while deleting element + Грешка при бришење на елементот Error saving settings @@ -12199,7 +12198,7 @@ src/app/components/manage/share-links/share-link-list/share-link-list.component.ts 82 - Error saving settings + Грешка при зачувување на поставките Permissions updated successfully @@ -12207,7 +12206,7 @@ src/app/components/manage/document-attributes/management-list/management-list.component.ts 432 - Permissions updated successfully + Дозволите се успешно ажурирани Error updating permissions @@ -12223,7 +12222,7 @@ src/app/components/manage/saved-views/saved-views.component.ts 324 - Error updating permissions + Грешка при ажурирање на дозволите This operation will permanently delete the selected . @@ -12231,7 +12230,7 @@ src/app/components/manage/document-attributes/management-list/management-list.component.ts 453 - This operation will permanently delete the selected . + Оваа операција трајно ќе ги избрише избраните . Objects deleted successfully @@ -12239,7 +12238,7 @@ src/app/components/manage/document-attributes/management-list/management-list.component.ts 472 - Objects deleted successfully + Објектите се успешно избришани Error deleting objects @@ -12247,7 +12246,7 @@ src/app/components/manage/document-attributes/management-list/management-list.component.ts 479 - Error deleting objects + Грешка при бришење на објектите storage path @@ -12255,7 +12254,7 @@ src/app/components/manage/document-attributes/management-list/storage-path-list/storage-path-list.component.ts 42 - storage path + складишна патека storage paths @@ -12263,7 +12262,7 @@ src/app/components/manage/document-attributes/management-list/storage-path-list/storage-path-list.component.ts 43 - storage paths + складишни патеки Do you really want to delete the storage path ""? @@ -12271,7 +12270,7 @@ src/app/components/manage/document-attributes/management-list/storage-path-list/storage-path-list.component.ts 59 - Do you really want to delete the storage path ""? + Дали навистина сакате да ја избришете складишната патека „“? tag @@ -12279,7 +12278,7 @@ src/app/components/manage/document-attributes/management-list/tag-list/tag-list.component.ts 42 - tag + ознака tags @@ -12287,7 +12286,7 @@ src/app/components/manage/document-attributes/management-list/tag-list/tag-list.component.ts 43 - tags + ознаки Do you really want to delete the tag ""? @@ -12295,7 +12294,7 @@ src/app/components/manage/document-attributes/management-list/tag-list/tag-list.component.ts 59 - Do you really want to delete the tag ""? + Дали навистина сакате да ја избришете ознаката „“? Mail Settings @@ -12303,7 +12302,7 @@ src/app/components/manage/mail/mail.component.html 2,3 - Mail Settings + Поставки за пошта Mail accounts @@ -12311,7 +12310,7 @@ src/app/components/manage/mail/mail.component.html 12 - Mail accounts + Сметки за е-пошта Add Account @@ -12319,7 +12318,7 @@ src/app/components/manage/mail/mail.component.html 14 - Add Account + Додај сметка Connect Gmail Account @@ -12327,7 +12326,7 @@ src/app/components/manage/mail/mail.component.html 18 - Connect Gmail Account + Поврзи Gmail сметка Connect Outlook Account @@ -12335,7 +12334,7 @@ src/app/components/manage/mail/mail.component.html 23 - Connect Outlook Account + Поврзи Outlook сметка Server @@ -12343,7 +12342,7 @@ src/app/components/manage/mail/mail.component.html 31,32 - Server + Сервер Process Mail @@ -12355,7 +12354,7 @@ src/app/components/manage/mail/mail.component.html 86 - Process Mail + Обработи пошта No mail accounts defined. @@ -12363,7 +12362,7 @@ src/app/components/manage/mail/mail.component.html 95,96 - No mail accounts defined. + Нема дефинирани сметки за е-пошта. Mail rules @@ -12371,7 +12370,7 @@ src/app/components/manage/mail/mail.component.html 103 - Mail rules + Правила за пошта Add Rule @@ -12379,7 +12378,7 @@ src/app/components/manage/mail/mail.component.html 105 - Add Rule + Додај правило Sort Order @@ -12387,7 +12386,7 @@ src/app/components/manage/mail/mail.component.html 112,113 - Sort Order + Редослед на подредување Disabled @@ -12399,7 +12398,7 @@ src/app/components/manage/workflows/workflows.component.html 41 - Disabled + Оневозможено View Processed Mail @@ -12407,7 +12406,7 @@ src/app/components/manage/mail/mail.component.html 143 - View Processed Mail + Прикажи обработена пошта No mail rules defined. @@ -12415,7 +12414,7 @@ src/app/components/manage/mail/mail.component.html 183,184 - No mail rules defined. + Нема дефинирани правила за пошта. Error retrieving mail rules @@ -12423,7 +12422,7 @@ src/app/components/manage/mail/mail.component.ts 130 - Error retrieving mail rules + Грешка при вчитување на правилата за пошта OAuth2 authentication success @@ -12431,7 +12430,7 @@ src/app/components/manage/mail/mail.component.ts 139 - OAuth2 authentication success + OAuth2 автентикацијата е успешна OAuth2 authentication failed, see logs for details @@ -12439,7 +12438,7 @@ src/app/components/manage/mail/mail.component.ts 151 - OAuth2 authentication failed, see logs for details + OAuth2 автентикацијата не успеа, видете ги дневниците за детали Saved account "". @@ -12447,7 +12446,7 @@ src/app/components/manage/mail/mail.component.ts 175 - Saved account "". + Сметката „“ е зачувана. Error saving account. @@ -12455,7 +12454,7 @@ src/app/components/manage/mail/mail.component.ts 187 - Error saving account. + Грешка при зачувување на сметката. Confirm delete mail account @@ -12463,7 +12462,7 @@ src/app/components/manage/mail/mail.component.ts 195 - Confirm delete mail account + Потврди бришење на сметка за е-пошта This operation will permanently delete this mail account. @@ -12471,7 +12470,7 @@ src/app/components/manage/mail/mail.component.ts 196 - This operation will permanently delete this mail account. + Оваа операција трајно ќе ја избрише оваа сметка за е-пошта. Deleted mail account "" @@ -12479,7 +12478,7 @@ src/app/components/manage/mail/mail.component.ts 206 - Deleted mail account "" + Сметката за е-пошта „“ е избришана Error deleting mail account "". @@ -12487,7 +12486,7 @@ src/app/components/manage/mail/mail.component.ts 217 - Error deleting mail account "". + Грешка при бришење на сметката за е-пошта „“. Processing mail account "" @@ -12495,7 +12494,7 @@ src/app/components/manage/mail/mail.component.ts 229 - Processing mail account "" + Се обработува сметката за е-пошта „“ Error processing mail account "" @@ -12503,7 +12502,7 @@ src/app/components/manage/mail/mail.component.ts 234 - Error processing mail account "" + Грешка при обработка на сметката за е-пошта „“ Saved rule "". @@ -12511,7 +12510,7 @@ src/app/components/manage/mail/mail.component.ts 254 - Saved rule "". + Правилото „“ е зачувано. Error saving rule. @@ -12519,7 +12518,7 @@ src/app/components/manage/mail/mail.component.ts 266 - Error saving rule. + Грешка при зачувување на правилото. Rule "" enabled. @@ -12527,7 +12526,7 @@ src/app/components/manage/mail/mail.component.ts 282 - Rule "" enabled. + Правилото „“ е овозможено. Rule "" disabled. @@ -12535,7 +12534,7 @@ src/app/components/manage/mail/mail.component.ts 283 - Rule "" disabled. + Правилото „“ е оневозможено. Error toggling rule "". @@ -12543,7 +12542,7 @@ src/app/components/manage/mail/mail.component.ts 288 - Error toggling rule "". + Грешка при вклучување/исклучување на правилото „“. Confirm delete mail rule @@ -12551,7 +12550,7 @@ src/app/components/manage/mail/mail.component.ts 299 - Confirm delete mail rule + Потврди бришење на правило за пошта This operation will permanently delete this mail rule. @@ -12559,7 +12558,7 @@ src/app/components/manage/mail/mail.component.ts 300 - This operation will permanently delete this mail rule. + Оваа операција трајно ќе го избрише ова правило за пошта. Deleted mail rule "" @@ -12567,7 +12566,7 @@ src/app/components/manage/mail/mail.component.ts 310 - Deleted mail rule "" + Правилото за пошта „“ е избришано Error deleting mail rule "". @@ -12575,7 +12574,7 @@ src/app/components/manage/mail/mail.component.ts 321 - Error deleting mail rule "". + Грешка при бришење на правилото за пошта „“. Permissions updated @@ -12587,7 +12586,7 @@ src/app/components/manage/saved-views/saved-views.component.ts 318 - Permissions updated + Дозволите се ажурирани Processed Mail for @@ -12595,7 +12594,7 @@ src/app/components/manage/mail/processed-mail-dialog/processed-mail-dialog.component.html 2,3 - Processed Mail for + Обработена пошта за No processed email messages found. @@ -12603,7 +12602,7 @@ src/app/components/manage/mail/processed-mail-dialog/processed-mail-dialog.component.html 20,21 - No processed email messages found. + Не се пронајдени обработени пораки. Select all processed email messages @@ -12611,7 +12610,7 @@ src/app/components/manage/mail/processed-mail-dialog/processed-mail-dialog.component.html 29 - Select all processed email messages + Избери ги сите обработени пораки Received @@ -12619,7 +12618,7 @@ src/app/components/manage/mail/processed-mail-dialog/processed-mail-dialog.component.html 33,34 - Received + Примено Processed @@ -12627,7 +12626,7 @@ src/app/components/manage/mail/processed-mail-dialog/processed-mail-dialog.component.html 34,35 - Processed + Обработено Processed mail(s) deleted @@ -12635,7 +12634,7 @@ src/app/components/manage/mail/processed-mail-dialog/processed-mail-dialog.component.ts 70 - Processed mail(s) deleted + Обработената пошта е избришана Customize the views of your documents. @@ -12643,7 +12642,7 @@ src/app/components/manage/saved-views/saved-views.component.html 4,5 - Customize the views of your documents. + Прилагодете ги прегледите на вашите документи. Permissions @@ -12651,7 +12650,7 @@ src/app/components/manage/saved-views/saved-views.component.html 46,47 - Permissions + Дозволи Documents page size @@ -12659,7 +12658,7 @@ src/app/components/manage/saved-views/saved-views.component.html 60 - Documents page size + Број на документи по страница Display as @@ -12667,7 +12666,7 @@ src/app/components/manage/saved-views/saved-views.component.html 63,64 - Display as + Прикажи како Table @@ -12675,7 +12674,7 @@ src/app/components/manage/saved-views/saved-views.component.html 65,66 - Table + Табела Small Cards @@ -12683,7 +12682,7 @@ src/app/components/manage/saved-views/saved-views.component.html 66,67 - Small Cards + Мали картици Large Cards @@ -12691,7 +12690,7 @@ src/app/components/manage/saved-views/saved-views.component.html 67,68 - Large Cards + Големи картици Note: ordering is not preserved @@ -12699,7 +12698,7 @@ src/app/components/manage/saved-views/saved-views.component.html 73,74 - Note: ordering is not preserved + Забелешка: редоследот не се зачувува No saved views defined. @@ -12707,7 +12706,7 @@ src/app/components/manage/saved-views/saved-views.component.html 81,82 - No saved views defined. + Нема дефинирани зачувани прегледи. Saved view "" deleted. @@ -12715,7 +12714,7 @@ src/app/components/manage/saved-views/saved-views.component.ts 187 - Saved view "" deleted. + Зачуваниот преглед „“ е избришан. Views saved successfully. @@ -12723,7 +12722,7 @@ src/app/components/manage/saved-views/saved-views.component.ts 265 - Views saved successfully. + Прегледите се успешно зачувани. Error while saving views. @@ -12731,7 +12730,7 @@ src/app/components/manage/saved-views/saved-views.component.ts 270 - Error while saving views. + Грешка при зачувување на прегледите. Note: Sharing saved views does not share the underlying documents. @@ -12739,7 +12738,7 @@ src/app/components/manage/saved-views/saved-views.component.ts 306 - Note: Sharing saved views does not share the underlying documents. + Забелешка: споделувањето зачувани прегледи не ги споделува самите документи. No share link bundles currently exist. @@ -12747,7 +12746,7 @@ src/app/components/manage/share-links/share-link-bundle-list/share-link-bundle-list.component.html 9,11 - No share link bundles currently exist. + Моментално не постојат пакети врски за споделување. Built: @@ -12755,7 +12754,7 @@ src/app/components/manage/share-links/share-link-bundle-list/share-link-bundle-list.component.html 32 - Built: + Создадено: View error details @@ -12763,7 +12762,7 @@ src/app/components/manage/share-links/share-link-bundle-list/share-link-bundle-list.component.html 46,47 - View error details + Прикажи детали за грешката Expired @@ -12775,7 +12774,7 @@ src/app/components/manage/share-links/share-link-list/share-link-list.component.html 40,41 - Expired + Истечено Copy share link @@ -12795,7 +12794,7 @@ src/app/components/manage/share-links/share-link-list/share-link-list.component.html 67,68 - Copy share link + Копирај врска за споделување Retry @@ -12803,7 +12802,7 @@ src/app/components/manage/share-links/share-link-bundle-list/share-link-bundle-list.component.html 125,126 - Retry + Обиди се повторно Delete share link bundle @@ -12811,7 +12810,7 @@ src/app/components/manage/share-links/share-link-bundle-list/share-link-bundle-list.component.html 134,135 - Delete share link bundle + Избриши пакет врски за споделување Share link bundles pagination @@ -12819,7 +12818,7 @@ src/app/components/manage/share-links/share-link-bundle-list/share-link-bundle-list.component.html 164,165 - Share link bundles pagination + Страничење на пакетите врски за споделување Failed to load share link bundles. @@ -12827,7 +12826,7 @@ src/app/components/manage/share-links/share-link-bundle-list/share-link-bundle-list.component.ts 111 - Failed to load share link bundles. + Неуспешно вчитување на пакетите врски за споделување. Error retrieving share link bundles. @@ -12835,7 +12834,7 @@ src/app/components/manage/share-links/share-link-bundle-list/share-link-bundle-list.component.ts 113 - Error retrieving share link bundles. + Грешка при вчитување на пакетите врски за споделување. Share link bundle deleted. @@ -12843,7 +12842,7 @@ src/app/components/manage/share-links/share-link-bundle-list/share-link-bundle-list.component.ts 181 - Share link bundle deleted. + Пакетот врски за споделување е избришан. Error deleting share link bundle. @@ -12851,7 +12850,7 @@ src/app/components/manage/share-links/share-link-bundle-list/share-link-bundle-list.component.ts 187 - Error deleting share link bundle. + Грешка при бришење на пакетот врски за споделување. Share link bundle rebuild requested. @@ -12859,7 +12858,7 @@ src/app/components/manage/share-links/share-link-bundle-list/share-link-bundle-list.component.ts 199 - Share link bundle rebuild requested. + Побарано е повторно создавање на пакетот врски за споделување. Error requesting rebuild. @@ -12867,7 +12866,7 @@ src/app/components/manage/share-links/share-link-bundle-list/share-link-bundle-list.component.ts 204 - Error requesting rebuild. + Грешка при барањето за повторно создавање. No document share links currently exist. @@ -12875,7 +12874,7 @@ src/app/components/manage/share-links/share-link-list/share-link-list.component.html 7,8 - No document share links currently exist. + Моментално не постојат врски за споделување документи. Document @@ -12883,7 +12882,7 @@ src/app/components/manage/share-links/share-link-list/share-link-list.component.html 15,16 - Document + Документ Delete share link @@ -12891,7 +12890,7 @@ src/app/components/manage/share-links/share-link-list/share-link-list.component.html 75,76 - Delete share link + Избриши врска за споделување Share links pagination @@ -12899,7 +12898,7 @@ src/app/components/manage/share-links/share-link-list/share-link-list.component.html 104,105 - Share links pagination + Страничење на врските за споделување Failed to load share links. @@ -12907,7 +12906,7 @@ src/app/components/manage/share-links/share-link-list/share-link-list.component.ts 105 - Failed to load share links. + Неуспешно вчитување на врските за споделување. Error retrieving share links. @@ -12915,7 +12914,7 @@ src/app/components/manage/share-links/share-link-list/share-link-list.component.ts 107 - Error retrieving share links. + Грешка при вчитување на врските за споделување. Share link deleted. @@ -12923,7 +12922,7 @@ src/app/components/manage/share-links/share-link-list/share-link-list.component.ts 154 - Share link deleted. + Врската за споделување е избришана. Error deleting share link. @@ -12931,7 +12930,7 @@ src/app/components/manage/share-links/share-link-list/share-link-list.component.ts 159 - Error deleting share link. + Грешка при бришење на врската за споделување. Manage public links to individual documents and document bundles. @@ -12939,7 +12938,7 @@ src/app/components/manage/share-links/share-links.component.html 4,5 - Manage public links to individual documents and document bundles. + Управувајте со јавните врски до поединечни документи и пакети документи. Document links @@ -12947,7 +12946,7 @@ src/app/components/manage/share-links/share-links.component.html 18,19 - Document links + Врски до документи Bundles @@ -12955,7 +12954,7 @@ src/app/components/manage/share-links/share-links.component.html 26,27 - Bundles + Пакети Use workflows to customize the behavior of Paperless-ngx when events 'trigger' a workflow. @@ -12963,7 +12962,7 @@ src/app/components/manage/workflows/workflows.component.html 4,5 - Use workflows to customize the behavior of Paperless-ngx when events 'trigger' a workflow. + Користете работни текови за да го прилагодите однесувањето на Paperless-ngx кога настани „активираат“ работен тек. Add Workflow @@ -12971,7 +12970,7 @@ src/app/components/manage/workflows/workflows.component.html 9 - Add Workflow + Додај работен тек No workflows defined. @@ -12979,7 +12978,7 @@ src/app/components/manage/workflows/workflows.component.html 80,82 - No workflows defined. + Нема дефинирани работни текови. Saved workflow "". @@ -12987,7 +12986,7 @@ src/app/components/manage/workflows/workflows.component.ts 90 - Saved workflow "". + Работниот тек „“ е зачуван. Error saving workflow. @@ -12995,7 +12994,7 @@ src/app/components/manage/workflows/workflows.component.ts 98 - Error saving workflow. + Грешка при зачувување на работниот тек. Confirm delete workflow @@ -13003,7 +13002,7 @@ src/app/components/manage/workflows/workflows.component.ts 131 - Confirm delete workflow + Потврди бришење на работен тек This operation will permanently delete this workflow. @@ -13011,7 +13010,7 @@ src/app/components/manage/workflows/workflows.component.ts 132 - This operation will permanently delete this workflow. + Оваа операција трајно ќе го избрише овој работен тек. Deleted workflow "". @@ -13019,7 +13018,7 @@ src/app/components/manage/workflows/workflows.component.ts 142 - Deleted workflow "". + Работниот тек „“ е избришан. Error deleting workflow "". @@ -13027,7 +13026,7 @@ src/app/components/manage/workflows/workflows.component.ts 149 - Error deleting workflow "". + Грешка при бришење на работниот тек „“. Enabled workflow "" @@ -13035,7 +13034,7 @@ src/app/components/manage/workflows/workflows.component.ts 162 - Enabled workflow "" + Работниот тек „“ е овозможен Disabled workflow "" @@ -13043,7 +13042,7 @@ src/app/components/manage/workflows/workflows.component.ts 163 - Disabled workflow "" + Работниот тек „“ е оневозможен Error toggling workflow "". @@ -13051,7 +13050,7 @@ src/app/components/manage/workflows/workflows.component.ts 170 - Error toggling workflow "". + Грешка при вклучување/исклучување на работниот тек „“. Not Found @@ -13059,7 +13058,7 @@ src/app/components/not-found/not-found.component.html 6,7 - Not Found + Не е пронајдено Go to Dashboard @@ -13067,7 +13066,7 @@ src/app/components/not-found/not-found.component.html 9 - Go to Dashboard + Оди на контролната табла Equal to @@ -13075,7 +13074,7 @@ src/app/data/custom-field-query.ts 24 - Equal to + Еднакво на In @@ -13083,7 +13082,7 @@ src/app/data/custom-field-query.ts 25 - In + Во Is null @@ -13091,7 +13090,7 @@ src/app/data/custom-field-query.ts 26 - Is null + Е null Exists @@ -13099,7 +13098,7 @@ src/app/data/custom-field-query.ts 27 - Exists + Постои Contains @@ -13107,7 +13106,7 @@ src/app/data/custom-field-query.ts 28 - Contains + Содржи Contains (case-insensitive) @@ -13115,7 +13114,7 @@ src/app/data/custom-field-query.ts 29 - Contains (case-insensitive) + Содржи (без разлика на големи и мали букви) Greater than @@ -13123,7 +13122,7 @@ src/app/data/custom-field-query.ts 30 - Greater than + Поголемо од Greater than or equal to @@ -13131,7 +13130,7 @@ src/app/data/custom-field-query.ts 31 - Greater than or equal to + Поголемо или еднакво на Less than @@ -13139,7 +13138,7 @@ src/app/data/custom-field-query.ts 32 - Less than + Помало од Less than or equal to @@ -13147,7 +13146,7 @@ src/app/data/custom-field-query.ts 33 - Less than or equal to + Помало или еднакво на Range @@ -13155,7 +13154,7 @@ src/app/data/custom-field-query.ts 34 - Range + Опсег Boolean @@ -13163,7 +13162,7 @@ src/app/data/custom-field.ts 19 - Boolean + Булова вредност Date @@ -13171,7 +13170,7 @@ src/app/data/custom-field.ts 23 - Date + Датум Integer @@ -13179,7 +13178,7 @@ src/app/data/custom-field.ts 27 - Integer + Цел број Number @@ -13187,7 +13186,7 @@ src/app/data/custom-field.ts 31 - Number + Број Monetary @@ -13195,7 +13194,7 @@ src/app/data/custom-field.ts 35 - Monetary + Парична вредност Text @@ -13203,7 +13202,7 @@ src/app/data/custom-field.ts 39 - Text + Текст Url @@ -13211,7 +13210,7 @@ src/app/data/custom-field.ts 43 - Url + URL Document Link @@ -13219,7 +13218,7 @@ src/app/data/custom-field.ts 47 - Document Link + Врска до документ Long Text @@ -13227,7 +13226,7 @@ src/app/data/custom-field.ts 55 - Long Text + Долг текст Search score @@ -13236,7 +13235,7 @@ 103 Score is a value returned by the full text search engine and specifies how well a result matches the given query - Search score + Оценка на пребарувањето Auto: Learn matching automatically @@ -13244,7 +13243,7 @@ src/app/data/matching-model.ts 16 - Auto: Learn matching automatically + Автоматски: автоматско учење на совпаѓањето Any word @@ -13252,7 +13251,7 @@ src/app/data/matching-model.ts 20 - Any word + Било кој збор Any: Document contains any of these words (space separated) @@ -13260,7 +13259,7 @@ src/app/data/matching-model.ts 21 - Any: Document contains any of these words (space separated) + Било кој: документот содржи кој било од овие зборови (одделени со празно место) All words @@ -13268,7 +13267,7 @@ src/app/data/matching-model.ts 25 - All words + Сите зборови All: Document contains all of these words (space separated) @@ -13276,7 +13275,7 @@ src/app/data/matching-model.ts 26 - All: Document contains all of these words (space separated) + Сите: документот ги содржи сите овие зборови (одделени со празно место) Exact match @@ -13284,7 +13283,7 @@ src/app/data/matching-model.ts 30 - Exact match + Точно совпаѓање Exact: Document contains this string @@ -13292,7 +13291,7 @@ src/app/data/matching-model.ts 31 - Exact: Document contains this string + Точно: документот го содржи овој низ Regular expression @@ -13300,7 +13299,7 @@ src/app/data/matching-model.ts 35 - Regular expression + Регуларен израз Regular expression: Document matches this regular expression @@ -13308,7 +13307,7 @@ src/app/data/matching-model.ts 36 - Regular expression: Document matches this regular expression + Регуларен израз: документот се совпаѓа со овој регуларен израз Fuzzy word @@ -13316,7 +13315,7 @@ src/app/data/matching-model.ts 40 - Fuzzy word + Приближен збор Fuzzy: Document contains a word similar to this word @@ -13324,7 +13323,7 @@ src/app/data/matching-model.ts 41 - Fuzzy: Document contains a word similar to this word + Приближно: документот содржи збор сличен на овој збор None: Disable matching @@ -13332,7 +13331,7 @@ src/app/data/matching-model.ts 46 - None: Disable matching + Ништо: оневозможи совпаѓање General Settings @@ -13340,7 +13339,7 @@ src/app/data/paperless-config.ts 51 - General Settings + Општи поставки OCR Settings @@ -13348,7 +13347,7 @@ src/app/data/paperless-config.ts 52 - OCR Settings + OCR поставки Barcode Settings @@ -13356,7 +13355,7 @@ src/app/data/paperless-config.ts 53 - Barcode Settings + Поставки за баркодови AI Settings @@ -13364,7 +13363,7 @@ src/app/data/paperless-config.ts 54 - AI Settings + AI поставки Output Type @@ -13372,7 +13371,7 @@ src/app/data/paperless-config.ts 104 - Output Type + Излезен тип Language @@ -13380,7 +13379,7 @@ src/app/data/paperless-config.ts 112 - Language + Јазик Mode @@ -13388,7 +13387,7 @@ src/app/data/paperless-config.ts 126 - Mode + Режим Archive File Generation @@ -13396,7 +13395,7 @@ src/app/data/paperless-config.ts 134 - Archive File Generation + Генерирање архивска датотека Image DPI @@ -13404,7 +13403,7 @@ src/app/data/paperless-config.ts 142 - Image DPI + DPI на сликата Clean @@ -13412,7 +13411,7 @@ src/app/data/paperless-config.ts 149 - Clean + Чистење Deskew @@ -13420,7 +13419,7 @@ src/app/data/paperless-config.ts 157 - Deskew + Исправување на наклонетост Rotate Pages @@ -13428,7 +13427,7 @@ src/app/data/paperless-config.ts 164 - Rotate Pages + Ротирај страници Rotate Pages Threshold @@ -13436,7 +13435,7 @@ src/app/data/paperless-config.ts 171 - Rotate Pages Threshold + Праг за ротирање страници Max Image Pixels @@ -13444,7 +13443,7 @@ src/app/data/paperless-config.ts 178 - Max Image Pixels + Максимален број пиксели на слика Color Conversion Strategy @@ -13452,7 +13451,7 @@ src/app/data/paperless-config.ts 185 - Color Conversion Strategy + Стратегија за конверзија на бои OCR Arguments @@ -13460,7 +13459,7 @@ src/app/data/paperless-config.ts 193 - OCR Arguments + OCR аргументи Remote OCR Engine @@ -13468,7 +13467,7 @@ src/app/data/paperless-config.ts 200 - Remote OCR Engine + Оддалечен OCR мотор Enabling remote OCR sends documents to a third-party service for processing. Consider the privacy implications as well as potential costs before enabling. @@ -13476,7 +13475,7 @@ src/app/data/paperless-config.ts 206 - Enabling remote OCR sends documents to a third-party service for processing. Consider the privacy implications as well as potential costs before enabling. + Овозможувањето оддалечен OCR праќа документи до услуга од трета страна за обработка. Пред да го овозможите, размислете за влијанието врз приватноста, како и за можните трошоци. Remote OCR API Key @@ -13484,7 +13483,7 @@ src/app/data/paperless-config.ts 210 - Remote OCR API Key + API клуч за оддалечен OCR Remote OCR Endpoint @@ -13492,7 +13491,7 @@ src/app/data/paperless-config.ts 218 - Remote OCR Endpoint + Крајна точка за оддалечен OCR Required when using the Azure AI engine. @@ -13500,7 +13499,7 @@ src/app/data/paperless-config.ts 223 - Required when using the Azure AI engine. + Задолжително при користење на моторот Azure AI. Remote OCR Mode @@ -13508,7 +13507,7 @@ src/app/data/paperless-config.ts 227 - Remote OCR Mode + Режим на оддалечен OCR Which documents are sent to the remote engine. Use 'workflow_only' to keep remote OCR off unless a workflow enables it for a document. @@ -13516,7 +13515,7 @@ src/app/data/paperless-config.ts 233 - Which documents are sent to the remote engine. Use 'workflow_only' to keep remote OCR off unless a workflow enables it for a document. + Кои документи се праќаат до оддалечениот мотор. Користете 'workflow_only' за оддалечениот OCR да остане исклучен освен ако работен тек не го овозможи за некој документ. Application Logo @@ -13524,7 +13523,7 @@ src/app/data/paperless-config.ts 237 - Application Logo + Лого на апликацијата Application Title @@ -13532,7 +13531,7 @@ src/app/data/paperless-config.ts 244 - Application Title + Наслов на апликацијата Enable Barcodes @@ -13540,7 +13539,7 @@ src/app/data/paperless-config.ts 251 - Enable Barcodes + Овозможи баркодови Enable TIFF Support @@ -13548,7 +13547,7 @@ src/app/data/paperless-config.ts 258 - Enable TIFF Support + Овозможи поддршка за TIFF Barcode String @@ -13556,7 +13555,7 @@ src/app/data/paperless-config.ts 265 - Barcode String + Низа за баркод Retain Split Pages @@ -13564,7 +13563,7 @@ src/app/data/paperless-config.ts 272 - Retain Split Pages + Задржи разделени страници Enable ASN @@ -13572,7 +13571,7 @@ src/app/data/paperless-config.ts 279 - Enable ASN + Овозможи ASN ASN Prefix @@ -13580,7 +13579,7 @@ src/app/data/paperless-config.ts 286 - ASN Prefix + ASN префикс Upscale @@ -13588,7 +13587,7 @@ src/app/data/paperless-config.ts 293 - Upscale + Зголемување DPI @@ -13596,7 +13595,7 @@ src/app/data/paperless-config.ts 300 - DPI + DPI Max Pages @@ -13604,7 +13603,7 @@ src/app/data/paperless-config.ts 307 - Max Pages + Максимум страници Enable Tag Detection @@ -13612,7 +13611,7 @@ src/app/data/paperless-config.ts 314 - Enable Tag Detection + Овозможи откривање ознаки Tag Mapping @@ -13620,7 +13619,7 @@ src/app/data/paperless-config.ts 321 - Tag Mapping + Мапирање ознаки Split on Tag Barcodes @@ -13628,7 +13627,7 @@ src/app/data/paperless-config.ts 328 - Split on Tag Barcodes + Раздели по баркодови на ознаки Store Barcode Contents @@ -13636,7 +13635,7 @@ src/app/data/paperless-config.ts 335 - Store Barcode Contents + Зачувај ја содржината на баркодовите AI Enabled @@ -13644,7 +13643,7 @@ src/app/data/paperless-config.ts 342 - AI Enabled + AI е овозможен Consider privacy implications when enabling AI features, especially if using a remote model. @@ -13652,7 +13651,7 @@ src/app/data/paperless-config.ts 346 - Consider privacy implications when enabling AI features, especially if using a remote model. + Размислете за влијанието врз приватноста при овозможување AI функции, особено ако користите оддалечен модел. LLM Embedding Backend @@ -13660,7 +13659,7 @@ src/app/data/paperless-config.ts 350 - LLM Embedding Backend + LLM embedding backend LLM Embedding Model @@ -13668,7 +13667,7 @@ src/app/data/paperless-config.ts 358 - LLM Embedding Model + LLM embedding модел LLM Embedding API Key @@ -13676,7 +13675,7 @@ src/app/data/paperless-config.ts 365 - LLM Embedding API Key + API клуч за LLM embedding Used for embeddings when set, otherwise LLM API key is used. @@ -13684,7 +13683,7 @@ src/app/data/paperless-config.ts 367 - Used for embeddings when set, otherwise LLM API key is used. + Се користи за embedding ако е поставен, инаку се користи API клучот за LLM. LLM Embedding Endpoint @@ -13692,7 +13691,7 @@ src/app/data/paperless-config.ts 373 - LLM Embedding Endpoint + LLM embedding endpoint LLM Embedding Chunk Size @@ -13700,7 +13699,7 @@ src/app/data/paperless-config.ts 380 - LLM Embedding Chunk Size + Големина на деловите за LLM embedding LLM Context Size @@ -13708,7 +13707,7 @@ src/app/data/paperless-config.ts 387 - LLM Context Size + Големина на LLM контекстот LLM Backend @@ -13716,7 +13715,7 @@ src/app/data/paperless-config.ts 394 - LLM Backend + LLM backend LLM Model @@ -13724,7 +13723,7 @@ src/app/data/paperless-config.ts 402 - LLM Model + LLM модел LLM API Key @@ -13732,7 +13731,7 @@ src/app/data/paperless-config.ts 409 - LLM API Key + LLM API клуч LLM Endpoint @@ -13740,7 +13739,7 @@ src/app/data/paperless-config.ts 416 - LLM Endpoint + LLM endpoint LLM Output Language @@ -13748,7 +13747,7 @@ src/app/data/paperless-config.ts 423 - LLM Output Language + Излезен јазик на LLM Language to use for generated AI suggestions. When unset, AI suggestions use the user's display language if explicitly set. @@ -13756,7 +13755,7 @@ src/app/data/paperless-config.ts 427 - Language to use for generated AI suggestions. When unset, AI suggestions use the user's display language if explicitly set. + Јазик за генерираните AI предлози. Ако не е поставен, AI предлозите го користат јазикот на приказ на корисникот, ако е изрично поставен. LLM Request Timeout @@ -13764,7 +13763,7 @@ src/app/data/paperless-config.ts 431 - LLM Request Timeout + Време на истек на LLM барањата Timeout in seconds for LLM requests. @@ -13772,7 +13771,7 @@ src/app/data/paperless-config.ts 435 - Timeout in seconds for LLM requests. + Време на истек во секунди за LLM барањата. Archive @@ -13784,7 +13783,7 @@ src/app/data/share-link-bundle.ts 51 - Archive + Архива Bank @@ -13792,7 +13791,7 @@ src/app/data/saved-view-icons.ts 5 - Bank + Банка Basket @@ -13800,7 +13799,7 @@ src/app/data/saved-view-icons.ts 6 - Basket + Кошница Bell @@ -13808,7 +13807,7 @@ src/app/data/saved-view-icons.ts 7 - Bell + Звонче Bookmark @@ -13816,7 +13815,7 @@ src/app/data/saved-view-icons.ts 8 - Bookmark + Обележувач Boxes @@ -13824,7 +13823,7 @@ src/app/data/saved-view-icons.ts 9 - Boxes + Кутии Briefcase @@ -13832,7 +13831,7 @@ src/app/data/saved-view-icons.ts 10 - Briefcase + Актовка Building @@ -13840,7 +13839,7 @@ src/app/data/saved-view-icons.ts 11 - Building + Зграда Calculator @@ -13848,7 +13847,7 @@ src/app/data/saved-view-icons.ts 12 - Calculator + Калкулатор Calendar @@ -13856,7 +13855,7 @@ src/app/data/saved-view-icons.ts 13 - Calendar + Календар Camera @@ -13864,7 +13863,7 @@ src/app/data/saved-view-icons.ts 14 - Camera + Камера Checklist @@ -13872,7 +13871,7 @@ src/app/data/saved-view-icons.ts 17 - Checklist + Контролна листа Cash @@ -13880,7 +13879,7 @@ src/app/data/saved-view-icons.ts 20 - Cash + Готовина Check @@ -13888,7 +13887,7 @@ src/app/data/saved-view-icons.ts 22 - Check + Проверка Clipboard @@ -13896,7 +13895,7 @@ src/app/data/saved-view-icons.ts 23 - Clipboard + Табла со исечоци Clock @@ -13904,7 +13903,7 @@ src/app/data/saved-view-icons.ts 24 - Clock + Часовник Credit card @@ -13912,7 +13911,7 @@ src/app/data/saved-view-icons.ts 25 - Credit card + Кредитна картичка Envelope @@ -13920,7 +13919,7 @@ src/app/data/saved-view-icons.ts 27 - Envelope + Плик Warning @@ -13928,7 +13927,7 @@ src/app/data/saved-view-icons.ts 30 - Warning + Предупредување File @@ -13936,7 +13935,7 @@ src/app/data/saved-view-icons.ts 33 - File + Датотека Checked file @@ -13944,7 +13943,7 @@ src/app/data/saved-view-icons.ts 36 - Checked file + Проверена датотека Locked file @@ -13952,7 +13951,7 @@ src/app/data/saved-view-icons.ts 41 - Locked file + Заклучена датотека Medical file @@ -13960,7 +13959,7 @@ src/app/data/saved-view-icons.ts 46 - Medical file + Медицинска датотека Person file @@ -13968,7 +13967,7 @@ src/app/data/saved-view-icons.ts 51 - Person file + Лична датотека Spreadsheet @@ -13976,7 +13975,7 @@ src/app/data/saved-view-icons.ts 56 - Spreadsheet + Табеларна пресметка Text file @@ -13984,7 +13983,7 @@ src/app/data/saved-view-icons.ts 59 - Text file + Текстуална датотека Files @@ -13992,7 +13991,7 @@ src/app/data/saved-view-icons.ts 60 - Files + Датотеки Filter @@ -14000,7 +13999,7 @@ src/app/data/saved-view-icons.ts 62 - Filter + Филтер Gear @@ -14008,7 +14007,7 @@ src/app/data/saved-view-icons.ts 63 - Gear + Запчаник Globe @@ -14016,7 +14015,7 @@ src/app/data/saved-view-icons.ts 64 - Globe + Глобус Hash @@ -14024,7 +14023,7 @@ src/app/data/saved-view-icons.ts 65 - Hash + Хеш Heart @@ -14032,7 +14031,7 @@ src/app/data/saved-view-icons.ts 66 - Heart + Срце House @@ -14040,7 +14039,7 @@ src/app/data/saved-view-icons.ts 67 - House + Куќа Inbox @@ -14048,7 +14047,7 @@ src/app/data/saved-view-icons.ts 68 - Inbox + Влезно сандаче Journals @@ -14056,7 +14055,7 @@ src/app/data/saved-view-icons.ts 69 - Journals + Дневници Task list @@ -14064,7 +14063,7 @@ src/app/data/saved-view-icons.ts 70 - Task list + Листа на задачи Newspaper @@ -14072,7 +14071,7 @@ src/app/data/saved-view-icons.ts 71 - Newspaper + Весник Attachment @@ -14080,7 +14079,7 @@ src/app/data/saved-view-icons.ts 72 - Attachment + Прилог People @@ -14088,7 +14087,7 @@ src/app/data/saved-view-icons.ts 73 - People + Луѓе Person @@ -14096,7 +14095,7 @@ src/app/data/saved-view-icons.ts 74 - Person + Личност Printer @@ -14104,7 +14103,7 @@ src/app/data/saved-view-icons.ts 75 - Printer + Печатач Receipt @@ -14112,7 +14111,7 @@ src/app/data/saved-view-icons.ts 76 - Receipt + Сметка Safe @@ -14120,7 +14119,7 @@ src/app/data/saved-view-icons.ts 77 - Safe + Сеф Shop @@ -14128,7 +14127,7 @@ src/app/data/saved-view-icons.ts 80 - Shop + Продавница Stack @@ -14136,7 +14135,7 @@ src/app/data/saved-view-icons.ts 81 - Stack + Куп Stars @@ -14144,7 +14143,7 @@ src/app/data/saved-view-icons.ts 82 - Stars + Звезди Tag @@ -14152,7 +14151,7 @@ src/app/data/saved-view-icons.ts 83 - Tag + Ознака Telephone @@ -14160,7 +14159,7 @@ src/app/data/saved-view-icons.ts 85 - Telephone + Телефон Truck @@ -14168,7 +14167,7 @@ src/app/data/saved-view-icons.ts 86 - Truck + Камион Barcode @@ -14176,7 +14175,7 @@ src/app/data/saved-view-icons.ts 87 - Barcode + Баркод Wallet @@ -14184,7 +14183,7 @@ src/app/data/saved-view-icons.ts 88 - Wallet + Паричник Processing @@ -14192,7 +14191,7 @@ src/app/data/share-link-bundle.ts 42 - Processing + Се обработува Ready @@ -14200,7 +14199,7 @@ src/app/data/share-link-bundle.ts 43 - Ready + Готово Original @@ -14208,7 +14207,7 @@ src/app/data/share-link-bundle.ts 52 - Original + Оригинал 7 days @@ -14216,7 +14215,7 @@ src/app/data/share-link.ts 15 - 7 days + 7 дена 30 days @@ -14224,7 +14223,7 @@ src/app/data/share-link.ts 16 - 30 days + 30 дена Warning: You have unsaved changes to your document(s). @@ -14232,7 +14231,7 @@ src/app/guards/dirty-doc.guard.ts 16 - Warning: You have unsaved changes to your document(s). + Предупредување: имате незачувани промени во вашиот документ/и. You have unsaved changes. @@ -14244,7 +14243,7 @@ src/app/services/open-documents.service.ts 171 - You have unsaved changes. + Имате незачувани промени. Are you sure you want to leave? @@ -14252,7 +14251,7 @@ src/app/guards/dirty-form.guard.ts 17 - Are you sure you want to leave? + Дали сте сигурни дека сакате да излезете? Leave page @@ -14260,7 +14259,7 @@ src/app/guards/dirty-form.guard.ts 19 - Leave page + Напушти ја страницата You have unsaved changes to the saved view @@ -14268,7 +14267,7 @@ src/app/guards/dirty-saved-view.guard.ts 29 - You have unsaved changes to the saved view + Имате незачувани промени во зачуваниот преглед Are you sure you want to close this saved view? @@ -14276,7 +14275,7 @@ src/app/guards/dirty-saved-view.guard.ts 33 - Are you sure you want to close this saved view? + Дали сте сигурни дека сакате да го затворите овој зачуван преглед? Save and close @@ -14284,7 +14283,7 @@ src/app/guards/dirty-saved-view.guard.ts 37 - Save and close + Зачувај и затвори You don't have permissions to do that @@ -14292,7 +14291,7 @@ src/app/guards/permissions.guard.ts 42 - You don't have permissions to do that + Немате дозволи за тоа Last year @@ -14300,7 +14299,7 @@ src/app/pipes/custom-date.pipe.ts 14 - Last year + Минатата година %s years ago @@ -14308,7 +14307,7 @@ src/app/pipes/custom-date.pipe.ts 15 - %s years ago + пред %s години Last month @@ -14316,7 +14315,7 @@ src/app/pipes/custom-date.pipe.ts 19 - Last month + Минатиот месец %s months ago @@ -14324,7 +14323,7 @@ src/app/pipes/custom-date.pipe.ts 20 - %s months ago + пред %s месеци Last week @@ -14332,7 +14331,7 @@ src/app/pipes/custom-date.pipe.ts 24 - Last week + Минатата недела %s weeks ago @@ -14340,7 +14339,7 @@ src/app/pipes/custom-date.pipe.ts 25 - %s weeks ago + пред %s недели %s days ago @@ -14348,7 +14347,7 @@ src/app/pipes/custom-date.pipe.ts 30 - %s days ago + пред %s дена %s hour ago @@ -14356,7 +14355,7 @@ src/app/pipes/custom-date.pipe.ts 34 - %s hour ago + пред %s час %s hours ago @@ -14364,7 +14363,7 @@ src/app/pipes/custom-date.pipe.ts 35 - %s hours ago + пред %s часа %s minute ago @@ -14372,7 +14371,7 @@ src/app/pipes/custom-date.pipe.ts 39 - %s minute ago + пред %s минута %s minutes ago @@ -14380,7 +14379,7 @@ src/app/pipes/custom-date.pipe.ts 40 - %s minutes ago + пред %s минути Just now @@ -14388,7 +14387,7 @@ src/app/pipes/custom-date.pipe.ts 73 - Just now + Токму сега (no title) @@ -14396,7 +14395,7 @@ src/app/pipes/document-title.pipe.ts 11 - (no title) + (без наслов) You have unsaved changes to the document @@ -14404,7 +14403,7 @@ src/app/services/open-documents.service.ts 145 - You have unsaved changes to the document + Имате незачувани промени во документот Are you sure you want to close this document? @@ -14412,7 +14411,7 @@ src/app/services/open-documents.service.ts 149 - Are you sure you want to close this document? + Дали сте сигурни дека сакате да го затворите овој документ? Are you sure you want to close all documents? @@ -14420,7 +14419,7 @@ src/app/services/open-documents.service.ts 172 - Are you sure you want to close all documents? + Дали сте сигурни дека сакате да ги затворите сите документи? Close documents @@ -14428,7 +14427,7 @@ src/app/services/open-documents.service.ts 174 - Close documents + Затвори документи English (US) @@ -14436,7 +14435,7 @@ src/app/services/settings.service.ts 56 - English (US) + Англиски (САД) Afrikaans @@ -14444,7 +14443,7 @@ src/app/services/settings.service.ts 62 - Afrikaans + Африканс Arabic @@ -14452,7 +14451,7 @@ src/app/services/settings.service.ts 68 - Arabic + Арапски Belarusian @@ -14460,7 +14459,7 @@ src/app/services/settings.service.ts 74 - Belarusian + Белоруски Bulgarian @@ -14468,7 +14467,7 @@ src/app/services/settings.service.ts 80 - Bulgarian + Бугарски Catalan @@ -14476,7 +14475,7 @@ src/app/services/settings.service.ts 86 - Catalan + Каталонски Czech @@ -14484,7 +14483,7 @@ src/app/services/settings.service.ts 92 - Czech + Чешки Danish @@ -14492,7 +14491,7 @@ src/app/services/settings.service.ts 98 - Danish + Дански German @@ -14500,7 +14499,7 @@ src/app/services/settings.service.ts 104 - German + Германски Greek @@ -14508,7 +14507,7 @@ src/app/services/settings.service.ts 110 - Greek + Грчки English (GB) @@ -14516,7 +14515,7 @@ src/app/services/settings.service.ts 116 - English (GB) + Англиски (Велика Британија) Spanish @@ -14524,7 +14523,7 @@ src/app/services/settings.service.ts 122 - Spanish + Шпански Finnish @@ -14532,7 +14531,7 @@ src/app/services/settings.service.ts 128 - Finnish + Фински French @@ -14540,7 +14539,7 @@ src/app/services/settings.service.ts 134 - French + Француски Hungarian @@ -14548,7 +14547,7 @@ src/app/services/settings.service.ts 140 - Hungarian + Унгарски Indonesian @@ -14556,7 +14555,7 @@ src/app/services/settings.service.ts 146 - Indonesian + Индонезиски Italian @@ -14564,7 +14563,7 @@ src/app/services/settings.service.ts 152 - Italian + Италијански Japanese @@ -14572,7 +14571,7 @@ src/app/services/settings.service.ts 158 - Japanese + Јапонски Korean @@ -14580,7 +14579,7 @@ src/app/services/settings.service.ts 164 - Korean + Корејски Luxembourgish @@ -14588,7 +14587,7 @@ src/app/services/settings.service.ts 170 - Luxembourgish + Луксембуршки Dutch @@ -14596,7 +14595,7 @@ src/app/services/settings.service.ts 176 - Dutch + Холандски Norwegian @@ -14604,7 +14603,7 @@ src/app/services/settings.service.ts 182 - Norwegian + Норвешки Persian @@ -14612,7 +14611,7 @@ src/app/services/settings.service.ts 188 - Persian + Персиски Polish @@ -14620,7 +14619,7 @@ src/app/services/settings.service.ts 194 - Polish + Полски Portuguese (Brazil) @@ -14628,7 +14627,7 @@ src/app/services/settings.service.ts 200 - Portuguese (Brazil) + Португалски (Бразил) Portuguese @@ -14636,7 +14635,7 @@ src/app/services/settings.service.ts 206 - Portuguese + Португалски Romanian @@ -14644,7 +14643,7 @@ src/app/services/settings.service.ts 212 - Romanian + Романски Russian @@ -14652,7 +14651,7 @@ src/app/services/settings.service.ts 218 - Russian + Руски Slovak @@ -14660,7 +14659,7 @@ src/app/services/settings.service.ts 224 - Slovak + Словачки Slovenian @@ -14668,7 +14667,7 @@ src/app/services/settings.service.ts 230 - Slovenian + Словенечки Serbian @@ -14676,7 +14675,7 @@ src/app/services/settings.service.ts 236 - Serbian + Српски Swedish @@ -14684,7 +14683,7 @@ src/app/services/settings.service.ts 242 - Swedish + Шведски Turkish @@ -14692,7 +14691,7 @@ src/app/services/settings.service.ts 248 - Turkish + Турски Ukrainian @@ -14700,7 +14699,7 @@ src/app/services/settings.service.ts 254 - Ukrainian + Украински Vietnamese @@ -14708,7 +14707,7 @@ src/app/services/settings.service.ts 260 - Vietnamese + Виетнамски Chinese Simplified @@ -14716,7 +14715,7 @@ src/app/services/settings.service.ts 266 - Chinese Simplified + Кинески (поедноставен) Chinese Traditional @@ -14724,7 +14723,7 @@ src/app/services/settings.service.ts 272 - Chinese Traditional + Кинески (традиционален) ISO 8601 @@ -14732,7 +14731,7 @@ src/app/services/settings.service.ts 280 - ISO 8601 + ISO 8601 Successfully completed one-time migratration of settings to the database! @@ -14740,7 +14739,7 @@ src/app/services/settings.service.ts 661 - Successfully completed one-time migratration of settings to the database! + Еднократната миграција на поставките во базата на податоци е успешно завршена! Unable to migrate settings to the database, please try saving manually. @@ -14748,7 +14747,7 @@ src/app/services/settings.service.ts 662 - Unable to migrate settings to the database, please try saving manually. + Поставките не може да се мигрираат во базата на податоци, обидете се да ги зачувате рачно. You can restart the tour from the settings page. @@ -14756,7 +14755,7 @@ src/app/services/settings.service.ts 745 - You can restart the tour from the settings page. + Можете повторно да ја започнете обиколката од страницата за поставки. Undo @@ -14764,7 +14763,7 @@ src/app/services/trash.service.ts 51 - Undo + Врати Connecting... @@ -14772,7 +14771,7 @@ src/app/services/upload-documents.service.ts 40 - Connecting... + Се поврзува... Uploading... @@ -14780,7 +14779,7 @@ src/app/services/upload-documents.service.ts 53 - Uploading... + Се прикачува... Upload complete, waiting... @@ -14788,7 +14787,7 @@ src/app/services/upload-documents.service.ts 57 - Upload complete, waiting... + Прикачувањето е завршено, се чека... HTTP error: @@ -14796,7 +14795,7 @@ src/app/services/upload-documents.service.ts 71 - HTTP error: + HTTP грешка: Document already exists. @@ -14804,7 +14803,7 @@ src/app/services/websocket-status.service.ts 27 - Document already exists. + Документот веќе постои. Document already exists. Note: existing document is in the trash. @@ -14812,7 +14811,7 @@ src/app/services/websocket-status.service.ts 28 - Document already exists. Note: existing document is in the trash. + Документот веќе постои. Забелешка: постојниот документ е во кантата. Document with ASN already exists. @@ -14820,7 +14819,7 @@ src/app/services/websocket-status.service.ts 29 - Document with ASN already exists. + Документ со овој ASN веќе постои. Document with ASN already exists. Note: existing document is in the trash. @@ -14828,7 +14827,7 @@ src/app/services/websocket-status.service.ts 30 - Document with ASN already exists. Note: existing document is in the trash. + Документ со овој ASN веќе постои. Забелешка: постојниот документ е во кантата. File not found. @@ -14836,7 +14835,7 @@ src/app/services/websocket-status.service.ts 31 - File not found. + Датотеката не е пронајдена. Pre-consume script does not exist. @@ -14845,7 +14844,7 @@ 32 Pre-Consume is a term that appears like that in the documentation as well and does not need a specific translation - Pre-consume script does not exist. + Скриптата пред внесување не постои. Error while executing pre-consume script. @@ -14854,7 +14853,7 @@ 33 Pre-Consume is a term that appears like that in the documentation as well and does not need a specific translation - Error while executing pre-consume script. + Грешка при извршување на скриптата пред внесување. Post-consume script does not exist. @@ -14863,7 +14862,7 @@ 34 Post-Consume is a term that appears like that in the documentation as well and does not need a specific translation - Post-consume script does not exist. + Скриптата по внесување не постои. Error while executing post-consume script. @@ -14872,7 +14871,7 @@ 35 Post-Consume is a term that appears like that in the documentation as well and does not need a specific translation - Error while executing post-consume script. + Грешка при извршување на скриптата по внесување. Received new file. @@ -14880,7 +14879,7 @@ src/app/services/websocket-status.service.ts 36 - Received new file. + Примена е нова датотека. File type not supported. @@ -14888,7 +14887,7 @@ src/app/services/websocket-status.service.ts 37 - File type not supported. + Типот на датотека не е поддржан. Processing document... @@ -14896,7 +14895,7 @@ src/app/services/websocket-status.service.ts 38 - Processing document... + Се обработува документот... Generating thumbnail... @@ -14904,7 +14903,7 @@ src/app/services/websocket-status.service.ts 39 - Generating thumbnail... + Се генерира сликичка... Retrieving date from document... @@ -14912,7 +14911,7 @@ src/app/services/websocket-status.service.ts 40 - Retrieving date from document... + Се вчитува датумот од документот... Saving document... @@ -14920,7 +14919,7 @@ src/app/services/websocket-status.service.ts 41 - Saving document... + Се зачувува документот... Finished. @@ -14928,7 +14927,7 @@ src/app/services/websocket-status.service.ts 42 - Finished. + Завршено. Prev @@ -14936,7 +14935,7 @@ src/main.ts 482 - Prev + Претх. End @@ -14944,7 +14943,7 @@ src/main.ts 484 - End + Крај diff --git a/src-ui/src/locale/messages.ms_MY.xlf b/src-ui/src/locale/messages.ms_MY.xlf index 74effec2e5..8934248cdd 100644 --- a/src-ui/src/locale/messages.ms_MY.xlf +++ b/src-ui/src/locale/messages.ms_MY.xlf @@ -11397,22 +11397,22 @@ Sort by - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Edit document - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Preview document + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Edit document + Reset filters / selection diff --git a/src-ui/src/locale/messages.nl_NL.xlf b/src-ui/src/locale/messages.nl_NL.xlf index fe381d8605..e7f9af1dda 100644 --- a/src-ui/src/locale/messages.nl_NL.xlf +++ b/src-ui/src/locale/messages.nl_NL.xlf @@ -11396,22 +11396,22 @@ Sorteer op - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Document bewerken - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Voorbeeld van document + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Document bewerken + Reset filters / selection diff --git a/src-ui/src/locale/messages.no_NO.xlf b/src-ui/src/locale/messages.no_NO.xlf index b5d21e11b3..c43164b54b 100644 --- a/src-ui/src/locale/messages.no_NO.xlf +++ b/src-ui/src/locale/messages.no_NO.xlf @@ -11397,22 +11397,22 @@ Sorter etter - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Rediger dokument - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Forhåndsvis dokument + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Rediger dokument + Reset filters / selection diff --git a/src-ui/src/locale/messages.pl_PL.xlf b/src-ui/src/locale/messages.pl_PL.xlf index 481f40cdf9..f1603b7064 100644 --- a/src-ui/src/locale/messages.pl_PL.xlf +++ b/src-ui/src/locale/messages.pl_PL.xlf @@ -11396,22 +11396,22 @@ Sortuj według - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Edytuj dokument - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Podgląd dokumentu + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Edytuj dokument + Reset filters / selection diff --git a/src-ui/src/locale/messages.pt_BR.xlf b/src-ui/src/locale/messages.pt_BR.xlf index a4faf3981f..0efe5aa480 100644 --- a/src-ui/src/locale/messages.pt_BR.xlf +++ b/src-ui/src/locale/messages.pt_BR.xlf @@ -11398,22 +11398,22 @@ Erro ao enviar documentos por e-mail Ordenar por - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Editar documento - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Prévisualizar documento + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Editar documento + Reset filters / selection diff --git a/src-ui/src/locale/messages.pt_PT.xlf b/src-ui/src/locale/messages.pt_PT.xlf index fec6c3d8cb..6d6e7605ae 100644 --- a/src-ui/src/locale/messages.pt_PT.xlf +++ b/src-ui/src/locale/messages.pt_PT.xlf @@ -11397,22 +11397,22 @@ Sort by - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Editar documento - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Preview document + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Editar documento + Reset filters / selection diff --git a/src-ui/src/locale/messages.ro_RO.xlf b/src-ui/src/locale/messages.ro_RO.xlf index 3cba4cb24c..57a437816b 100644 --- a/src-ui/src/locale/messages.ro_RO.xlf +++ b/src-ui/src/locale/messages.ro_RO.xlf @@ -11396,22 +11396,22 @@ Sortează după - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Editează document - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Previzualizare document + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Editează document + Reset filters / selection diff --git a/src-ui/src/locale/messages.ru_RU.xlf b/src-ui/src/locale/messages.ru_RU.xlf index f343a46f7e..4c942e81de 100644 --- a/src-ui/src/locale/messages.ru_RU.xlf +++ b/src-ui/src/locale/messages.ru_RU.xlf @@ -11396,22 +11396,22 @@ Сортировать по - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Изменить документ - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Предпросмотр документа + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Изменить документ + Reset filters / selection diff --git a/src-ui/src/locale/messages.sk_SK.xlf b/src-ui/src/locale/messages.sk_SK.xlf index 04da57e59f..b6d8310209 100644 --- a/src-ui/src/locale/messages.sk_SK.xlf +++ b/src-ui/src/locale/messages.sk_SK.xlf @@ -11398,22 +11398,22 @@ zhodujúce sa Sort by - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Upraviť dokument - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Preview document + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Upraviť dokument + Reset filters / selection diff --git a/src-ui/src/locale/messages.sl_SI.xlf b/src-ui/src/locale/messages.sl_SI.xlf index c9b39f8757..5278ffbe95 100644 --- a/src-ui/src/locale/messages.sl_SI.xlf +++ b/src-ui/src/locale/messages.sl_SI.xlf @@ -11397,22 +11397,22 @@ Razvrsti po - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Uredi dokument - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Predogled dokumenta + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Uredi dokument + Reset filters / selection diff --git a/src-ui/src/locale/messages.sq_AL.xlf b/src-ui/src/locale/messages.sq_AL.xlf index 343ff74d3a..297540585b 100644 --- a/src-ui/src/locale/messages.sq_AL.xlf +++ b/src-ui/src/locale/messages.sq_AL.xlf @@ -11397,22 +11397,22 @@ Rendit by - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Redakto dokument - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Preview dokument + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Redakto dokument + Reset filters / selection diff --git a/src-ui/src/locale/messages.sr_CS.xlf b/src-ui/src/locale/messages.sr_CS.xlf index 3d28445055..b55e588748 100644 --- a/src-ui/src/locale/messages.sr_CS.xlf +++ b/src-ui/src/locale/messages.sr_CS.xlf @@ -11398,22 +11398,22 @@ Složi prema - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Uredi dokument - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Pregledaj dokument + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Uredi dokument + Reset filters / selection diff --git a/src-ui/src/locale/messages.sv_SE.xlf b/src-ui/src/locale/messages.sv_SE.xlf index fece947377..f2991bcfd4 100644 --- a/src-ui/src/locale/messages.sv_SE.xlf +++ b/src-ui/src/locale/messages.sv_SE.xlf @@ -11396,22 +11396,22 @@ Sortera efter - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Redigera dokument - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Förhandsvisa dokument + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Redigera dokument + Reset filters / selection diff --git a/src-ui/src/locale/messages.th_TH.xlf b/src-ui/src/locale/messages.th_TH.xlf index 9935ab22cc..d3e67f4300 100644 --- a/src-ui/src/locale/messages.th_TH.xlf +++ b/src-ui/src/locale/messages.th_TH.xlf @@ -11397,22 +11397,22 @@ Sort by - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - แก้ไขเอกสาร - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Preview document + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + แก้ไขเอกสาร + Reset filters / selection diff --git a/src-ui/src/locale/messages.tr_TR.xlf b/src-ui/src/locale/messages.tr_TR.xlf index 835917ad99..dc5d487605 100644 --- a/src-ui/src/locale/messages.tr_TR.xlf +++ b/src-ui/src/locale/messages.tr_TR.xlf @@ -11398,22 +11398,22 @@ tüm krite göre sırala - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Belgeyi düzenle - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Belgeyi ön izle + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Belgeyi düzenle + Reset filters / selection diff --git a/src-ui/src/locale/messages.uk_UA.xlf b/src-ui/src/locale/messages.uk_UA.xlf index f9fc7ce0b5..7e0a88c814 100644 --- a/src-ui/src/locale/messages.uk_UA.xlf +++ b/src-ui/src/locale/messages.uk_UA.xlf @@ -11397,22 +11397,22 @@ Sort by - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Редагувати документ - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Попередній перегляд документа + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Редагувати документ + Reset filters / selection diff --git a/src-ui/src/locale/messages.vi_VN.xlf b/src-ui/src/locale/messages.vi_VN.xlf index 7f182a1885..0ed5e952f7 100644 --- a/src-ui/src/locale/messages.vi_VN.xlf +++ b/src-ui/src/locale/messages.vi_VN.xlf @@ -11459,22 +11459,22 @@ Sắp xếp theo - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - Chỉnh sửa tài liệu - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 Xem trước tài liệu + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + Chỉnh sửa tài liệu + Reset filters / selection diff --git a/src-ui/src/locale/messages.zh_CN.xlf b/src-ui/src/locale/messages.zh_CN.xlf index e8bc4bae02..553b74dda3 100644 --- a/src-ui/src/locale/messages.zh_CN.xlf +++ b/src-ui/src/locale/messages.zh_CN.xlf @@ -11396,22 +11396,22 @@ 按 排序 - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - 编辑文档 - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 预览文档 + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + 编辑文档 + Reset filters / selection diff --git a/src-ui/src/locale/messages.zh_TW.xlf b/src-ui/src/locale/messages.zh_TW.xlf index 7b4dd64ad9..71f35e704a 100644 --- a/src-ui/src/locale/messages.zh_TW.xlf +++ b/src-ui/src/locale/messages.zh_TW.xlf @@ -11397,22 +11397,22 @@ 以排序 - - Edit document - - src/app/components/document-list/document-list.component.html - 328 - - 編輯文件 - Preview document src/app/components/document-list/document-list.component.html - 329 + 328 預覽文件 + + Edit document + + src/app/components/document-list/document-list.component.html + 331 + + 編輯文件 + Reset filters / selection diff --git a/src/locale/af_ZA/LC_MESSAGES/django.po b/src/locale/af_ZA/LC_MESSAGES/django.po index 5dc10c587b..0a1b1f0193 100644 --- a/src/locale/af_ZA/LC_MESSAGES/django.po +++ b/src/locale/af_ZA/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:48\n" "Last-Translator: \n" "Language-Team: Afrikaans\n" "Language: af_ZA\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Dokumente" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "Waarde moet geldige JSON wees." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Ongeldige gepasmaakte veldnavraaguitdrukking" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Ongeldige uitdrukking lys. Moet nie leeg wees nie." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Ongeldige logiese uitdrukking {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "" -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "" -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "" -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "" -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "" @@ -1680,7 +1680,7 @@ msgstr "Ongeldige veranderlike bespeur." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1920,40 +1920,40 @@ msgstr "" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/am_ET/LC_MESSAGES/django.po b/src/locale/am_ET/LC_MESSAGES/django.po index 0afb0cdc09..14476d3869 100644 --- a/src/locale/am_ET/LC_MESSAGES/django.po +++ b/src/locale/am_ET/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:48\n" "Last-Translator: \n" "Language-Team: Amharic\n" "Language: am_ET\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "መዝገባት" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "የሚሰራው እሴት \"JSON\" መሆን አለበት" -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "ልክ ያልሆነ የተወሰነ የቦታ መጠይቅ አገላለጽ" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "ልክ ያልሆነ የመግለጫ ዝርዝር። ባዶ መሆን የለበትም።" -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "ልክ ያልሆነ የሎጂክ ኦፕሬተር {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "ከፍተኛው የጥያቄ ሁኔታዎች/መጠን ብዛት አልፏል።" -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} ይሄ ታዐማኒነት ያለው ልማድ አይደለም።" -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "ጥያቄን አይደግፍም expr {expr!r}." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "ከፍተኛው የጥገኝነት ጥልቀት አልፏል።" -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "ይህ ልማድ አልተገኘም" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "" @@ -1680,7 +1680,7 @@ msgstr "" msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1920,40 +1920,40 @@ msgstr "" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/ar_AR/LC_MESSAGES/django.po b/src/locale/ar_AR/LC_MESSAGES/django.po index 409401fc3c..31d252c819 100644 --- a/src/locale/ar_AR/LC_MESSAGES/django.po +++ b/src/locale/ar_AR/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:48\n" "Last-Translator: \n" "Language-Team: Arabic\n" "Language: ar_SA\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "المستندات" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "يجب أن تكون القيمة JSON." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "تعبير استعلام غير صالح للحقول المخصصة" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "قائمة عبارة خاطئة." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "تجاوز الحد الأقصى لعدد شروط الاستعلام." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} حقل مخصص غير صالح." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} لا يدعم تعبير الاستعلام {expr!r}." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "" -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "لم يتم العثور على حقل مخصص" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "" @@ -1680,7 +1680,7 @@ msgstr "اكتشاف متغير خاطئ." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1921,40 +1921,40 @@ msgstr "كخطوة أخيرة، يرجى ملء النموذج التالي:" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/be_BY/LC_MESSAGES/django.po b/src/locale/be_BY/LC_MESSAGES/django.po index f9f1ff3d1a..f7c684b8f0 100644 --- a/src/locale/be_BY/LC_MESSAGES/django.po +++ b/src/locale/be_BY/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:48\n" "Last-Translator: \n" "Language-Team: Belarusian\n" "Language: be_BY\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Дакументы" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "" -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "" -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "" -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "" -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "" -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "" -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "" @@ -1680,7 +1680,7 @@ msgstr "Выяўлена няправільная зменная." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1920,40 +1920,40 @@ msgstr "" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/bg_BG/LC_MESSAGES/django.po b/src/locale/bg_BG/LC_MESSAGES/django.po index 2d15ff98f9..56c69f8f69 100644 --- a/src/locale/bg_BG/LC_MESSAGES/django.po +++ b/src/locale/bg_BG/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:48\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Language: bg_BG\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Документи" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "Стойността трябва да е валидна JSON." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Невалидна заявка на персонализираното полето" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Списък с невалиден израз. Не може да е празно." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Невалиден логически оператор {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "Надвишен е максимален брой за заявки." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} не е валидно персонализирано поле." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} не поддържа заявка expr {expr!r}." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "Надвишена е максималната дълбочина на вмъкване." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Персонализирано поле не е намерено" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "стартиране на работните процеси" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "" @@ -1680,7 +1680,7 @@ msgstr "Засечена е невалидна променлива." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1921,40 +1921,40 @@ msgstr "Като последна стъпка, моля, попълнете с msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/ca_ES/LC_MESSAGES/django.po b/src/locale/ca_ES/LC_MESSAGES/django.po index fbae005f93..00988d1d34 100644 --- a/src/locale/ca_ES/LC_MESSAGES/django.po +++ b/src/locale/ca_ES/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:48\n" "Last-Translator: \n" "Language-Team: Catalan\n" "Language: ca_ES\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Documents " -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "Valor ha de ser un JSON valid." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Expressió de camp de consulta invàlid" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Expressió de llista invàlida. No ha d'estar buida." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Invàlid operand lògic {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "Condicions de consulta excedits." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} no és un camp personalitzat vàlid." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} no suporta expressió de consulta {expr!r}." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "Màxima profunditat anidada excedida." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Camp personalitzat no trobat" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "flux corrents" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "Permisos insuficients." @@ -1680,7 +1680,7 @@ msgstr "Variable detectada invàlida." msgid "Duplicate document identifiers are not allowed." msgstr "Duplicat d'identificadors de documents no permès." -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "Documents no trobats: %(ids)s" @@ -1921,40 +1921,40 @@ msgstr "Com a pas final, completa el següent formulari:" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "Especifica només un dels següents valors: text, title_search, query o more_like_id." -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "Invalid more_like_id" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "Configuració AI invàlida." -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Permisos insuficients per compartir document %(id)s." -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "Paquet ja s'està processant." -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "El paquet de link encarà s'està preparant. Prova de nou més tard." -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "El paquet d'enllaç no està disponible." diff --git a/src/locale/cs_CZ/LC_MESSAGES/django.po b/src/locale/cs_CZ/LC_MESSAGES/django.po index ca026a859d..9d9564cb91 100644 --- a/src/locale/cs_CZ/LC_MESSAGES/django.po +++ b/src/locale/cs_CZ/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:48\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Dokumenty" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "Hodnota musí být platný JSON." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Neplatný výraz dotazu na vlastní pole" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Neplatný seznam výrazů. Nesmí být prázdný." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Neplatný logický operátor {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "Překročen maximální počet podmínek dotazu." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} není platné vlastní pole." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} nepodporuje výraz dotazu {expr!r}." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "Překročena maximální hloubka větvení." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Vlastní pole nebylo nalezeno" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "spuštění pracovních postupů" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "Nedostatečná oprávnění." @@ -1680,7 +1680,7 @@ msgstr "Zjištěna neplatná proměnná." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1921,40 +1921,40 @@ msgstr "Jako poslední krok vyplňte následující formulář:" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Nedostatečná oprávnění ke sdílení dokumentu %(id)s." -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/da_DK/LC_MESSAGES/django.po b/src/locale/da_DK/LC_MESSAGES/django.po index 9b0e385316..9b91858a71 100644 --- a/src/locale/da_DK/LC_MESSAGES/django.po +++ b/src/locale/da_DK/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:48\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Dokumenter" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "Værdien skal være gyldig JSON." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Ugyldigt tilpasset feltforespørgselsudtryk" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Ugyldig udtryksliste. Må ikke være tom." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Ugyldig logisk operatør {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "Maksimalt antal forespørgselsbetingelser overskredet." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} er ikke et gyldigt tilpasset felt." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} understøtter ikke forespørgsel expr {expr!r}." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "Maksimal indlejringsdybde overskredet." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Tilpasset felt ikke fundet" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "workflow-kørsler" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "" @@ -1680,7 +1680,7 @@ msgstr "Ugyldig variabel fundet." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1921,40 +1921,40 @@ msgstr "Som sidste trin, udfyld venligst flg. formular:" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/de_CH/LC_MESSAGES/django.po b/src/locale/de_CH/LC_MESSAGES/django.po index 58e73f66b2..0dfed675de 100644 --- a/src/locale/de_CH/LC_MESSAGES/django.po +++ b/src/locale/de_CH/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:48\n" "Last-Translator: \n" "Language-Team: German, Switzerland\n" "Language: de_CH\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Dokumente" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "Wert muss gültiges JSON sein." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Ungültiger benutzerdefinierter Feldabfrageausdruck" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Ungültige Ausdrucksliste. Darf nicht leer sein." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Ungültiger logischer Operator {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "Maximale Anzahl an Abfragebedingungen überschritten." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} ist kein gültiges Zusatzfeld." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} unterstützt den Abfrageausdruck {expr!r} nicht." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "Maximale Verschachtelungstiefe überschritten." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Benutzerdefiniertes Feld nicht gefunden" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "Arbeitsablauf wird ausgeführt" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "Unzureichende Berechtigungen." @@ -1680,7 +1680,7 @@ msgstr "Ungültige Variable erkannt." msgid "Duplicate document identifiers are not allowed." msgstr "Doppelte Dokumentbezeichner sind nicht erlaubt." -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "Dokumente nicht gefunden: %(ids)s" @@ -1921,40 +1921,40 @@ msgstr "Bitte füllen Sie zum Abschluss folgendes Formular aus:" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "Geben Sie nur einen von text, title_search, query, oder more_like_id an." -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "Ungültige more_like_id" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "Ungültige KI-Konfiguration." -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Unzureichende Berechtigungen, um Dokument %(id)s zu teilen." -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "Paket wird bereits verarbeitet." -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "Das Freigabelink-Paket wird noch vorbereitet. Bitte versuchen Sie es später erneut." -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "Das Freigabelink-Paket ist nicht verfügbar." diff --git a/src/locale/de_DE/LC_MESSAGES/django.po b/src/locale/de_DE/LC_MESSAGES/django.po index 060cdc127e..1d9a1a23d2 100644 --- a/src/locale/de_DE/LC_MESSAGES/django.po +++ b/src/locale/de_DE/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:48\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Dokumente" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." -msgstr "" +msgstr "Datum oder ein relatives Datum erwartet, wie etwa „heute“ oder „in 30 Tagen“." -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "Wert muss gültiges JSON sein." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Ungültiger Zusatzfeld-Abfrageausdruck" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Ungültige Ausdrucksliste. Darf nicht leer sein." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Ungültiger logischer Operator {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "Maximale Anzahl an Abfragebedingungen überschritten." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} ist kein gültiges Zusatzfeld." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} unterstützt den Abfrageausdruck {expr!r} nicht." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "Maximale Verschachtelungstiefe überschritten." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Zusatzfeld nicht gefunden" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "Arbeitsablauf wird ausgeführt" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "Unzureichende Berechtigungen." @@ -1680,7 +1680,7 @@ msgstr "Ungültige Variable erkannt." msgid "Duplicate document identifiers are not allowed." msgstr "Doppelte Dokumentbezeichner sind nicht erlaubt." -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "Dokumente nicht gefunden: %(ids)s" @@ -1921,40 +1921,40 @@ msgstr "Bitte füllen Sie zum Abschluss folgendes Formular aus:" msgid ", " msgstr ", " -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "Geben Sie nur einen von text, title_search, query, oder more_like_id an." -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "Ungültige more_like_id" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "Ungültige KI-Konfiguration." -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "Zeitüberschreitung bei der KI-Backendanfrage." -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "Das KI-Backend hat die Anfrage abgelehnt. Details in den Protokollen." -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Unzureichende Berechtigungen, um Dokument %(id)s zu teilen." -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "Paket wird bereits verarbeitet." -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "Das Freigabelink-Paket wird noch vorbereitet. Bitte versuchen Sie es später erneut." -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "Das Freigabelink-Paket ist nicht verfügbar." diff --git a/src/locale/el_GR/LC_MESSAGES/django.po b/src/locale/el_GR/LC_MESSAGES/django.po index d10a866468..40e21f3c8c 100644 --- a/src/locale/el_GR/LC_MESSAGES/django.po +++ b/src/locale/el_GR/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:48\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Έγγραφα" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "Η τιμή πρέπει να είναι σε έγκυρη μορφή JSON." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Μη έγκυρη έκφραση προσαρμοσμένου ερωτήματος πεδίου" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Μη έγκυρη λίστα έκφρασης. Πρέπει να είναι μη κενή." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Μη έγκυρος λογικός τελεστής {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "Υπέρβαση μέγιστου αριθμού συνθηκών ερωτήματος." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "Το προσαρμοσμένο πεδίο {name!r} δεν είναι ένα έγκυρο." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "Το {data_type} δεν υποστηρίζει το ερώτημα expr {expr!r}s." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "Υπέρβαση μέγιστου βάθους εμφώλευσης." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Το προσαρμοσμένο πεδίο δε βρέθηκε" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "εκτελέσεις ροής εργασίας" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "" @@ -1680,7 +1680,7 @@ msgstr "Εντοπίστηκε μη έγκυρη μεταβλητή." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1921,40 +1921,40 @@ msgstr "Ως τελικό βήμα, παρακαλούμε να συμπληρώ msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/es_ES/LC_MESSAGES/django.po b/src/locale/es_ES/LC_MESSAGES/django.po index bbd3d612fd..dc504b83ef 100644 --- a/src/locale/es_ES/LC_MESSAGES/django.po +++ b/src/locale/es_ES/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:49\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Documentos" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "El valor debe ser un JSON válido." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Expresión de consulta de campo personalizado no válida" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Lista de expresiones no válida. No debe estar vacía." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Operador lógico inválido {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "Se ha superado el número máximo de condiciones de consulta." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{nombre!r} no es un campo personalizado válido." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} no admite la consulta expr {expr!r}." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "Profundidad máxima de nidificación superada." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Campo personalizado no encontrado" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "ejecuciones de flujo de trabajo" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "Permisos insuficientes." @@ -1680,7 +1680,7 @@ msgstr "Variable inválida." msgid "Duplicate document identifiers are not allowed." msgstr "No se permiten identificadores de documento duplicados." -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "Documentos no encontrados: %(ids)s" @@ -1921,40 +1921,40 @@ msgstr "Como último paso, por favor complete el siguiente formulario:" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "Especifique solo uno entre text, title_search, query, o more_like_id." -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "Configuración de IA inválida." -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Permisos insuficientes para compartir el documento %(id)s." -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "El paquete ya está siendo procesado." -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "El paquete de enlace compartido aún está siendo preparado. Por favor, inténtalo de nuevo más tarde." -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "El paquete de enlace compartido no está disponible." diff --git a/src/locale/et_EE/LC_MESSAGES/django.po b/src/locale/et_EE/LC_MESSAGES/django.po index 669043be51..74c1ae1d57 100644 --- a/src/locale/et_EE/LC_MESSAGES/django.po +++ b/src/locale/et_EE/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:48\n" "Last-Translator: \n" "Language-Team: Estonian\n" "Language: et_EE\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Dokumendid" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "Väärtus peab olema lubatav JSON." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Vigane kohandatud välja päringu avaldis" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Vigane avaldiste loend. Peab olema mittetühi." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Vigane loogikaoperaator {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "Päringutingimuste suurim hulk on ületatud." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} ei ole lubatud kohandatud väli." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} ei toeta päringu avaldist {expr!r}." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "Suurim pesastamis sügavus ületatud." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Kohandatud välja ei leitud" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "" @@ -1680,7 +1680,7 @@ msgstr "" msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1920,40 +1920,40 @@ msgstr "" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/fa_IR/LC_MESSAGES/django.po b/src/locale/fa_IR/LC_MESSAGES/django.po index 6d1d947a93..a7f2ef0b60 100644 --- a/src/locale/fa_IR/LC_MESSAGES/django.po +++ b/src/locale/fa_IR/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:49\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "اسناد و مدارک" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "مقدار باید JSON معتبر باشد." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Invalid custom field query expression" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "لیست عبارت‌ها نامعتبر است. نباید خالی باشد." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "حداکثر تعداد شرایط پرس و جو از آن فراتر رفته است." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{نام! R} یک زمینه سفارشی معتبر نیست." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "" -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "حداکثر عمق تودرتویی بیش از حد مجاز است." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "زمینه سفارشی یافت نشد" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "گردش کار اجرا می شود" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "" @@ -1680,7 +1680,7 @@ msgstr "متغیر نامعتبر شناسایی شده است." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1920,40 +1920,40 @@ msgstr "به عنوان مرحله آخر ، لطفاً فرم زیر را تک msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/fi_FI/LC_MESSAGES/django.po b/src/locale/fi_FI/LC_MESSAGES/django.po index 499da6471c..dd94f089ca 100644 --- a/src/locale/fi_FI/LC_MESSAGES/django.po +++ b/src/locale/fi_FI/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:48\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Asiakirjat" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "Arvon on oltava kelvollista JSON:ia." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "" -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "" -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "" -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "" -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "" -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "" @@ -1680,7 +1680,7 @@ msgstr "Virheellinen muuttuja havaittu." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1921,40 +1921,40 @@ msgstr "" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/fr_FR/LC_MESSAGES/django.po b/src/locale/fr_FR/LC_MESSAGES/django.po index 4ff122b4ff..6d62ca8635 100644 --- a/src/locale/fr_FR/LC_MESSAGES/django.po +++ b/src/locale/fr_FR/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:48\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Documents" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "La valeur doit être un JSON valide." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Requête de champ personnalisé invalide" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Liste d'expressions invalide. Doit être non vide." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Opérateur logique {op!r} invalide" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "Nombre maximum de conditions dans la requête dépassé." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} n'est pas un champ personnalisé valide." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} ne supporte pas l'expression {expr!r}." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "Profondeur de récursion maximale dépassée." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Champ personnalisé non trouvé" @@ -310,7 +310,7 @@ msgstr "Mallette" #: documents/models.py:580 msgid "Building" -msgstr "Batîment" +msgstr "Bâtiment" #: documents/models.py:581 msgid "Calculator" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "le flux de travail s'exécute" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "Droits insuffisants." @@ -1680,7 +1680,7 @@ msgstr "Variable invalide détectée." msgid "Duplicate document identifiers are not allowed." msgstr "Les identificateurs de document en double ne sont pas autorisés." -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "Documents introuvables : %(ids)s" @@ -1920,40 +1920,40 @@ msgstr "Pour finir, veuillez remplir le formulaire suivant :" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "Spécifiez seulement un texte, titre, recherche ou more_like_id." -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "More_like_id invalide" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "Configuration IA invalide." -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "La requête d'arrière-plan IA a expiré." -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Droits d'accès insuffisant pour partager %(id)s document." -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "Le paquet est déjà en cours de traitement." -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "Le lot de liens de partage est en cours de préparation. Veuillez réessayer plus tard." -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "Le lot de liens de partage n'est pas disponible." diff --git a/src/locale/he_IL/LC_MESSAGES/django.po b/src/locale/he_IL/LC_MESSAGES/django.po index 158585f0d4..af2fdf6232 100644 --- a/src/locale/he_IL/LC_MESSAGES/django.po +++ b/src/locale/he_IL/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:49\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "מסמכים" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "ערך חייב להיות JSON תקין." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "ביטוי שאילתה לא חוקי של שדה מותאם אישית" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "רשימת ביטויים לא חוקית. חייב לכלול ערך." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "סימן פעולה לוגית לא חוקי {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "חריגה ממספר תנאי השאילתה המרבי." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} הוא לא שדה מותאם אישית חוקי." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} לא תומך בביטוי שאילתה {expr!r}." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "חריגה מעומק הקינון המרבי." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "שדה מותאם אישית לא נמצא" @@ -1641,7 +1641,7 @@ msgid "workflow runs" msgstr "הרצות זרימת עבודה" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "הרשאות אינן מספיקות." @@ -1681,7 +1681,7 @@ msgstr "משתנה לא חוקי זוהה." msgid "Duplicate document identifiers are not allowed." msgstr "מזהי מסמכים כפולים אינם מורשים." -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "מסמכים לא נמצאו: %(ids)s" @@ -1922,40 +1922,40 @@ msgstr ": כצעד אחרון, אנא מלא את הטופס הבא:" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "יש לציין רק אחד מהבאים: text‏, title_search‏, query או more_like_id." -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "מזהה more_like_id אינו תקין" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "הגדרות בינה מלאכותית שגויות." -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "הרשאות לא מספיקות לשיתוף מסמך %(id)s." -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "החבילה (Bundle) כבר נמצאת בתהליך עיבוד." -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "חבילת קישור השיתוף עדיין בהכנה. נא לנסות שוב מאוחר יותר." -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "חבילת קישור השיתוף אינה זמינה." diff --git a/src/locale/hi_IN/LC_MESSAGES/django.po b/src/locale/hi_IN/LC_MESSAGES/django.po index 839b7dfebc..ca2cf38fe8 100644 --- a/src/locale/hi_IN/LC_MESSAGES/django.po +++ b/src/locale/hi_IN/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:49\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Language: hi_IN\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "दस्तावेज़" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "मान वैध JSON होना चाहिए." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "अमान्य कस्टम फ़ील्ड क्वेरी एक्सप्रेशन" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "अमान्य एक्सप्रेशन सूची। खाली नहीं होनी चाहिए।" -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "अमान्य लॉजिकल ऑपरेटर {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "क्वेरी शर्तों की अधिकतम संख्या पार हो गई है।" -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} यह एक वैध कस्टम फ़ील्ड नहीं है।" -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} क्वेरी एक्सप्रेशन {expr!r} का समर्थन नहीं करता है।" -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "अधिकतम नेस्टिंग डेप्थ पार हो गई है।" -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "कस्टम फ़ील्ड नहीं मिला" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "" @@ -1680,7 +1680,7 @@ msgstr "" msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1920,40 +1920,40 @@ msgstr "" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/hr_HR/LC_MESSAGES/django.po b/src/locale/hr_HR/LC_MESSAGES/django.po index ed1fdb7925..6f3d4f5e04 100644 --- a/src/locale/hr_HR/LC_MESSAGES/django.po +++ b/src/locale/hr_HR/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:48\n" "Last-Translator: \n" "Language-Team: Croatian\n" "Language: hr_HR\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Dokumenti" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "Vrijednost mora biti važeći JSON." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Nevažeći izraz upita prilagođenog polja" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Nevažeći popis izraza. Ne smije biti prazno." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Nevažeći logički operator {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "Previše uvjeta u upitu." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} nije važeće prilagođeno polje." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} ne podržava upit izraz {expr!r}." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "Premašena je najveća razina ugniježđivanja." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Prilagođeno polje nije pronađeno" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "tijek rada pokrenut" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "Nedovoljne ovlasti." @@ -1680,7 +1680,7 @@ msgstr "Otkrivena je nevaljana vrsta datoteke." msgid "Duplicate document identifiers are not allowed." msgstr "Duplicirani identifikatori dokumenata nisu dopušteni." -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "Dokumenti nisu pronađeni: %(ids)s" @@ -1921,40 +1921,40 @@ msgstr "Kao posljednji korak ispunite sljedeći obrazac:" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "Navedite samo jedno od: text, title_search, query ili more_like_id." -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "Nevažeći more_like_id" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "Nevažeća AI konfiguracija." -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "Zahtjev prema AI pozadinskom sustavu je istekao." -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "AI pozadinski sustav je odbio zahtjev. Provjerite zapise (logs) za više detalja." -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Nedovoljne ovlasti za dijeljenje dokumenta %(id)s." -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "Paket se već obrađuje." -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "Paket linka za dijeljenje se još priprema. Pokušajte ponovo kasnije." -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "Paket linka za dijeljenje nije dostupan." diff --git a/src/locale/hu_HU/LC_MESSAGES/django.po b/src/locale/hu_HU/LC_MESSAGES/django.po index e03ab0a2d3..c6138161b1 100644 --- a/src/locale/hu_HU/LC_MESSAGES/django.po +++ b/src/locale/hu_HU/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:49\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Dokumentumok" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "Érvényes JSON érték szükséges." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Érvénytelen egyéni mező lekérdezési kifejezés" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Érvénytelen kifejezéslista. Nem lehet üres." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Érvénytelen logikai operátor {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "Maximum lekérdezési feltételszám átlépve." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} nem érvényes egyéni mező." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "A(z) {data_type} nem támogatja a {expr!r} kifejezés lekérdezést." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "Maximum beágyazási mélység túllépve." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Az egyéni mező nem található" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "munkafolyamat futtatások" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "Nincs jogosúltsága." @@ -1680,7 +1680,7 @@ msgstr "Érvénytelen változó észlelve." msgid "Duplicate document identifiers are not allowed." msgstr "A dokumentumazonosítók duplikálása nem megengedett." -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "Dokumentumok nem találhatók: %(ids)s" @@ -1921,40 +1921,40 @@ msgstr "Utolsó lépésként kérjük válaszoljon az alábbi kérdésekre:" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "A text, title_search, query, vagy more_like_id közül csak egyet adjon meg." -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "Érvénytelen more_like_id" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "Érvénytelen MI konfiguráció." -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Nincs megfelelő jogosultság a %(id)s dokumentum megosztásához." -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "A csomag feldolgozása már folyamatban van." -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "A megosztási linkcsomag készítése folyamatban. Kérjük, próbálja meg később." -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "A megosztási linkcsomag nem elérhető." diff --git a/src/locale/id_ID/LC_MESSAGES/django.po b/src/locale/id_ID/LC_MESSAGES/django.po index 1bd42accfd..fb513fbeef 100644 --- a/src/locale/id_ID/LC_MESSAGES/django.po +++ b/src/locale/id_ID/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:49\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Dokumen" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "Nilai harus berupa JSON yang valid." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Ekspresi pencarian bidang khusus tidak valid" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Daftar ekspresi tidak valid. Tidak boleh kosong." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Operator logika {op!r} tidak valid" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "Jumlah maksimal kondisi pencarian terlampaui." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} bukan bidang khusus yang valid." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} tidak mendukung ekspresi pencarian expr {expr!r}." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "Kedalaman susunan maksimal terlampaui." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Bidang khusus tidak ditemukan" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "daftar jalankan alur kerja" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "Izin tidak mencukupi" @@ -1680,7 +1680,7 @@ msgstr "Variabel ilegal terdeteksi." msgid "Duplicate document identifiers are not allowed." msgstr "Penggunaan pengenal dokumen ganda tidak diperbolehkan." -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "Dokumen tidak ditemukan: %(ids)s" @@ -1921,40 +1921,40 @@ msgstr "Sebagai langkah terakhir, mohon formulir berikut:" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Izin tidak mencukupi untuk berbagi dokumen %(id)s" -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "Paket sedang diproses." -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "Bundel tautan berbagi masih dalam proses persiapan. Silakan coba lagi nanti." -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "Bundel tautan berbagi tidak tersedia." diff --git a/src/locale/it_IT/LC_MESSAGES/django.po b/src/locale/it_IT/LC_MESSAGES/django.po index 3a5d9e7d2c..5f36d92d4a 100644 --- a/src/locale/it_IT/LC_MESSAGES/django.po +++ b/src/locale/it_IT/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:49\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Documenti" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "Il valore deve essere un JSON valido." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Campo personalizzato della query non valido" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Elenco delle espressioni non valido. Deve essere non vuoto." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Operatore logico non valido {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "Numero massimo di condizioni di query superato." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} non è un campo personalizzato valido." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} Non supporta la jQuery Expo {Expo!r}." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "Profondità massima di nidificazione superata." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Campo personalizzato non trovato" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "esecuzioni del flusso di lavoro" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "Autorizzazioni insufficienti." @@ -1680,7 +1680,7 @@ msgstr "Variabile non valida rilevata." msgid "Duplicate document identifiers are not allowed." msgstr "Non sono consentiti identificatori di documenti duplicati." -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "Documenti non trovati: %(ids)s" @@ -1921,40 +1921,40 @@ msgstr "Come ultimo passo, compila il seguente modulo:" msgid ", " msgstr ", " -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "Specificare solo uno tra text, title_search, query o more_like_id." -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "more_like_id non valido" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "Configurazione AI non valida." -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "Richiesta di backend AI scaduta." -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "Il backend IA ha rifiutato la richiesta. Controlla i log per i dettagli." -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Autorizzazioni insufficienti per condividere il documento %(id)s." -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "Il pacchetto è già in fase di elaborazione." -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "Il pacchetto di link di condivisione è ancora in fase di preparazione. Riprova più tardi." -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "Il pacchetto di link di condivisione non è disponibile." diff --git a/src/locale/ja_JP/LC_MESSAGES/django.po b/src/locale/ja_JP/LC_MESSAGES/django.po index 83f8ff882c..4ec8939282 100644 --- a/src/locale/ja_JP/LC_MESSAGES/django.po +++ b/src/locale/ja_JP/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:49\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "ドキュメント" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "値は有効なJSONである必要があります。" -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "無効なカスタムフィールドクエリ式" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "無効な式リストです。空であってはなりません。" -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "無効な論理演算子 {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "クエリ条件の最大数を超えました。" -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} は有効なカスタムフィールドではありません。" -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} はクエリ expr {expr!r} をサポートしていません。" -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "最大ネストの深さを超えました。" -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "カスタムフィールドが見つかりません" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "ワークフローの実行" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "" @@ -1680,7 +1680,7 @@ msgstr "無効な変数を検出しました" msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1921,40 +1921,40 @@ msgstr "最後のステップとして、以下のフォームに記入してく msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/ko_KR/LC_MESSAGES/django.po b/src/locale/ko_KR/LC_MESSAGES/django.po index 3cb4528dec..b92f23b941 100644 --- a/src/locale/ko_KR/LC_MESSAGES/django.po +++ b/src/locale/ko_KR/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:49\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "문서" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "값은 유효한 JSON이어야 합니다." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "잘못된 사용자 정의 필드 쿼리 표현식" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "잘못된 표현식 목록입니다. 비어 있지 않아야 합니다." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "잘못된 논리 연산자 {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "쿼리 조건의 최대 개수를 초과했습니다." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} 은 잘못된 사용자 정의 필드입니다." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type}은 쿼리 표현식 {expr!r}을(를) 지원하지 않습니다." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "최대 중첩 깊이를 초과했습니다." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "사용자 지정 필드를 찾을 수 없음" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "워크플로우 실행" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "" @@ -1680,7 +1680,7 @@ msgstr "잘못된 변수가 감지되었습니다." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1921,40 +1921,40 @@ msgstr "마지막 단계로 다음 양식을 작성해 주세요:" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/lb_LU/LC_MESSAGES/django.po b/src/locale/lb_LU/LC_MESSAGES/django.po index bf828fe517..0f7d98d002 100644 --- a/src/locale/lb_LU/LC_MESSAGES/django.po +++ b/src/locale/lb_LU/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:49\n" "Last-Translator: \n" "Language-Team: Luxembourgish\n" "Language: lb_LU\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Dokumenter" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "" -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "" -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "" -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "" -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "" -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "" -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "" @@ -1680,7 +1680,7 @@ msgstr "Ongëlteg Zeechen detektéiert." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1920,40 +1920,40 @@ msgstr "" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/lt_LT/LC_MESSAGES/django.po b/src/locale/lt_LT/LC_MESSAGES/django.po index 00a439a5e0..59f050eb78 100644 --- a/src/locale/lt_LT/LC_MESSAGES/django.po +++ b/src/locale/lt_LT/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:49\n" "Last-Translator: \n" "Language-Team: Lithuanian\n" "Language: lt_LT\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Dokumentai" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "Reikšmė turi būti galiojantis JSON." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Neteisinga pasirinktinio lauko užklausos išraiška" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Neteisingas išraiškos sąrašas. Jis turi būti netuščias." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Neteisingas loginis operatorius {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "Viršytas maksimalus užklausos sąlygų skaičius." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} nėra galiojantis pasirinktas laukas." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} nepalaiko užklausos išraiškos {expr!r}." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "Viršytas maksimalus įdėjimo gylis." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Pasirinktinis laukas nerastas" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "" @@ -1680,7 +1680,7 @@ msgstr "" msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1920,40 +1920,40 @@ msgstr "Galiausiai užpildykite šią formą:" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Nepakanka leidimų bendrinti dokumentą %(id)s." -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "Rinkinys jau apdorojamas." -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "Bendrinimo nuorodų rinkinys vis dar ruošiamas. Bandykite dar kartą vėliau." -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "Dalinimos nuorodų rinkinys yra nepasiekiamas." diff --git a/src/locale/lv_LV/LC_MESSAGES/django.po b/src/locale/lv_LV/LC_MESSAGES/django.po index d576d18012..115820edef 100644 --- a/src/locale/lv_LV/LC_MESSAGES/django.po +++ b/src/locale/lv_LV/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:49\n" "Last-Translator: \n" "Language-Team: Latvian\n" "Language: lv_LV\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Dokuments" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "" -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "" -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "" -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "" -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "" -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "" -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "" @@ -1680,7 +1680,7 @@ msgstr "" msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1920,40 +1920,40 @@ msgstr "" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/mk_MK/LC_MESSAGES/django.po b/src/locale/mk_MK/LC_MESSAGES/django.po index bac3755228..07cadd628a 100644 --- a/src/locale/mk_MK/LC_MESSAGES/django.po +++ b/src/locale/mk_MK/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:49\n" "Last-Translator: \n" "Language-Team: Macedonian\n" "Language: mk_MK\n" @@ -19,2713 +19,2714 @@ msgstr "" #: documents/apps.py:8 msgid "Documents" -msgstr "" +msgstr "Документи" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." -msgstr "" +msgstr "Очекуван е датум или релативен датум како „денес“ или „за 30 дена“." -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." -msgstr "" +msgstr "Вредноста мора да биде валиден JSON." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" -msgstr "" +msgstr "Невалиден израз за пребарување на сопствено поле" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." -msgstr "" +msgstr "Невалидна листа на изрази. Не смее да биде празна." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" -msgstr "" +msgstr "Невалиден логички оператор {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." -msgstr "" +msgstr "Надминат е максималниот број на услови за пребарување." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." -msgstr "" +msgstr "{name!r} не е валидно сопствено поле." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." -msgstr "" +msgstr "{data_type} не поддржува израз за пребарување {expr!r}." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." -msgstr "" +msgstr "Надмината е максималната длабочина на вгнездување." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" -msgstr "" +msgstr "Сопственото поле не е пронајдено" #: documents/models.py:40 documents/models.py:1122 documents/models.py:1170 msgid "owner" -msgstr "" +msgstr "сопственик" #: documents/models.py:57 documents/models.py:1468 msgid "None" -msgstr "" +msgstr "Ништо" #: documents/models.py:58 documents/models.py:1469 msgid "Any word" -msgstr "" +msgstr "Било кој збор" #: documents/models.py:59 documents/models.py:1470 msgid "All words" -msgstr "" +msgstr "Сите зборови" #: documents/models.py:60 documents/models.py:1471 msgid "Exact match" -msgstr "" +msgstr "Точно совпаѓање" #: documents/models.py:61 documents/models.py:1472 msgid "Regular expression" -msgstr "" +msgstr "Регуларен израз" #: documents/models.py:62 documents/models.py:1473 msgid "Fuzzy word" -msgstr "" +msgstr "Приближен збор" #: documents/models.py:63 msgid "Automatic" -msgstr "" +msgstr "Автоматски" #: documents/models.py:66 documents/models.py:654 documents/models.py:2094 #: paperless_mail/models.py:23 paperless_mail/models.py:143 msgid "name" -msgstr "" +msgstr "име" #: documents/models.py:68 documents/models.py:1537 msgid "match" -msgstr "" +msgstr "совпаѓање" #: documents/models.py:71 documents/models.py:1540 msgid "matching algorithm" -msgstr "" +msgstr "алгоритам за совпаѓање" #: documents/models.py:76 documents/models.py:1545 msgid "is insensitive" -msgstr "" +msgstr "не разликува големи и мали букви" #: documents/models.py:99 documents/models.py:169 msgid "correspondent" -msgstr "" +msgstr "кореспондент" #: documents/models.py:100 msgid "correspondents" -msgstr "" +msgstr "кореспонденти" #: documents/models.py:104 msgid "color" -msgstr "" +msgstr "боја" #: documents/models.py:109 msgid "is inbox tag" -msgstr "" +msgstr "е ознака за влезно сандаче" #: documents/models.py:112 msgid "Marks this tag as an inbox tag: All newly consumed documents will be tagged with inbox tags." -msgstr "" +msgstr "Означува дека оваа ознака е ознака за влезно сандаче: Сите нововнесени документи ќе бидат означени со ознаки за влезно сандаче." #: documents/models.py:118 msgid "tag" -msgstr "" +msgstr "ознака" #: documents/models.py:119 documents/models.py:216 msgid "tags" -msgstr "" +msgstr "ознаки" #: documents/models.py:125 msgid "Cannot set itself as parent." -msgstr "" +msgstr "Не може да се постави себеси како родител." #: documents/models.py:127 msgid "Cannot set parent to a descendant." -msgstr "" +msgstr "Не може да се постави потомок како родител." #: documents/models.py:144 documents/models.py:189 msgid "document type" -msgstr "" +msgstr "вид на документ" #: documents/models.py:145 msgid "document types" -msgstr "" +msgstr "видови на документи" #: documents/models.py:150 msgid "path" -msgstr "" +msgstr "патека" #: documents/models.py:154 documents/models.py:178 msgid "storage path" -msgstr "" +msgstr "складишна патека" #: documents/models.py:155 msgid "storage paths" -msgstr "" +msgstr "складишни патеки" #: documents/models.py:181 msgid "title" -msgstr "" +msgstr "наслов" #: documents/models.py:193 documents/models.py:955 msgid "content" -msgstr "" +msgstr "содржина" #: documents/models.py:196 msgid "The raw, text-only data of the document. This field is primarily used for searching." -msgstr "" +msgstr "Изворните текстуални податоци на документот. Ова поле првенствено се користи за пребарување." #: documents/models.py:210 msgid "mime type" -msgstr "" +msgstr "MIME тип" #: documents/models.py:220 msgid "checksum" -msgstr "" +msgstr "контролна сума" #: documents/models.py:224 msgid "The checksum of the original document." -msgstr "" +msgstr "Контролната сума на оригиналниот документ." #: documents/models.py:228 msgid "archive checksum" -msgstr "" +msgstr "контролна сума на архивата" #: documents/models.py:234 msgid "The checksum of the archived document." -msgstr "" +msgstr "Контролната сума на архивираниот документ." #: documents/models.py:238 msgid "page count" -msgstr "" +msgstr "број на страници" #: documents/models.py:245 msgid "The number of pages of the document." -msgstr "" +msgstr "Бројот на страници на документот." #: documents/models.py:250 documents/models.py:961 documents/models.py:1080 #: documents/models.py:1142 documents/models.py:1270 documents/models.py:1329 msgid "created" -msgstr "" +msgstr "создадено" #: documents/models.py:256 msgid "modified" -msgstr "" +msgstr "изменето" #: documents/models.py:263 msgid "added" -msgstr "" +msgstr "додадено" #: documents/models.py:270 msgid "filename" -msgstr "" +msgstr "име на датотека" #: documents/models.py:276 msgid "Current filename in storage" -msgstr "" +msgstr "Тековно име на датотеката во складиштето" #: documents/models.py:280 msgid "archive filename" -msgstr "" +msgstr "име на архивската датотека" #: documents/models.py:286 msgid "Current archive filename in storage" -msgstr "" +msgstr "Тековно име на архивската датотека во складиштето" #: documents/models.py:290 msgid "original filename" -msgstr "" +msgstr "оригинално име на датотека" #: documents/models.py:296 msgid "The original name of the file when it was uploaded" -msgstr "" +msgstr "Оригиналното име на датотеката при прикачувањето" #: documents/models.py:303 msgid "archive serial number" -msgstr "" +msgstr "архивски сериски број" #: documents/models.py:313 msgid "The position of this document in your physical document archive." -msgstr "" +msgstr "Позицијата на овој документ во вашата физичка архива на документи." #: documents/models.py:323 msgid "root document for this version" -msgstr "" +msgstr "коренски документ за оваа верзија" #: documents/models.py:327 msgid "version index" -msgstr "" +msgstr "индекс на верзијата" #: documents/models.py:331 msgid "Index of this version within the root document." -msgstr "" +msgstr "Индекс на оваа верзија во коренскиот документ." #: documents/models.py:335 msgid "version label" -msgstr "" +msgstr "етикета на верзијата" #: documents/models.py:339 msgid "Optional short label for a document version." -msgstr "" +msgstr "Изборна кратка етикета на верзијата на документот." #: documents/models.py:344 documents/models.py:972 documents/models.py:1003 #: documents/models.py:1107 documents/models.py:2137 msgid "document" -msgstr "" +msgstr "документ" #: documents/models.py:345 documents/models.py:1213 msgid "documents" -msgstr "" +msgstr "документи" #: documents/models.py:573 documents/models.py:1076 msgid "Archive" -msgstr "" +msgstr "Архива" #: documents/models.py:574 msgid "Bank" -msgstr "" +msgstr "Банка" #: documents/models.py:575 msgid "Basket" -msgstr "" +msgstr "Кошница" #: documents/models.py:576 msgid "Bell" -msgstr "" +msgstr "Звонче" #: documents/models.py:577 msgid "Bookmark" -msgstr "" +msgstr "Обележувач" #: documents/models.py:578 msgid "Boxes" -msgstr "" +msgstr "Кутии" #: documents/models.py:579 msgid "Briefcase" -msgstr "" +msgstr "Актовка" #: documents/models.py:580 msgid "Building" -msgstr "" +msgstr "Зграда" #: documents/models.py:581 msgid "Calculator" -msgstr "" +msgstr "Калкулатор" #: documents/models.py:582 msgid "Calendar" -msgstr "" +msgstr "Календар" #: documents/models.py:583 msgid "Camera" -msgstr "" +msgstr "Камера" #: documents/models.py:584 msgid "Checklist" -msgstr "" +msgstr "Контролна листа" #: documents/models.py:585 msgid "Cash" -msgstr "" +msgstr "Готовина" #: documents/models.py:586 msgid "Chat" -msgstr "" +msgstr "Разговор" #: documents/models.py:587 msgid "Check" -msgstr "" +msgstr "Проверка" #: documents/models.py:588 msgid "Clipboard" -msgstr "" +msgstr "Табла со исечоци" #: documents/models.py:589 msgid "Clock" -msgstr "" +msgstr "Часовник" #: documents/models.py:590 msgid "Credit card" -msgstr "" +msgstr "Кредитна картичка" #: documents/models.py:591 msgid "Download" -msgstr "" +msgstr "Преземи" #: documents/models.py:592 msgid "Envelope" -msgstr "" +msgstr "Плик" #: documents/models.py:593 msgid "Warning" -msgstr "" +msgstr "Предупредување" #: documents/models.py:594 msgid "File" -msgstr "" +msgstr "Датотека" #: documents/models.py:595 msgid "Checked file" -msgstr "" +msgstr "Проверена датотека" #: documents/models.py:596 msgid "Locked file" -msgstr "" +msgstr "Заклучена датотека" #: documents/models.py:597 msgid "Medical file" -msgstr "" +msgstr "Медицинска датотека" #: documents/models.py:598 msgid "Person file" -msgstr "" +msgstr "Лична датотека" #: documents/models.py:601 msgid "Spreadsheet" -msgstr "" +msgstr "Табеларна пресметка" #: documents/models.py:603 msgid "Text file" -msgstr "" +msgstr "Текстуална датотека" #: documents/models.py:604 msgid "Files" -msgstr "" +msgstr "Датотеки" #: documents/models.py:605 msgid "Folder" -msgstr "" +msgstr "Папка" #: documents/models.py:606 paperless_mail/admin.py:58 msgid "Filter" -msgstr "" +msgstr "Филтер" #: documents/models.py:607 msgid "Gear" -msgstr "" +msgstr "Запчаник" #: documents/models.py:608 msgid "Globe" -msgstr "" +msgstr "Глобус" #: documents/models.py:609 msgid "Hash" -msgstr "" +msgstr "Хеш" #: documents/models.py:610 msgid "Heart" -msgstr "" +msgstr "Срце" #: documents/models.py:611 msgid "House" -msgstr "" +msgstr "Куќа" #: documents/models.py:612 msgid "Inbox" -msgstr "" +msgstr "Влезно сандаче" #: documents/models.py:613 msgid "Journals" -msgstr "" +msgstr "Дневници" #: documents/models.py:614 msgid "Task list" -msgstr "" +msgstr "Листа на задачи" #: documents/models.py:615 msgid "Newspaper" -msgstr "" +msgstr "Весник" #: documents/models.py:616 msgid "Attachment" -msgstr "" +msgstr "Прилог" #: documents/models.py:617 msgid "People" -msgstr "" +msgstr "Луѓе" #: documents/models.py:618 msgid "Person" -msgstr "" +msgstr "Личност" #: documents/models.py:619 msgid "Printer" -msgstr "" +msgstr "Печатач" #: documents/models.py:620 msgid "Receipt" -msgstr "" +msgstr "Сметка" #: documents/models.py:621 msgid "Safe" -msgstr "" +msgstr "Сеф" #: documents/models.py:622 msgid "Search" -msgstr "" +msgstr "Пребарај" #: documents/models.py:623 msgid "Send" -msgstr "" +msgstr "Прати" #: documents/models.py:624 msgid "Shop" -msgstr "" +msgstr "Продавница" #: documents/models.py:625 msgid "Stack" -msgstr "" +msgstr "Куп" #: documents/models.py:626 msgid "Stars" -msgstr "" +msgstr "Звезди" #: documents/models.py:627 msgid "Tag" -msgstr "" +msgstr "Ознака" #: documents/models.py:628 documents/models.py:643 documents/models.py:1815 msgid "Tags" -msgstr "" +msgstr "Ознаки" #: documents/models.py:629 msgid "Telephone" -msgstr "" +msgstr "Телефон" #: documents/models.py:630 msgid "Truck" -msgstr "" +msgstr "Камион" #: documents/models.py:631 msgid "Barcode" -msgstr "" +msgstr "Баркод" #: documents/models.py:632 msgid "Wallet" -msgstr "" +msgstr "Паричник" #: documents/models.py:635 msgid "Table" -msgstr "" +msgstr "Табела" #: documents/models.py:636 msgid "Small Cards" -msgstr "" +msgstr "Мали картици" #: documents/models.py:637 msgid "Large Cards" -msgstr "" +msgstr "Големи картици" #: documents/models.py:640 documents/models.py:1814 msgid "Title" -msgstr "" +msgstr "Наслов" #: documents/models.py:641 documents/models.py:871 documents/models.py:1489 msgid "Created" -msgstr "" +msgstr "Создадено" #: documents/models.py:642 documents/models.py:1488 msgid "Added" -msgstr "" +msgstr "Додадено" #: documents/models.py:644 documents/models.py:1816 msgid "Correspondent" -msgstr "" +msgstr "Кореспондент" #: documents/models.py:645 msgid "Document Type" -msgstr "" +msgstr "Вид на документ" #: documents/models.py:646 msgid "Storage Path" -msgstr "" +msgstr "Складишна патека" #: documents/models.py:647 msgid "Note" -msgstr "" +msgstr "Белешка" #: documents/models.py:648 msgid "Owner" -msgstr "" +msgstr "Сопственик" #: documents/models.py:649 msgid "Shared" -msgstr "" +msgstr "Споделено" #: documents/models.py:650 msgid "ASN" -msgstr "" +msgstr "ASN" #: documents/models.py:651 msgid "Pages" -msgstr "" +msgstr "Страници" #: documents/models.py:657 msgid "icon" -msgstr "" +msgstr "икона" #: documents/models.py:664 msgid "sort field" -msgstr "" +msgstr "поле за подредување" #: documents/models.py:669 msgid "sort reverse" -msgstr "" +msgstr "обратно подредување" #: documents/models.py:672 msgid "View page size" -msgstr "" +msgstr "Број на ставки по страница во прегледот" #: documents/models.py:680 msgid "View display mode" -msgstr "" +msgstr "Режим на прикажување на прегледот" #: documents/models.py:687 msgid "Document display fields" -msgstr "" +msgstr "Полиња за прикажување на документот" #: documents/models.py:694 documents/models.py:760 msgid "saved view" -msgstr "" +msgstr "зачуван преглед" #: documents/models.py:695 msgid "saved views" -msgstr "" +msgstr "зачувани прегледи" #: documents/models.py:703 msgid "title contains" -msgstr "" +msgstr "насловот содржи" #: documents/models.py:704 msgid "content contains" -msgstr "" +msgstr "содржината содржи" #: documents/models.py:705 msgid "ASN is" -msgstr "" +msgstr "ASN е" #: documents/models.py:706 msgid "correspondent is" -msgstr "" +msgstr "кореспондентот е" #: documents/models.py:707 msgid "document type is" -msgstr "" +msgstr "видот на документ е" #: documents/models.py:708 msgid "is in inbox" -msgstr "" +msgstr "е во влезното сандаче" #: documents/models.py:709 msgid "has tag" -msgstr "" +msgstr "има ознака" #: documents/models.py:710 msgid "has any tag" -msgstr "" +msgstr "има било каква ознака" #: documents/models.py:711 msgid "created before" -msgstr "" +msgstr "создадено пред" #: documents/models.py:712 msgid "created after" -msgstr "" +msgstr "создадено по" #: documents/models.py:713 msgid "created year is" -msgstr "" +msgstr "годината на создавање е" #: documents/models.py:714 msgid "created month is" -msgstr "" +msgstr "месецот на создавање е" #: documents/models.py:715 msgid "created day is" -msgstr "" +msgstr "денот на создавање е" #: documents/models.py:716 msgid "added before" -msgstr "" +msgstr "додадено пред" #: documents/models.py:717 msgid "added after" -msgstr "" +msgstr "додадено по" #: documents/models.py:718 msgid "modified before" -msgstr "" +msgstr "изменето пред" #: documents/models.py:719 msgid "modified after" -msgstr "" +msgstr "изменето по" #: documents/models.py:720 msgid "does not have tag" -msgstr "" +msgstr "нема ознака" #: documents/models.py:721 msgid "does not have ASN" -msgstr "" +msgstr "нема ASN" #: documents/models.py:722 msgid "title or content contains" -msgstr "" +msgstr "насловот или содржината содржи" #: documents/models.py:723 msgid "fulltext query" -msgstr "" +msgstr "пребарување по цел текст" #: documents/models.py:724 msgid "more like this" -msgstr "" +msgstr "слично на ова" #: documents/models.py:725 msgid "has tags in" -msgstr "" +msgstr "има ознаки во" #: documents/models.py:726 msgid "ASN greater than" -msgstr "" +msgstr "ASN поголем од" #: documents/models.py:727 msgid "ASN less than" -msgstr "" +msgstr "ASN помал од" #: documents/models.py:728 msgid "storage path is" -msgstr "" +msgstr "складишната патека е" #: documents/models.py:729 msgid "has correspondent in" -msgstr "" +msgstr "има кореспондент во" #: documents/models.py:730 msgid "does not have correspondent in" -msgstr "" +msgstr "нема кореспондент во" #: documents/models.py:731 msgid "has document type in" -msgstr "" +msgstr "има вид на документ во" #: documents/models.py:732 msgid "does not have document type in" -msgstr "" +msgstr "нема вид на документ во" #: documents/models.py:733 msgid "has storage path in" -msgstr "" +msgstr "има складишна патека во" #: documents/models.py:734 msgid "does not have storage path in" -msgstr "" +msgstr "нема складишна патека во" #: documents/models.py:735 msgid "owner is" -msgstr "" +msgstr "сопственикот е" #: documents/models.py:736 msgid "has owner in" -msgstr "" +msgstr "има сопственик во" #: documents/models.py:737 msgid "does not have owner" -msgstr "" +msgstr "нема сопственик" #: documents/models.py:738 msgid "does not have owner in" -msgstr "" +msgstr "нема сопственик во" #: documents/models.py:739 msgid "has custom field value" -msgstr "" +msgstr "има вредност на сопствено поле" #: documents/models.py:740 msgid "is shared by me" -msgstr "" +msgstr "е споделено од мене" #: documents/models.py:741 msgid "has custom fields" -msgstr "" +msgstr "има сопствени полиња" #: documents/models.py:742 msgid "has custom field in" -msgstr "" +msgstr "има сопствено поле во" #: documents/models.py:743 msgid "does not have custom field in" -msgstr "" +msgstr "нема сопствено поле во" #: documents/models.py:744 msgid "does not have custom field" -msgstr "" +msgstr "нема сопствено поле" #: documents/models.py:745 msgid "custom fields query" -msgstr "" +msgstr "пребарување по сопствени полиња" #: documents/models.py:746 msgid "created to" -msgstr "" +msgstr "создадено до" #: documents/models.py:747 msgid "created from" -msgstr "" +msgstr "создадено од" #: documents/models.py:748 msgid "added to" -msgstr "" +msgstr "додадено до" #: documents/models.py:749 msgid "added from" -msgstr "" +msgstr "додадено од" #: documents/models.py:750 msgid "mime type is" -msgstr "" +msgstr "MIME типот е" #: documents/models.py:751 msgid "simple title search" -msgstr "" +msgstr "едноставно пребарување по наслов" #: documents/models.py:752 msgid "simple text search" -msgstr "" +msgstr "едноставно пребарување по текст" #: documents/models.py:753 msgid "has duplicates" -msgstr "" +msgstr "има дупликати" #: documents/models.py:763 msgid "rule type" -msgstr "" +msgstr "вид на правило" #: documents/models.py:765 documents/models.py:1011 msgid "value" -msgstr "" +msgstr "вредност" #: documents/models.py:768 msgid "filter rule" -msgstr "" +msgstr "правило за филтрирање" #: documents/models.py:769 msgid "filter rules" -msgstr "" +msgstr "правила за филтрирање" #: documents/models.py:799 documents/models.py:1136 msgid "Pending" -msgstr "" +msgstr "Во чекање" #: documents/models.py:800 documents/models.py:878 msgid "Started" -msgstr "" +msgstr "Започнато" #: documents/models.py:801 msgid "Success" -msgstr "" +msgstr "Успешно" #: documents/models.py:802 msgid "Failure" -msgstr "" +msgstr "Неуспешно" #: documents/models.py:803 msgid "Revoked" -msgstr "" +msgstr "Отповикано" #: documents/models.py:806 msgid "Consume File" -msgstr "" +msgstr "Внесување датотека" #: documents/models.py:807 msgid "Train Classifier" -msgstr "" +msgstr "Обука на класификатор" #: documents/models.py:808 msgid "Sanity Check" -msgstr "" +msgstr "Проверка на исправност" #: documents/models.py:809 msgid "Index Optimize" -msgstr "" +msgstr "Оптимизација на индексот" #: documents/models.py:810 documents/models.py:1484 msgid "Mail Fetch" -msgstr "" +msgstr "Преземање пошта" #: documents/models.py:811 msgid "LLM Index" -msgstr "" +msgstr "LLM индекс" #: documents/models.py:812 msgid "Empty Trash" -msgstr "" +msgstr "Празнење на канта" #: documents/models.py:813 msgid "Check Workflows" -msgstr "" +msgstr "Проверка на работни текови" #: documents/models.py:814 msgid "Bulk Update" -msgstr "" +msgstr "Масовно ажурирање" #: documents/models.py:815 msgid "Reprocess Document" -msgstr "" +msgstr "Повторна обработка на документ" #: documents/models.py:816 msgid "Build Share Link" -msgstr "" +msgstr "Создавање врска за споделување" #: documents/models.py:817 msgid "Bulk Delete" -msgstr "" +msgstr "Масовно бришење" #: documents/models.py:818 msgid "Apply AI Suggestions" -msgstr "" +msgstr "Примена на AI предлози" #: documents/models.py:827 documents/models.py:1479 msgid "Scheduled" -msgstr "" +msgstr "Закажано" #: documents/models.py:828 documents/models.py:1485 msgid "Web UI" -msgstr "" +msgstr "Веб интерфејс" #: documents/models.py:829 msgid "API Upload" -msgstr "" +msgstr "Прикачување преку API" #: documents/models.py:830 msgid "Folder Consume" -msgstr "" +msgstr "Внесување од папка" #: documents/models.py:831 msgid "Email Consume" -msgstr "" +msgstr "Внесување од е-пошта" #: documents/models.py:832 msgid "System" -msgstr "" +msgstr "Систем" #: documents/models.py:833 msgid "Manual" -msgstr "" +msgstr "Рачно" #: documents/models.py:839 msgid "Task ID" -msgstr "" +msgstr "ID на задача" #: documents/models.py:840 msgid "Celery task ID" -msgstr "" +msgstr "ID на Celery задача" #: documents/models.py:846 msgid "Task Type" -msgstr "" +msgstr "Вид на задача" #: documents/models.py:847 msgid "The kind of work being performed" -msgstr "" +msgstr "Видот на работа што се извршува" #: documents/models.py:854 msgid "Trigger Source" -msgstr "" +msgstr "Извор на активирање" #: documents/models.py:855 msgid "What initiated this task" -msgstr "" +msgstr "Што ја започна оваа задача" #: documents/models.py:864 msgid "Status" -msgstr "" +msgstr "Состојба" #: documents/models.py:884 msgid "Completed" -msgstr "" +msgstr "Завршено" #: documents/models.py:892 msgid "Duration (seconds)" -msgstr "" +msgstr "Траење (секунди)" #: documents/models.py:893 msgid "Elapsed time from start to completion" -msgstr "" +msgstr "Изминато време од почеток до завршување" #: documents/models.py:899 msgid "Wait Time (seconds)" -msgstr "" +msgstr "Време на чекање (секунди)" #: documents/models.py:900 msgid "Time from task creation to worker pickup" -msgstr "" +msgstr "Време од создавањето на задачата до нејзиното преземање од работникот" #: documents/models.py:907 msgid "Input Data" -msgstr "" +msgstr "Влезни податоци" #: documents/models.py:908 msgid "Structured input parameters for the task" -msgstr "" +msgstr "Структурирани влезни параметри за задачата" #: documents/models.py:914 msgid "Result Data" -msgstr "" +msgstr "Резултатни податоци" #: documents/models.py:915 msgid "Structured result data from task execution" -msgstr "" +msgstr "Структурирани резултатни податоци од извршувањето на задачата" #: documents/models.py:921 msgid "Acknowledged" -msgstr "" +msgstr "Потврдено" #: documents/models.py:926 msgid "Task" -msgstr "" +msgstr "Задача" #: documents/models.py:927 msgid "Tasks" -msgstr "" +msgstr "Задачи" #: documents/models.py:957 msgid "Note for the document" -msgstr "" +msgstr "Белешка за документот" #: documents/models.py:981 msgid "user" -msgstr "" +msgstr "корисник" #: documents/models.py:986 msgid "note" -msgstr "" +msgstr "белешка" #: documents/models.py:987 msgid "notes" -msgstr "" +msgstr "белешки" #: documents/models.py:1007 msgid "page" -msgstr "" +msgstr "страница" #: documents/models.py:1008 msgid "Page of the original file, starting at 1" -msgstr "" +msgstr "Страница од оригиналната датотека, почнувајќи од 1" #: documents/models.py:1063 msgid "format" -msgstr "" +msgstr "формат" #: documents/models.py:1067 msgid "document barcode" -msgstr "" +msgstr "баркод на документот" #: documents/models.py:1068 msgid "document barcodes" -msgstr "" +msgstr "баркодови на документи" #: documents/models.py:1077 msgid "Original" -msgstr "" +msgstr "Оригинал" #: documents/models.py:1088 documents/models.py:1150 #: paperless_mail/models.py:75 msgid "expiration" -msgstr "" +msgstr "истекување" #: documents/models.py:1095 documents/models.py:1157 msgid "slug" -msgstr "" +msgstr "слаг" #: documents/models.py:1127 msgid "share link" -msgstr "" +msgstr "врска за споделување" #: documents/models.py:1128 msgid "share links" -msgstr "" +msgstr "врски за споделување" #: documents/models.py:1137 msgid "Processing" -msgstr "" +msgstr "Се обработува" #: documents/models.py:1138 msgid "Ready" -msgstr "" +msgstr "Готово" #: documents/models.py:1139 msgid "Failed" -msgstr "" +msgstr "Неуспешно" #: documents/models.py:1186 msgid "size (bytes)" -msgstr "" +msgstr "големина (бајти)" #: documents/models.py:1192 msgid "last error" -msgstr "" +msgstr "последна грешка" #: documents/models.py:1199 msgid "file path" -msgstr "" +msgstr "патека на датотека" #: documents/models.py:1205 msgid "built at" -msgstr "" +msgstr "создадено на" #: documents/models.py:1218 msgid "share link bundle" -msgstr "" +msgstr "пакет врски за споделување" #: documents/models.py:1219 msgid "share link bundles" -msgstr "" +msgstr "пакети врски за споделување" #: documents/models.py:1222 #, python-format msgid "Share link bundle %(slug)s" -msgstr "" +msgstr "Пакет врски за споделување %(slug)s" #: documents/models.py:1258 msgid "String" -msgstr "" +msgstr "Текст" #: documents/models.py:1259 msgid "URL" -msgstr "" +msgstr "URL" #: documents/models.py:1260 msgid "Date" -msgstr "" +msgstr "Датум" #: documents/models.py:1261 msgid "Boolean" -msgstr "" +msgstr "Булова вредност" #: documents/models.py:1262 msgid "Integer" -msgstr "" +msgstr "Цел број" #: documents/models.py:1263 msgid "Float" -msgstr "" +msgstr "Децимален број" #: documents/models.py:1264 msgid "Monetary" -msgstr "" +msgstr "Парична вредност" #: documents/models.py:1265 msgid "Document Link" -msgstr "" +msgstr "Врска до документ" #: documents/models.py:1266 msgid "Select" -msgstr "" +msgstr "Избор" #: documents/models.py:1267 msgid "Long Text" -msgstr "" +msgstr "Долг текст" #: documents/models.py:1279 msgid "data type" -msgstr "" +msgstr "тип на податоци" #: documents/models.py:1286 msgid "extra data" -msgstr "" +msgstr "дополнителни податоци" #: documents/models.py:1290 msgid "Extra data for the custom field, such as select options" -msgstr "" +msgstr "Дополнителни податоци за сопственото поле, како што се опциите за избор" #: documents/models.py:1296 msgid "custom field" -msgstr "" +msgstr "сопствено поле" #: documents/models.py:1297 msgid "custom fields" -msgstr "" +msgstr "сопствени полиња" #: documents/models.py:1397 msgid "custom field instance" -msgstr "" +msgstr "инстанца на сопствено поле" #: documents/models.py:1398 msgid "custom field instances" -msgstr "" +msgstr "инстанци на сопствени полиња" #: documents/models.py:1476 msgid "Consumption Started" -msgstr "" +msgstr "Започнато внесување" #: documents/models.py:1477 msgid "Document Added" -msgstr "" +msgstr "Документот е додаден" #: documents/models.py:1478 msgid "Document Updated" -msgstr "" +msgstr "Документот е ажуриран" #: documents/models.py:1482 msgid "Consume Folder" -msgstr "" +msgstr "Папка за внесување" #: documents/models.py:1483 msgid "Api Upload" -msgstr "" +msgstr "Прикачување преку API" #: documents/models.py:1490 msgid "Modified" -msgstr "" +msgstr "Изменето" #: documents/models.py:1491 msgid "Custom Field" -msgstr "" +msgstr "Сопствено поле" #: documents/models.py:1494 msgid "Workflow Trigger Type" -msgstr "" +msgstr "Вид на активатор на работен тек" #: documents/models.py:1506 msgid "filter path" -msgstr "" +msgstr "филтрирај по патека" #: documents/models.py:1511 msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive." -msgstr "" +msgstr "Внесувај само документи чиишто патека се совпаѓа со ова, ако е наведено. Дозволени се џокер-знаци наведени како *. Не прави разлика меѓу големи и мали букви." #: documents/models.py:1518 msgid "filter filename" -msgstr "" +msgstr "филтрирај по име на датотека" #: documents/models.py:1523 paperless_mail/models.py:200 msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive." -msgstr "" +msgstr "Внесувај само документи чие име на датотека во целост се совпаѓа со ова, ако е наведено. Дозволени се џокер-знаци како *.pdf или *invoice*. Не прави разлика меѓу големи и мали букви." #: documents/models.py:1534 msgid "filter documents from this mail rule" -msgstr "" +msgstr "филтрирај документи од ова правило за пошта" #: documents/models.py:1550 msgid "has these tag(s)" -msgstr "" +msgstr "има овие ознаки" #: documents/models.py:1557 msgid "has all of these tag(s)" -msgstr "" +msgstr "има сите од овие ознаки" #: documents/models.py:1564 msgid "does not have these tag(s)" -msgstr "" +msgstr "нема овие ознаки" #: documents/models.py:1572 msgid "has this document type" -msgstr "" +msgstr "има овој вид на документ" #: documents/models.py:1579 msgid "has one of these document types" -msgstr "" +msgstr "има еден од овие видови на документи" #: documents/models.py:1586 msgid "does not have these document type(s)" -msgstr "" +msgstr "нема овие видови на документи" #: documents/models.py:1594 msgid "has this correspondent" -msgstr "" +msgstr "има овој кореспондент" #: documents/models.py:1601 msgid "does not have these correspondent(s)" -msgstr "" +msgstr "нема овие кореспонденти" #: documents/models.py:1608 msgid "has one of these correspondents" -msgstr "" +msgstr "има еден од овие кореспонденти" #: documents/models.py:1616 msgid "has this storage path" -msgstr "" +msgstr "има оваа складишна патека" #: documents/models.py:1623 msgid "has one of these storage paths" -msgstr "" +msgstr "има една од овие складишни патеки" #: documents/models.py:1630 msgid "does not have these storage path(s)" -msgstr "" +msgstr "нема овие складишни патеки" #: documents/models.py:1634 msgid "filter custom field query" -msgstr "" +msgstr "филтрирај по пребарување на сопствени полиња" #: documents/models.py:1637 msgid "JSON-encoded custom field query expression." -msgstr "" +msgstr "Израз за пребарување на сопствени полиња кодиран во JSON." #: documents/models.py:1641 msgid "schedule offset days" -msgstr "" +msgstr "поместување на распоредот во денови" #: documents/models.py:1644 msgid "The number of days to offset the schedule trigger by." -msgstr "" +msgstr "Бројот на денови за поместување на активаторот на распоредот." #: documents/models.py:1649 msgid "schedule is recurring" -msgstr "" +msgstr "распоредот се повторува" #: documents/models.py:1652 msgid "If the schedule should be recurring." -msgstr "" +msgstr "Дали распоредот треба да се повторува." #: documents/models.py:1657 msgid "schedule recurring delay in days" -msgstr "" +msgstr "пауза меѓу повторувањата на распоредот во денови" #: documents/models.py:1661 msgid "The number of days between recurring schedule triggers." -msgstr "" +msgstr "Бројот на денови меѓу повторувачките активатори на распоредот." #: documents/models.py:1666 msgid "schedule date field" -msgstr "" +msgstr "поле за датум на распоредот" #: documents/models.py:1671 msgid "The field to check for a schedule trigger." -msgstr "" +msgstr "Полето што се проверува за активатор на распоред." #: documents/models.py:1680 msgid "schedule date custom field" -msgstr "" +msgstr "сопствено поле за датум на распоредот" #: documents/models.py:1684 msgid "workflow trigger" -msgstr "" +msgstr "активатор на работен тек" #: documents/models.py:1685 msgid "workflow triggers" -msgstr "" +msgstr "активатори на работен тек" #: documents/models.py:1693 msgid "email subject" -msgstr "" +msgstr "тема на е-поштата" #: documents/models.py:1697 msgid "The subject of the email, can include some placeholders, see documentation." -msgstr "" +msgstr "Темата на е-поштата, може да содржи некои променливи, видете документација." #: documents/models.py:1703 msgid "email body" -msgstr "" +msgstr "содржина на е-поштата" #: documents/models.py:1706 msgid "The body (message) of the email, can include some placeholders, see documentation." -msgstr "" +msgstr "Содржината (пораката) на е-поштата, може да содржи некои променливи, видете документација." #: documents/models.py:1712 msgid "emails to" -msgstr "" +msgstr "примачи на е-пошта" #: documents/models.py:1715 msgid "The destination email addresses, comma separated." -msgstr "" +msgstr "Адресите на е-пошта на примачите, одделени со запирка." #: documents/models.py:1721 msgid "include document in email" -msgstr "" +msgstr "вклучи го документот во е-поштата" #: documents/models.py:1732 msgid "webhook url" -msgstr "" +msgstr "URL на webhook" #: documents/models.py:1735 msgid "The destination URL for the notification." -msgstr "" +msgstr "Целниот URL за известувањето." #: documents/models.py:1740 msgid "use parameters" -msgstr "" +msgstr "користи параметри" #: documents/models.py:1745 msgid "send as JSON" -msgstr "" +msgstr "прати како JSON" #: documents/models.py:1749 msgid "webhook parameters" -msgstr "" +msgstr "параметри на webhook" #: documents/models.py:1752 msgid "The parameters to send with the webhook URL if body not used." -msgstr "" +msgstr "Параметрите што се праќаат со URL-то на webhook ако не се користи содржина." #: documents/models.py:1756 msgid "webhook body" -msgstr "" +msgstr "содржина на webhook" #: documents/models.py:1759 msgid "The body to send with the webhook URL if parameters not used." -msgstr "" +msgstr "Содржината што се праќа со URL-то на webhook ако не се користат параметри." #: documents/models.py:1763 msgid "webhook headers" -msgstr "" +msgstr "заглавја на webhook" #: documents/models.py:1766 msgid "The headers to send with the webhook URL." -msgstr "" +msgstr "Заглавјата што се праќаат со URL-то на webhook." #: documents/models.py:1771 msgid "include document in webhook" -msgstr "" +msgstr "вклучи го документот во webhook" #: documents/models.py:1782 msgid "Assignment" -msgstr "" +msgstr "Доделување" #: documents/models.py:1786 msgid "Removal" -msgstr "" +msgstr "Отстранување" #: documents/models.py:1790 documents/templates/account/password_reset.html:15 msgid "Email" -msgstr "" +msgstr "Е-пошта" #: documents/models.py:1794 msgid "Webhook" -msgstr "" +msgstr "Webhook" #: documents/models.py:1798 msgid "Password removal" -msgstr "" +msgstr "Отстранување на лозинка" #: documents/models.py:1802 msgid "Move to trash" -msgstr "" +msgstr "Премести во канта" #: documents/models.py:1806 msgid "Remote OCR" -msgstr "" +msgstr "Оддалечен OCR" #: documents/models.py:1810 msgid "Apply AI suggestions" -msgstr "" +msgstr "Примена на AI предлози" #: documents/models.py:1817 msgid "Document type" -msgstr "" +msgstr "Вид на документ" #: documents/models.py:1818 msgid "Storage path" -msgstr "" +msgstr "Складишна патека" #: documents/models.py:1819 msgid "Created date" -msgstr "" +msgstr "Датум на создавање" #: documents/models.py:1822 msgid "Workflow Action Type" -msgstr "" +msgstr "Вид на акција на работен тек" #: documents/models.py:1827 documents/models.py:2096 #: paperless_mail/models.py:145 msgid "order" -msgstr "" +msgstr "редослед" #: documents/models.py:1830 msgid "assign title" -msgstr "" +msgstr "додели наслов" #: documents/models.py:1834 msgid "Assign a document title, must be a Jinja2 template, see documentation." -msgstr "" +msgstr "Додели наслов на документот, мора да биде Jinja2 шаблон, видете документација." #: documents/models.py:1842 paperless_mail/models.py:274 msgid "assign this tag" -msgstr "" +msgstr "додели ја оваа ознака" #: documents/models.py:1851 paperless_mail/models.py:282 msgid "assign this document type" -msgstr "" +msgstr "додели го овој вид на документ" #: documents/models.py:1860 paperless_mail/models.py:296 msgid "assign this correspondent" -msgstr "" +msgstr "додели го овој кореспондент" #: documents/models.py:1869 msgid "assign this storage path" -msgstr "" +msgstr "додели ја оваа складишна патека" #: documents/models.py:1878 msgid "assign this owner" -msgstr "" +msgstr "додели го овој сопственик" #: documents/models.py:1885 msgid "grant view permissions to these users" -msgstr "" +msgstr "додели дозволи за преглед на овие корисници" #: documents/models.py:1892 msgid "grant view permissions to these groups" -msgstr "" +msgstr "додели дозволи за преглед на овие групи" #: documents/models.py:1899 msgid "grant change permissions to these users" -msgstr "" +msgstr "додели дозволи за промена на овие корисници" #: documents/models.py:1906 msgid "grant change permissions to these groups" -msgstr "" +msgstr "додели дозволи за промена на овие групи" #: documents/models.py:1913 msgid "assign these custom fields" -msgstr "" +msgstr "додели овие сопствени полиња" #: documents/models.py:1917 msgid "custom field values" -msgstr "" +msgstr "вредности на сопствени полиња" #: documents/models.py:1921 msgid "Optional values to assign to the custom fields." -msgstr "" +msgstr "Изборни вредности за доделување на сопствените полиња." #: documents/models.py:1930 msgid "remove these tag(s)" -msgstr "" +msgstr "отстрани ги овие ознаки" #: documents/models.py:1935 msgid "remove all tags" -msgstr "" +msgstr "отстрани ги сите ознаки" #: documents/models.py:1942 msgid "remove these document type(s)" -msgstr "" +msgstr "отстрани ги овие видови на документи" #: documents/models.py:1947 msgid "remove all document types" -msgstr "" +msgstr "отстрани ги сите видови на документи" #: documents/models.py:1954 msgid "remove these correspondent(s)" -msgstr "" +msgstr "отстрани ги овие кореспонденти" #: documents/models.py:1959 msgid "remove all correspondents" -msgstr "" +msgstr "отстрани ги сите кореспонденти" #: documents/models.py:1966 msgid "remove these storage path(s)" -msgstr "" +msgstr "отстрани ги овие складишни патеки" #: documents/models.py:1971 msgid "remove all storage paths" -msgstr "" +msgstr "отстрани ги сите складишни патеки" #: documents/models.py:1978 msgid "remove these owner(s)" -msgstr "" +msgstr "отстрани ги овие сопственици" #: documents/models.py:1983 msgid "remove all owners" -msgstr "" +msgstr "отстрани ги сите сопственици" #: documents/models.py:1990 msgid "remove view permissions for these users" -msgstr "" +msgstr "отстрани дозволи за преглед за овие корисници" #: documents/models.py:1997 msgid "remove view permissions for these groups" -msgstr "" +msgstr "отстрани дозволи за преглед за овие групи" #: documents/models.py:2004 msgid "remove change permissions for these users" -msgstr "" +msgstr "отстрани дозволи за промена за овие корисници" #: documents/models.py:2011 msgid "remove change permissions for these groups" -msgstr "" +msgstr "отстрани дозволи за промена за овие групи" #: documents/models.py:2016 msgid "remove all permissions" -msgstr "" +msgstr "отстрани ги сите дозволи" #: documents/models.py:2023 msgid "remove these custom fields" -msgstr "" +msgstr "отстрани ги овие сопствени полиња" #: documents/models.py:2028 msgid "remove all custom fields" -msgstr "" +msgstr "отстрани ги сите сопствени полиња" #: documents/models.py:2037 msgid "email" -msgstr "" +msgstr "е-пошта" #: documents/models.py:2046 msgid "webhook" -msgstr "" +msgstr "webhook" #: documents/models.py:2050 msgid "passwords" -msgstr "" +msgstr "лозинки" #: documents/models.py:2054 msgid "Passwords to try when removing PDF protection. Separate with commas or new lines." -msgstr "" +msgstr "Лозинки што ќе се пробаат при отстранување на PDF заштитата. Одделете ги со запирки или нови редови." #: documents/models.py:2059 msgid "AI suggestion fields" -msgstr "" +msgstr "Полиња за AI предлози" #: documents/models.py:2063 msgid "Which of the AI-suggested fields to apply to the document." -msgstr "" +msgstr "Кои од полињата предложени од AI да се применат на документот." #: documents/models.py:2068 msgid "create missing objects" -msgstr "" +msgstr "создавај објекти што недостасуваат" #: documents/models.py:2071 msgid "Create suggested tags, correspondents, document types and storage paths that do not already exist instead of skipping them." -msgstr "" +msgstr "Создавај предложени ознаки, кореспонденти, видови на документи и складишни патеки што сè уште не постојат, наместо да ги прескокнеш." #: documents/models.py:2077 msgid "overwrite existing values" -msgstr "" +msgstr "презапишувај постојни вредности" #: documents/models.py:2080 msgid "Apply suggestions even if the document already has a value for that field. Tags are always added to, never replaced." -msgstr "" +msgstr "Примени предлози дури и ако документот веќе има вредност за тоа поле. Ознаките секогаш се додаваат, никогаш не се заменуваат." #: documents/models.py:2086 msgid "workflow action" -msgstr "" +msgstr "акција на работен тек" #: documents/models.py:2087 msgid "workflow actions" -msgstr "" +msgstr "акции на работен тек" #: documents/models.py:2102 msgid "triggers" -msgstr "" +msgstr "активатори" #: documents/models.py:2109 msgid "actions" -msgstr "" +msgstr "акции" #: documents/models.py:2112 paperless_mail/models.py:154 msgid "enabled" -msgstr "" +msgstr "овозможено" #: documents/models.py:2123 msgid "workflow" -msgstr "" +msgstr "работен тек" #: documents/models.py:2127 msgid "workflow trigger type" -msgstr "" +msgstr "вид на активатор на работен тек" #: documents/models.py:2141 msgid "date run" -msgstr "" +msgstr "датум на извршување" #: documents/models.py:2147 msgid "workflow run" -msgstr "" +msgstr "извршување на работен тек" #: documents/models.py:2148 msgid "workflow runs" -msgstr "" +msgstr "извршувања на работен тек" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." -msgstr "" +msgstr "Недоволни дозволи." #: documents/serialisers.py:676 msgid "Invalid color." -msgstr "" +msgstr "Невалидна боја." #: documents/serialisers.py:2339 #, python-format msgid "File type %(type)s not supported" -msgstr "" +msgstr "Типот на датотека %(type)s не е поддржан" #: documents/serialisers.py:2383 #, python-format msgid "Custom field id must be an integer: %(id)s" -msgstr "" +msgstr "ID-то на сопственото поле мора да биде цел број: %(id)s" #: documents/serialisers.py:2390 #, python-format msgid "Custom field with id %(id)s does not exist" -msgstr "" +msgstr "Сопствено поле со ID %(id)s не постои" #: documents/serialisers.py:2407 documents/serialisers.py:2417 msgid "Custom fields must be a list of integers or an object mapping ids to values." -msgstr "" +msgstr "Сопствените полиња мора да бидат листа од цели броеви или објект што ги мапира идентификаторите на вредности." #: documents/serialisers.py:2412 msgid "Some custom fields don't exist or were specified twice." -msgstr "" +msgstr "Некои сопствени полиња не постојат или се наведени двапати." #: documents/serialisers.py:2559 msgid "Invalid variable detected." -msgstr "" +msgstr "Детектирана е невалидна променлива." #: documents/serialisers.py:2928 msgid "Duplicate document identifiers are not allowed." -msgstr "" +msgstr "Не се дозволени дупликат идентификатори на документи." -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" -msgstr "" +msgstr "Документите не се пронајдени: %(ids)s" #: documents/templates/account/account_inactive.html:5 msgid "Paperless-ngx account inactive" -msgstr "" +msgstr "Paperless-ngx неактивна сметка" #: documents/templates/account/account_inactive.html:9 msgid "Account inactive." -msgstr "" +msgstr "Сметката е неактивна." #: documents/templates/account/account_inactive.html:14 msgid "This account is inactive." -msgstr "" +msgstr "Оваа сметка е неактивна." #: documents/templates/account/account_inactive.html:16 msgid "Return to login" -msgstr "" +msgstr "Врати се на најавата" #: documents/templates/account/email/base_message.txt:1 #, python-format msgid "Hello from %(site_name)s!" -msgstr "" +msgstr "Здраво од %(site_name)s!" #: documents/templates/account/email/base_message.txt:5 #, python-format msgid "Thank you for using %(site_name)s!\n" "%(site_domain)s" -msgstr "" +msgstr "Ви благодариме што користите %(site_name)s!\n" +"%(site_domain)s" #: documents/templates/account/login.html:5 msgid "Paperless-ngx sign in" -msgstr "" +msgstr "Paperless-ngx најава" #: documents/templates/account/login.html:10 msgid "Please sign in." -msgstr "" +msgstr "Најавете се, ве молиме." #: documents/templates/account/login.html:12 msgid "Don't have an account yet?" -msgstr "" +msgstr "Уште немате сметка?" #: documents/templates/account/login.html:12 #: documents/templates/account/signup.html:43 #: documents/templates/socialaccount/signup.html:29 msgid "Sign up" -msgstr "" +msgstr "Регистрирај се" #: documents/templates/account/login.html:25 #: documents/templates/account/signup.html:22 #: documents/templates/socialaccount/signup.html:15 msgid "Username" -msgstr "" +msgstr "Корисничко име" #: documents/templates/account/login.html:26 #: documents/templates/account/signup.html:24 msgid "Password" -msgstr "" +msgstr "Лозинка" #: documents/templates/account/login.html:36 #: documents/templates/account/signup.html:11 #: documents/templates/mfa/authenticate.html:23 msgid "Sign in" -msgstr "" +msgstr "Најави се" #: documents/templates/account/login.html:40 msgid "Forgot your password?" -msgstr "" +msgstr "Ја заборавивте лозинката?" #: documents/templates/account/login.html:51 #: documents/templates/account/signup.html:57 msgid "or sign in via" -msgstr "" +msgstr "или најавете се преку" #: documents/templates/account/password_reset.html:5 msgid "Paperless-ngx reset password request" -msgstr "" +msgstr "Paperless-ngx барање за ресетирање на лозинка" #: documents/templates/account/password_reset.html:9 msgid "Enter your email address below, and we'll email instructions for setting a new one." -msgstr "" +msgstr "Внесете ја вашата адреса на е-пошта подолу и ќе ви пратиме инструкции за поставување нова лозинка по е-пошта." #: documents/templates/account/password_reset.html:12 msgid "An error occurred. Please try again." -msgstr "" +msgstr "Се појави грешка. Обидете се повторно." #: documents/templates/account/password_reset.html:21 msgid "Send me instructions!" -msgstr "" +msgstr "Пратете ми инструкции!" #: documents/templates/account/password_reset_done.html:5 msgid "Paperless-ngx reset password sent" -msgstr "" +msgstr "Paperless-ngx пратени инструкции за ресетирање на лозинка" #: documents/templates/account/password_reset_done.html:9 msgid "Check your inbox." -msgstr "" +msgstr "Проверете го вашето влезно сандаче." #: documents/templates/account/password_reset_done.html:13 msgid "We've emailed you instructions for setting your password. You should receive the email shortly!" -msgstr "" +msgstr "Ви пративме инструкции по е-пошта за поставување на вашата лозинка. Треба да ја добиете е-поштата наскоро!" #: documents/templates/account/password_reset_from_key.html:5 msgid "Paperless-ngx reset password confirmation" -msgstr "" +msgstr "Paperless-ngx потврда за ресетирање на лозинка" #: documents/templates/account/password_reset_from_key.html:9 msgid "Set a new password." -msgstr "" +msgstr "Поставете нова лозинка." #: documents/templates/account/password_reset_from_key.html:15 msgid "request a new password reset" -msgstr "" +msgstr "побарајте ново ресетирање на лозинка" #: documents/templates/account/password_reset_from_key.html:17 msgid "New Password" -msgstr "" +msgstr "Нова лозинка" #: documents/templates/account/password_reset_from_key.html:18 msgid "Confirm Password" -msgstr "" +msgstr "Потврди лозинка" #: documents/templates/account/password_reset_from_key.html:28 msgid "Change my password" -msgstr "" +msgstr "Промени ја мојата лозинка" #: documents/templates/account/password_reset_from_key_done.html:5 msgid "Paperless-ngx reset password complete" -msgstr "" +msgstr "Paperless-ngx ресетирањето на лозинката е завршено" #: documents/templates/account/password_reset_from_key_done.html:9 msgid "Password reset complete." -msgstr "" +msgstr "Ресетирањето на лозинката е завршено." #: documents/templates/account/password_reset_from_key_done.html:14 msgid "Your new password has been set. You can now" -msgstr "" +msgstr "Вашата нова лозинка е поставена. Сега можете да" #: documents/templates/account/password_reset_from_key_done.html:14 msgid "log in" -msgstr "" +msgstr "се најавите" #: documents/templates/account/signup.html:5 msgid "Paperless-ngx sign up" -msgstr "" +msgstr "Paperless-ngx регистрација" #: documents/templates/account/signup.html:11 msgid "Already have an account?" -msgstr "" +msgstr "Веќе имате сметка?" #: documents/templates/account/signup.html:19 msgid "Note: This is the first user account for this installation and will be granted superuser privileges." -msgstr "" +msgstr "Забелешка: Ова е првата корисничка сметка за оваа инсталација и ќе добие привилегии на суперкорисник." #: documents/templates/account/signup.html:23 #: documents/templates/socialaccount/signup.html:16 msgid "Email (optional)" -msgstr "" +msgstr "Е-пошта (изборно)" #: documents/templates/account/signup.html:25 msgid "Password (again)" -msgstr "" +msgstr "Лозинка (повторно)" #: documents/templates/index.html:61 msgid "Paperless-ngx is loading..." -msgstr "" +msgstr "Paperless-ngx се вчитува..." #: documents/templates/index.html:62 msgid "Still here?! Hmm, something might be wrong." -msgstr "" +msgstr "Уште сте тука?! Хм, можеби нешто не е во ред." #: documents/templates/index.html:62 msgid "Here's a link to the docs." -msgstr "" +msgstr "Еве врска до документацијата." #: documents/templates/mfa/authenticate.html:7 msgid "Paperless-ngx Two-Factor Authentication" -msgstr "" +msgstr "Paperless-ngx двофакторска автентикација" #: documents/templates/mfa/authenticate.html:12 msgid "Your account is protected by two-factor authentication. Please enter an authenticator code:" -msgstr "" +msgstr "Вашата сметка е заштитена со двофакторска автентикација. Внесете код од автентикаторот, ве молиме:" #: documents/templates/mfa/authenticate.html:17 msgid "Code" -msgstr "" +msgstr "Код" #: documents/templates/mfa/authenticate.html:24 msgid "Cancel" -msgstr "" +msgstr "Откажи" #: documents/templates/paperless-ngx/base.html:58 msgid "Share link was not found." -msgstr "" +msgstr "Врската за споделување не е пронајдена." #: documents/templates/paperless-ngx/base.html:62 msgid "Share link has expired." -msgstr "" +msgstr "Врската за споделување е истечена." #: documents/templates/socialaccount/authentication_error.html:5 #: documents/templates/socialaccount/login.html:5 msgid "Paperless-ngx social account sign in" -msgstr "" +msgstr "Paperless-ngx најава со социјална сметка" #: documents/templates/socialaccount/authentication_error.html:10 msgid "An error occurred while attempting to login via your social network account. Back to the" -msgstr "" +msgstr "Се појави грешка при обидот да се најавите преку вашата сметка на социјална мрежа. Назад до" #: documents/templates/socialaccount/authentication_error.html:10 msgid "login page" -msgstr "" +msgstr "страницата за најава" #: documents/templates/socialaccount/login.html:11 #, python-format msgid "You are about to connect a new third-party account from %(provider)s." -msgstr "" +msgstr "На пат сте да поврзете нова сметка од трета страна од %(provider)s." #: documents/templates/socialaccount/login.html:15 msgid "Continue" -msgstr "" +msgstr "Продолжи" #: documents/templates/socialaccount/signup.html:5 msgid "Paperless-ngx social account sign up" -msgstr "" +msgstr "Paperless-ngx регистрација со социјална сметка" #: documents/templates/socialaccount/signup.html:11 #, python-format msgid "You are about to use your %(provider_name)s account to login." -msgstr "" +msgstr "На пат сте да се најавите со вашата сметка кај %(provider_name)s." #: documents/templates/socialaccount/signup.html:13 msgid "As a final step, please complete the following form:" -msgstr "" +msgstr "Како последен чекор, пополнете го следниов формулар, ве молиме:" #: documents/validators.py:36 msgid ", " -msgstr "" +msgstr ", " -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." -msgstr "" +msgstr "Наведете само едно од text, title_search, query или more_like_id." -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" -msgstr "" +msgstr "Невалиден more_like_id" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." -msgstr "" +msgstr "Невалидна AI конфигурација." -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." -msgstr "" +msgstr "Барањето до AI backend-от истече." -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." -msgstr "" +msgstr "AI backend-от го одби барањето. Проверете ги дневниците за детали." -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." -msgstr "" +msgstr "Недоволни дозволи за споделување на документот %(id)s." -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." -msgstr "" +msgstr "Пакетот веќе се обработува." -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." -msgstr "" +msgstr "Пакетот врски за споделување сè уште се подготвува. Обидете се повторно подоцна." -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." -msgstr "" +msgstr "Пакетот врски за споделување не е достапен." #: paperless/apps.py:11 msgid "Paperless" -msgstr "" +msgstr "Paperless" #: paperless/models.py:26 msgid "pdf" -msgstr "" +msgstr "pdf" #: paperless/models.py:27 msgid "pdfa" -msgstr "" +msgstr "pdfa" #: paperless/models.py:28 msgid "pdfa-1" -msgstr "" +msgstr "pdfa-1" #: paperless/models.py:29 msgid "pdfa-2" -msgstr "" +msgstr "pdfa-2" #: paperless/models.py:30 msgid "pdfa-3" -msgstr "" +msgstr "pdfa-3" #: paperless/models.py:39 paperless/models.py:50 msgid "auto" -msgstr "" +msgstr "auto" #: paperless/models.py:40 msgid "force" -msgstr "" +msgstr "force" #: paperless/models.py:41 msgid "redo" -msgstr "" +msgstr "redo" #: paperless/models.py:42 msgid "off" -msgstr "" +msgstr "off" #: paperless/models.py:51 msgid "always" -msgstr "" +msgstr "always" #: paperless/models.py:52 msgid "never" -msgstr "" +msgstr "never" #: paperless/models.py:60 msgid "clean" -msgstr "" +msgstr "clean" #: paperless/models.py:61 msgid "clean-final" -msgstr "" +msgstr "clean-final" #: paperless/models.py:62 msgid "none" -msgstr "" +msgstr "none" #: paperless/models.py:70 msgid "LeaveColorUnchanged" -msgstr "" +msgstr "LeaveColorUnchanged" #: paperless/models.py:71 msgid "RGB" -msgstr "" +msgstr "RGB" #: paperless/models.py:72 msgid "UseDeviceIndependentColor" -msgstr "" +msgstr "UseDeviceIndependentColor" #: paperless/models.py:73 msgid "Gray" -msgstr "" +msgstr "Gray" #: paperless/models.py:74 msgid "CMYK" -msgstr "" +msgstr "CMYK" #: paperless/models.py:82 msgid "Azure AI Document Intelligence" -msgstr "" +msgstr "Azure AI Document Intelligence" #: paperless/models.py:90 msgid "All supported documents" -msgstr "" +msgstr "Сите поддржани документи" #: paperless/models.py:91 msgid "Only when a workflow enables it" -msgstr "" +msgstr "Само кога работен тек го овозможува" #: paperless/models.py:95 paperless/models.py:105 msgid "OpenAI-compatible" -msgstr "" +msgstr "Компатибилен со OpenAI" #: paperless/models.py:96 msgid "Huggingface" -msgstr "" +msgstr "Huggingface" #: paperless/models.py:97 paperless/models.py:106 msgid "Ollama" -msgstr "" +msgstr "Ollama" #: paperless/models.py:115 msgid "Sets the output PDF type" -msgstr "" +msgstr "Ја поставува излезниот тип на PDF" #: paperless/models.py:127 msgid "Do OCR from page 1 to this value" -msgstr "" +msgstr "Прави OCR од страница 1 до оваа вредност" #: paperless/models.py:133 msgid "Do OCR using these languages" -msgstr "" +msgstr "Прави OCR со овие јазици" #: paperless/models.py:140 msgid "Sets the OCR mode" -msgstr "" +msgstr "Го поставува OCR режимот" #: paperless/models.py:148 msgid "Controls archive file generation" -msgstr "" +msgstr "Ја контролира генерирањето на архивската датотека" #: paperless/models.py:156 msgid "Sets image DPI fallback value" -msgstr "" +msgstr "Ја поставува резервната вредност за DPI на слики" #: paperless/models.py:163 msgid "Controls the unpaper cleaning" -msgstr "" +msgstr "Го контролира чистењето со unpaper" #: paperless/models.py:170 msgid "Enables deskew" -msgstr "" +msgstr "Овозможува исправување на наклонетост" #: paperless/models.py:173 msgid "Enables page rotation" -msgstr "" +msgstr "Овозможува ротација на страници" #: paperless/models.py:178 msgid "Sets the threshold for rotation of pages" -msgstr "" +msgstr "Го поставува прагот за ротација на страници" #: paperless/models.py:184 msgid "Sets the maximum image size for decompression" -msgstr "" +msgstr "Ја поставува максималната големина на сликата за декомпресија" #: paperless/models.py:190 msgid "Sets the Ghostscript color conversion strategy" -msgstr "" +msgstr "Ја поставува стратегијата за конверзија на бои на Ghostscript" #: paperless/models.py:198 msgid "Adds additional user arguments for OCRMyPDF" -msgstr "" +msgstr "Додава дополнителни кориснички аргументи за OCRMyPDF" #: paperless/models.py:207 msgid "Application title" -msgstr "" +msgstr "Наслов на апликацијата" #: paperless/models.py:214 msgid "Application logo" -msgstr "" +msgstr "Лого на апликацијата" #: paperless/models.py:229 msgid "Enables barcode scanning" -msgstr "" +msgstr "Овозможува скенирање баркодови" #: paperless/models.py:235 msgid "Enables barcode TIFF support" -msgstr "" +msgstr "Овозможува поддршка за TIFF баркодови" #: paperless/models.py:241 msgid "Sets the barcode string" -msgstr "" +msgstr "Ја поставува низата за баркод" #: paperless/models.py:249 msgid "Retains split pages" -msgstr "" +msgstr "Ги задржува разделените страници" #: paperless/models.py:255 msgid "Enables ASN barcode" -msgstr "" +msgstr "Овозможува ASN баркод" #: paperless/models.py:261 msgid "Sets the ASN barcode prefix" -msgstr "" +msgstr "Го поставува префиксот на ASN баркодот" #: paperless/models.py:269 msgid "Sets the barcode upscale factor" -msgstr "" +msgstr "Го поставува факторот на зголемување на баркодот" #: paperless/models.py:276 msgid "Sets the barcode DPI" -msgstr "" +msgstr "Го поставува DPI-то на баркодот" #: paperless/models.py:283 msgid "Sets the maximum pages for barcode" -msgstr "" +msgstr "Го поставува максималниот број страници за баркод" #: paperless/models.py:290 msgid "Enables tag barcode" -msgstr "" +msgstr "Овозможува баркод за ознаки" #: paperless/models.py:296 msgid "Sets the tag barcode mapping" -msgstr "" +msgstr "Го поставува мапирањето на баркодовите за ознаки" #: paperless/models.py:302 msgid "Enables splitting on tag barcodes" -msgstr "" +msgstr "Овозможува разделување по баркодови на ознаки" #: paperless/models.py:308 msgid "Stores the values of detected barcodes" -msgstr "" +msgstr "Ги зачувува вредностите на детектираните баркодови" #: paperless/models.py:318 msgid "Sets the remote OCR engine" -msgstr "" +msgstr "Го поставува оддалечениот OCR мотор" #: paperless/models.py:327 msgid "Sets the remote OCR API key" -msgstr "" +msgstr "Го поставува API клучот за оддалечениот OCR" #: paperless/models.py:335 msgid "Sets the remote OCR endpoint" -msgstr "" +msgstr "Го поставува крајната точка на оддалечениот OCR" #: paperless/models.py:343 msgid "Sets which documents are sent to the remote OCR engine" -msgstr "" +msgstr "Поставува кои документи се праќаат до оддалечениот OCR мотор" #: paperless/models.py:355 msgid "Enables AI features" -msgstr "" +msgstr "Овозможува AI функции" #: paperless/models.py:360 msgid "Sets the LLM embedding backend" -msgstr "" +msgstr "Го поставува LLM embedding backend-от" #: paperless/models.py:368 msgid "Sets the LLM embedding model" -msgstr "" +msgstr "Го поставува LLM embedding моделот" #: paperless/models.py:375 msgid "Sets the LLM embedding API key" -msgstr "" +msgstr "Го поставува API клучот за LLM embedding" #: paperless/models.py:382 msgid "Sets the LLM embedding endpoint, optional" -msgstr "" +msgstr "Го поставува LLM embedding endpoint-от, изборно" #: paperless/models.py:389 msgid "Sets the LLM embedding chunk size" -msgstr "" +msgstr "Ја поставува големината на деловите за LLM embedding" #: paperless/models.py:395 msgid "Sets the LLM context size" -msgstr "" +msgstr "Го поставува големината на LLM контекстот" #: paperless/models.py:401 msgid "Sets the LLM backend" -msgstr "" +msgstr "Го поставува LLM backend-от" #: paperless/models.py:409 msgid "Sets the LLM model" -msgstr "" +msgstr "Го поставува LLM моделот" #: paperless/models.py:416 msgid "Sets the LLM API key" -msgstr "" +msgstr "Го поставува LLM API клучот" #: paperless/models.py:423 msgid "Sets the LLM endpoint, optional" -msgstr "" +msgstr "Го поставува LLM endpoint-от, изборно" #: paperless/models.py:430 msgid "Sets the LLM output language" -msgstr "" +msgstr "Го поставува излезниот јазик на LLM" #: paperless/models.py:437 msgid "Sets the LLM timeout in seconds" -msgstr "" +msgstr "Го поставува времето на истек на LLM во секунди" #: paperless/models.py:443 msgid "paperless application settings" -msgstr "" +msgstr "paperless поставки на апликацијата" #: paperless/settings/__init__.py:566 msgid "English (US)" -msgstr "" +msgstr "Англиски (САД)" #: paperless/settings/__init__.py:567 msgid "Arabic" -msgstr "" +msgstr "Арапски" #: paperless/settings/__init__.py:568 msgid "Afrikaans" -msgstr "" +msgstr "Африканс" #: paperless/settings/__init__.py:569 msgid "Belarusian" -msgstr "" +msgstr "Белоруски" #: paperless/settings/__init__.py:570 msgid "Bulgarian" -msgstr "" +msgstr "Бугарски" #: paperless/settings/__init__.py:571 msgid "Catalan" -msgstr "" +msgstr "Каталонски" #: paperless/settings/__init__.py:572 msgid "Czech" -msgstr "" +msgstr "Чешки" #: paperless/settings/__init__.py:573 msgid "Danish" -msgstr "" +msgstr "Дански" #: paperless/settings/__init__.py:574 msgid "German" -msgstr "" +msgstr "Германски" #: paperless/settings/__init__.py:575 msgid "Greek" -msgstr "" +msgstr "Грчки" #: paperless/settings/__init__.py:576 msgid "English (GB)" -msgstr "" +msgstr "Англиски (GB)" #: paperless/settings/__init__.py:577 msgid "Spanish" -msgstr "" +msgstr "Шпански" #: paperless/settings/__init__.py:578 msgid "Persian" -msgstr "" +msgstr "Персијски" #: paperless/settings/__init__.py:579 msgid "Finnish" -msgstr "" +msgstr "Фински" #: paperless/settings/__init__.py:580 msgid "French" -msgstr "" +msgstr "Француски" #: paperless/settings/__init__.py:581 msgid "Hungarian" -msgstr "" +msgstr "Унгарски" #: paperless/settings/__init__.py:582 msgid "Indonesian" -msgstr "" +msgstr "Индонезиски" #: paperless/settings/__init__.py:583 msgid "Italian" -msgstr "" +msgstr "Италијански" #: paperless/settings/__init__.py:584 msgid "Japanese" -msgstr "" +msgstr "Јапонски" #: paperless/settings/__init__.py:585 msgid "Korean" -msgstr "" +msgstr "Корејски" #: paperless/settings/__init__.py:586 msgid "Luxembourgish" -msgstr "" +msgstr "Луксембуршки" #: paperless/settings/__init__.py:587 msgid "Norwegian" -msgstr "" +msgstr "Норвешки" #: paperless/settings/__init__.py:588 msgid "Dutch" -msgstr "" +msgstr "Холандски" #: paperless/settings/__init__.py:589 msgid "Polish" -msgstr "" +msgstr "Полски" #: paperless/settings/__init__.py:590 msgid "Portuguese (Brazil)" -msgstr "" +msgstr "Португалски (Бразил)" #: paperless/settings/__init__.py:591 msgid "Portuguese" -msgstr "" +msgstr "Португалски" #: paperless/settings/__init__.py:592 msgid "Romanian" -msgstr "" +msgstr "Романски" #: paperless/settings/__init__.py:593 msgid "Russian" -msgstr "" +msgstr "Руски" #: paperless/settings/__init__.py:594 msgid "Slovak" -msgstr "" +msgstr "Словачки" #: paperless/settings/__init__.py:595 msgid "Slovenian" -msgstr "" +msgstr "Словенечки" #: paperless/settings/__init__.py:596 msgid "Serbian" -msgstr "" +msgstr "Српски" #: paperless/settings/__init__.py:597 msgid "Swedish" -msgstr "" +msgstr "Шведски" #: paperless/settings/__init__.py:598 msgid "Turkish" -msgstr "" +msgstr "Турски" #: paperless/settings/__init__.py:599 msgid "Ukrainian" -msgstr "" +msgstr "Украински" #: paperless/settings/__init__.py:600 msgid "Vietnamese" -msgstr "" +msgstr "Виетнамски" #: paperless/settings/__init__.py:601 msgid "Chinese Simplified" -msgstr "" +msgstr "Кинески поедноставен" #: paperless/settings/__init__.py:602 msgid "Chinese Traditional" -msgstr "" +msgstr "Кинески традиционален" #: paperless/urls.py:438 msgid "Paperless-ngx administration" -msgstr "" +msgstr "Paperless-ngx администрација" #: paperless_mail/admin.py:39 msgid "Authentication" -msgstr "" +msgstr "Автентикација" #: paperless_mail/admin.py:42 msgid "Advanced settings" -msgstr "" +msgstr "Напредни поставки" #: paperless_mail/admin.py:61 msgid "Paperless will only process mails that match ALL of the filters given below." -msgstr "" +msgstr "Paperless ќе обработува само пошта што се совпаѓа со СИТЕ филтри наведени подолу." #: paperless_mail/admin.py:78 msgid "Actions" -msgstr "" +msgstr "Акции" #: paperless_mail/admin.py:81 msgid "The action applied to the mail. This action is only performed when the mail body or attachments were consumed from the mail." -msgstr "" +msgstr "Акцијата што се применува на поштата. Оваа акција се извршува само кога содржината на поштата или прилозите биле внесени од поштата." #: paperless_mail/admin.py:89 msgid "Metadata" -msgstr "" +msgstr "Метаподатоци" #: paperless_mail/admin.py:92 msgid "Assign metadata to documents consumed from this rule automatically. If you do not assign tags, types or correspondents here, paperless will still process all matching rules that you have defined." -msgstr "" +msgstr "Автоматски доделувај метаподатоци на документите внесени од ова правило. Ако не доделите ознаки, видови или кореспонденти тука, paperless сè уште ќе ги обработи сите совпаѓачки правила што сте ги дефинирале." #: paperless_mail/apps.py:8 msgid "Paperless mail" -msgstr "" +msgstr "Paperless пошта" #: paperless_mail/models.py:10 msgid "mail account" -msgstr "" +msgstr "сметка за е-пошта" #: paperless_mail/models.py:11 msgid "mail accounts" -msgstr "" +msgstr "сметки за е-пошта" #: paperless_mail/models.py:14 msgid "No encryption" -msgstr "" +msgstr "Без шифрирање" #: paperless_mail/models.py:15 msgid "Use SSL" -msgstr "" +msgstr "Користи SSL" #: paperless_mail/models.py:16 msgid "Use STARTTLS" -msgstr "" +msgstr "Користи STARTTLS" #: paperless_mail/models.py:19 msgid "IMAP" -msgstr "" +msgstr "IMAP" #: paperless_mail/models.py:20 msgid "Gmail OAuth" -msgstr "" +msgstr "Gmail OAuth" #: paperless_mail/models.py:21 msgid "Outlook OAuth" -msgstr "" +msgstr "Outlook OAuth" #: paperless_mail/models.py:25 msgid "IMAP server" -msgstr "" +msgstr "IMAP сервер" #: paperless_mail/models.py:28 msgid "IMAP port" -msgstr "" +msgstr "IMAP порта" #: paperless_mail/models.py:32 msgid "This is usually 143 for unencrypted and STARTTLS connections, and 993 for SSL connections." -msgstr "" +msgstr "Ова обично е 143 за нешифрирани врски и врски со STARTTLS, а 993 за SSL врски." #: paperless_mail/models.py:38 msgid "IMAP security" -msgstr "" +msgstr "IMAP безбедност" #: paperless_mail/models.py:43 msgid "username" -msgstr "" +msgstr "корисничко име" #: paperless_mail/models.py:45 msgid "password" -msgstr "" +msgstr "лозинка" #: paperless_mail/models.py:47 msgid "Is token authentication" -msgstr "" +msgstr "Е автентикација со токен" #: paperless_mail/models.py:50 msgid "character set" -msgstr "" +msgstr "множество знаци" #: paperless_mail/models.py:54 msgid "The character set to use when communicating with the mail server, such as 'UTF-8' or 'US-ASCII'." -msgstr "" +msgstr "Множеството знаци за комуникација со поштенскиот сервер, како 'UTF-8' или 'US-ASCII'." #: paperless_mail/models.py:60 msgid "account type" -msgstr "" +msgstr "вид на сметка" #: paperless_mail/models.py:66 msgid "refresh token" -msgstr "" +msgstr "токен за обновување" #: paperless_mail/models.py:70 msgid "The refresh token to use for token authentication e.g. with oauth2." -msgstr "" +msgstr "Токенот за обновување што се користи за автентикација со токен, на пр. со oauth2." #: paperless_mail/models.py:79 msgid "The expiration date of the refresh token. " -msgstr "" +msgstr "Датумот на истекување на токенот за обновување. " #: paperless_mail/models.py:89 msgid "mail rule" -msgstr "" +msgstr "правило за пошта" #: paperless_mail/models.py:90 msgid "mail rules" -msgstr "" +msgstr "правила за пошта" #: paperless_mail/models.py:104 paperless_mail/models.py:115 msgid "Only process attachments." -msgstr "" +msgstr "Обработувај само прилози." #: paperless_mail/models.py:105 msgid "Process full Mail (with embedded attachments in file) as .eml" -msgstr "" +msgstr "Обработи ја целата пошта (со вградени прилози во датотека) како .eml" #: paperless_mail/models.py:109 msgid "Process full Mail (with embedded attachments in file) as .eml + process attachments as separate documents" -msgstr "" +msgstr "Обработи ја целата пошта (со вградени прилози во датотека) како .eml + обработи ги прилозите како посебни документи" #: paperless_mail/models.py:116 msgid "Process all files, including 'inline' attachments." -msgstr "" +msgstr "Обработувај ги сите датотеки, вклучувајќи и 'inline' прилози." #: paperless_mail/models.py:119 msgid "System default" -msgstr "" +msgstr "Стандардно од системот" #: paperless_mail/models.py:120 msgid "Text, then HTML" -msgstr "" +msgstr "Текст, па HTML" #: paperless_mail/models.py:121 msgid "HTML, then text" -msgstr "" +msgstr "HTML, па текст" #: paperless_mail/models.py:122 msgid "HTML only" -msgstr "" +msgstr "Само HTML" #: paperless_mail/models.py:123 msgid "Text only" -msgstr "" +msgstr "Само текст" #: paperless_mail/models.py:126 msgid "Delete" -msgstr "" +msgstr "Избриши" #: paperless_mail/models.py:127 msgid "Move to specified folder" -msgstr "" +msgstr "Премести во наведена папка" #: paperless_mail/models.py:128 msgid "Mark as read, don't process read mails" -msgstr "" +msgstr "Означи како прочитано, не обработувај прочитана пошта" #: paperless_mail/models.py:129 msgid "Flag the mail, don't process flagged mails" -msgstr "" +msgstr "Обележи ја поштата, не обработувај обележана пошта" #: paperless_mail/models.py:130 msgid "Tag the mail with specified tag, don't process tagged mails" -msgstr "" +msgstr "Означи ја поштата со наведена ознака, не обработувај означена пошта" #: paperless_mail/models.py:133 msgid "Use subject as title" -msgstr "" +msgstr "Користи тема како наслов" #: paperless_mail/models.py:134 msgid "Use attachment filename as title" -msgstr "" +msgstr "Користи го името на прилогот како наслов" #: paperless_mail/models.py:135 msgid "Do not assign title from rule" -msgstr "" +msgstr "Не доделувај наслов од правилото" #: paperless_mail/models.py:138 msgid "Do not assign a correspondent" -msgstr "" +msgstr "Не доделувај кореспондент" #: paperless_mail/models.py:139 msgid "Use mail address" -msgstr "" +msgstr "Користи адреса на е-пошта" #: paperless_mail/models.py:140 msgid "Use name (or mail address if not available)" -msgstr "" +msgstr "Користи име (или адреса на е-пошта ако не е достапна)" #: paperless_mail/models.py:141 msgid "Use correspondent selected below" -msgstr "" +msgstr "Користи кореспондент избран подолу" #: paperless_mail/models.py:151 msgid "account" -msgstr "" +msgstr "сметка" #: paperless_mail/models.py:157 paperless_mail/models.py:326 msgid "folder" -msgstr "" +msgstr "папка" #: paperless_mail/models.py:161 msgid "Subfolders must be separated by a delimiter, often a dot ('.') or slash ('/'), but it varies by mail server." -msgstr "" +msgstr "Подпапките мора да бидат одделени со одделувач, често точка ('.') или коса црта ('/'), но тоа варира од поштенски сервер." #: paperless_mail/models.py:167 msgid "filter from" -msgstr "" +msgstr "филтрирај по испраќач" #: paperless_mail/models.py:174 msgid "filter to" -msgstr "" +msgstr "филтрирај по примач" #: paperless_mail/models.py:181 msgid "filter subject" -msgstr "" +msgstr "филтрирај по тема" #: paperless_mail/models.py:188 msgid "filter body" -msgstr "" +msgstr "филтрирај по содржина" #: paperless_mail/models.py:195 msgid "filter attachment filename inclusive" -msgstr "" +msgstr "филтрирај по име на прилог (вклучително)" #: paperless_mail/models.py:207 msgid "filter attachment filename exclusive" -msgstr "" +msgstr "филтрирај по име на прилог (исклучително)" #: paperless_mail/models.py:212 msgid "Do not consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive." -msgstr "" +msgstr "Не внесувај документи чие име на датотека во целост се совпаѓа со ова, ако е наведено. Дозволени се џокер-знаци како *.pdf или *invoice*. Не прави разлика меѓу големи и мали букви." #: paperless_mail/models.py:219 msgid "maximum age" -msgstr "" +msgstr "максимална возраст" #: paperless_mail/models.py:221 msgid "Specified in days." -msgstr "" +msgstr "Наведено во денови." #: paperless_mail/models.py:225 msgid "attachment type" -msgstr "" +msgstr "вид на прилог" #: paperless_mail/models.py:229 msgid "Inline attachments include embedded images, so it's best to combine this option with a filename filter." -msgstr "" +msgstr "Прилозите во линија вклучуваат вградени слики, така што е најдобро да ја комбинирате оваа опција со филтер за име на датотека." #: paperless_mail/models.py:235 msgid "consumption scope" -msgstr "" +msgstr "опфат на внесување" #: paperless_mail/models.py:241 msgid "pdf layout" -msgstr "" +msgstr "PDF распоред" #: paperless_mail/models.py:247 msgid "action" -msgstr "" +msgstr "акција" #: paperless_mail/models.py:253 msgid "action parameter" -msgstr "" +msgstr "параметар на акцијата" #: paperless_mail/models.py:258 msgid "Additional parameter for the action selected above, i.e., the target folder of the move to folder action. Subfolders must be separated by dots." -msgstr "" +msgstr "Дополнителен параметар за акцијата избрана погоре, т.е. целната папка на акцијата „премести во папка“. Подпапките мора да бидат одделени со точки." #: paperless_mail/models.py:266 msgid "assign title from" -msgstr "" +msgstr "додели наслов од" #: paperless_mail/models.py:286 msgid "assign correspondent from" -msgstr "" +msgstr "додели кореспондент од" #: paperless_mail/models.py:300 msgid "Assign the rule owner to documents" -msgstr "" +msgstr "Додели го сопственикот на правилото на документите" #: paperless_mail/models.py:305 msgid "Stop processing further rules" -msgstr "" +msgstr "Запри обработка на понатамошни правила" #: paperless_mail/models.py:308 msgid "If True, no further rules will be processed after this one if any document is queued." -msgstr "" +msgstr "Ако е точно, по ова правило нема да се обработуваат понатамошни правила ако е во чекање било кој документ." #: paperless_mail/models.py:334 msgid "uid" -msgstr "" +msgstr "uid" #: paperless_mail/models.py:342 msgid "uid validity" -msgstr "" +msgstr "валидност на uid" #: paperless_mail/models.py:350 msgid "subject" -msgstr "" +msgstr "тема" #: paperless_mail/models.py:358 msgid "received" -msgstr "" +msgstr "примена" #: paperless_mail/models.py:365 msgid "processed" -msgstr "" +msgstr "обработена" #: paperless_mail/models.py:371 msgid "status" -msgstr "" +msgstr "статус" #: paperless_mail/models.py:379 msgid "error" -msgstr "" +msgstr "грешка" diff --git a/src/locale/ms_MY/LC_MESSAGES/django.po b/src/locale/ms_MY/LC_MESSAGES/django.po index 2fe96abcbb..dc8427f76f 100644 --- a/src/locale/ms_MY/LC_MESSAGES/django.po +++ b/src/locale/ms_MY/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:49\n" "Last-Translator: \n" "Language-Team: Malay\n" "Language: ms_MY\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Dokumen" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "" -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "" -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "" -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "" -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "" -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "" -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "" @@ -1680,7 +1680,7 @@ msgstr "" msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1920,40 +1920,40 @@ msgstr "" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/nl_NL/LC_MESSAGES/django.po b/src/locale/nl_NL/LC_MESSAGES/django.po index 027af40378..572156135f 100644 --- a/src/locale/nl_NL/LC_MESSAGES/django.po +++ b/src/locale/nl_NL/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:48\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Documenten" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "Waarde moet een geldige JSON zijn." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Ongeldige aangepaste veld query expressie" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Ongeldige expressielijst mag niet leeg zijn." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Ongeldige logische operator {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "Maximum aantal query voorwaarden overschreden." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} is geen geldig aangepast veld." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} ondersteunt geen query expr {expr!r}." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "Maximale nestdiepte overschreden." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Aangepast veld niet gevonden" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "" @@ -1680,7 +1680,7 @@ msgstr "Ongeldige variabele ontdekt." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1921,40 +1921,40 @@ msgstr "Vul als laatste stap het volgende formulier in:" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/no_NO/LC_MESSAGES/django.po b/src/locale/no_NO/LC_MESSAGES/django.po index a1c8d49c83..7e1b0c7990 100644 --- a/src/locale/no_NO/LC_MESSAGES/django.po +++ b/src/locale/no_NO/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:49\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Dokumenter" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "Verdien må være gyldig JSON." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Ugyldig spørringsuttrykk for egendefinerte felt" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Ugyldig uttrykksliste. Kan ikke være tom." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Ugyldig logiske operator {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "Maksimalt antall spørringsbetingelser er overskredet." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} er ikke et gyldig egendefinert felt." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} støtter ikke spørring expr {expr!r}." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "For mange nivåer med nøsting." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Egendefinert felt ble ikke funnet" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "workflow runs (NO)" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "Utilstrekkelige tillatelser." @@ -1680,7 +1680,7 @@ msgstr "Ugyldig variabel oppdaget." msgid "Duplicate document identifiers are not allowed." msgstr "Duplicate document identifiers are not allowed. (NO)" -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "Documents not found: %(ids)s (NO)" @@ -1921,40 +1921,40 @@ msgstr "As a final step, please complete the following form: (NO)" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "Specify only one of text, title_search, query, or more_like_id. (NO)" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "Invalid more_like_id (NO)" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "Invalid AI configuration. (NO)" -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "Forespørselen til KI-tjenesten fikk tidsavbrudd." -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Insufficient permissions to share document %(id)s. (NO)" -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "Bundle is already being processed. (NO)" -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "The share link bundle is still being prepared. Please try again later. (NO)" -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "The share link bundle is unavailable. (NO)" diff --git a/src/locale/pl_PL/LC_MESSAGES/django.po b/src/locale/pl_PL/LC_MESSAGES/django.po index aea35b2ce8..5e88ac3ab1 100644 --- a/src/locale/pl_PL/LC_MESSAGES/django.po +++ b/src/locale/pl_PL/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:49\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Dokumenty" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "Wartość musi być poprawnym JSON-em." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Nieprawidłowe wyrażenie zapytania pola niestandardowego" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Nieprawidłowa lista wyrażeń. Nie może być pusta." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Nieprawidłowy operator logiczny {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "Maksymalna liczba warunków zapytania została przekroczona." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} nie jest prawidłowym polem niestandardowym." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} nie obsługuje wyrażenia zapytania {expr!r}." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "Przekroczono maksymalną głębokość zagnieżdżenia." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Nie znaleziono pola niestandardowego" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "uruchomienia przepływu pracy" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "Niewystarczające uprawnienia." @@ -1680,7 +1680,7 @@ msgstr "Wykryto nieprawidłową zmienną." msgid "Duplicate document identifiers are not allowed." msgstr "Nie dopuszcza się powielania identyfikatorów dokumentów." -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "Nie znaleziono dokumentów: %(ids)s" @@ -1921,40 +1921,40 @@ msgstr "Na koniec należy wypełnić poniższy formularz:" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "Nieprawidłowy more_like_id" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Brak uprawnień do udostępnienia dokumentu %(id)s." -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "Pakiet jest już przetwarzany." -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "Pakiet do udostępnienia jest nadal przygotowywany. Spróbuj ponownie później." -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "Pakiet do udostępnienia jest niedostępny." diff --git a/src/locale/pt_BR/LC_MESSAGES/django.po b/src/locale/pt_BR/LC_MESSAGES/django.po index a8d0047bf6..998eeb9486 100644 --- a/src/locale/pt_BR/LC_MESSAGES/django.po +++ b/src/locale/pt_BR/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:49\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Documentos" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "O valor deve ser um JSON válido." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Expressão de consulta de campo personalizado inválida" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Lista de expressões inválida. Deve estar não vazia." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Operador lógico inválido {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "Número máximo de condições de consulta excedido." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} não é um campo personalizado válido." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} não suporta a consulta expr {expr!r}." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "Profundidade máxima do aninhamento excedida." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Campo personalizado não encontrado" @@ -1641,7 +1641,7 @@ msgid "workflow runs" msgstr "execução de fluxo de trabalho" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "Permissões insuficientes." @@ -1681,7 +1681,7 @@ msgstr "Variável inválida detectada." msgid "Duplicate document identifiers are not allowed." msgstr "Não são permitidos identificadores de documento duplicados." -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "Documentos não encontrados: %(ids)s" @@ -1922,40 +1922,40 @@ msgstr "Como etapa final, por favor preencha o seguinte formulário:" msgid ", " msgstr ", " -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "Especifique apenas um text, title_search, consulta ou mais_like_id." -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "more_like_id inválido" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "Configuração de IA inválida." -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "A requisição backend da IA expirou." -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "O backend da IA rejeitou o pedido. Checar logs para detalhes." -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Permissões insuficientes para compartilhar o documento %(id)s." -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "Pacote já está sendo processado." -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "O pacote de link de compartilhamento ainda está sendo preparado. Tente novamente mais tarde." -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "O pacote de link de compartilhamento não está disponível." diff --git a/src/locale/pt_PT/LC_MESSAGES/django.po b/src/locale/pt_PT/LC_MESSAGES/django.po index 85477d7a58..c9e2564edf 100644 --- a/src/locale/pt_PT/LC_MESSAGES/django.po +++ b/src/locale/pt_PT/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:49\n" "Last-Translator: \n" "Language-Team: Portuguese\n" "Language: pt_PT\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Documentos" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "O valor deve ser JSON válido." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Expressão de consulta de campo personalizado inválido" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Lista de expressões inválida. Não deve estar vazia." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Operador lógico inválido {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "O número máximo de condições de consulta foi excedido." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} não é um campo personalizado válido." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} não aceita a expressão de consulta {expr!r}." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "" -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Campo personalizado não encontrado" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "" @@ -1680,7 +1680,7 @@ msgstr "Variável inválida detetada." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1921,40 +1921,40 @@ msgstr "" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/ro_RO/LC_MESSAGES/django.po b/src/locale/ro_RO/LC_MESSAGES/django.po index ef2c7e9984..e8d75ead41 100644 --- a/src/locale/ro_RO/LC_MESSAGES/django.po +++ b/src/locale/ro_RO/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:49\n" "Last-Translator: \n" "Language-Team: Romanian\n" "Language: ro_RO\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Documente" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "Valoarea trebuie să fie validă JSON." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Expresie de interogare pentru câmp personalizat nevalidă" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Listă de expresii nevalidă. Trebuie să nu fie goală." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Operator logic nevalid {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "Numărul maxim de condiții de interogare a fost depășit." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} nu este un câmp personalizat valid." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} nu acceptă interogare expr {expr!r}." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "Adâncimea maximă depășită." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Câmpul personalizat nu a fost găsit" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "rulări flux de lucru" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "" @@ -1680,7 +1680,7 @@ msgstr "Variabilă nevalidă detectată." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1921,40 +1921,40 @@ msgstr "În etapa finală, vă rugăm să completați următorul formular:" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/ru_RU/LC_MESSAGES/django.po b/src/locale/ru_RU/LC_MESSAGES/django.po index ad1ee38298..db61db9eb8 100644 --- a/src/locale/ru_RU/LC_MESSAGES/django.po +++ b/src/locale/ru_RU/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:49\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Документы" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "Значение должно быть корректным JSON." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Неверное выражение запроса пользовательского поля" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Недопустимый список выражений. Не может быть пустым." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Недопустимый логический оператор {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "Превышено максимальное количество условий запроса." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} не является допустимым пользовательским полем." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} не поддерживает запрос {expr!r}." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "Превышена максимальная глубина вложения." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Пользовательское поле не найдено" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "запуски рабочего процесса" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "Недостаточно прав." @@ -1680,7 +1680,7 @@ msgstr "Обнаружена неверная переменная." msgid "Duplicate document identifiers are not allowed." msgstr "Повторяющиеся идентификаторы документа не допускаются." -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "Документы не найдены: %(ids)s" @@ -1921,40 +1921,40 @@ msgstr "На завершение, пожалуйста заполните сл msgid ", " msgstr ", " -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "Укажите только одно: текст, title_search, query или more _like_id." -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "Недопустимый more_like_id" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "Неверная конфигурация ИИ." -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "Таймаут запроса ИИ." -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "Движок ИИ отклонил запрос. Проверьте логи." -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Недостаточно прав для совместного доступа к документу %(id)s." -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "Пакет уже обрабатывается." -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "Набор ссылок все еще готовится. Пожалуйста, повторите попытку позже." -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "Пакет общих ссылок недоступен." diff --git a/src/locale/sk_SK/LC_MESSAGES/django.po b/src/locale/sk_SK/LC_MESSAGES/django.po index ad785c2559..39ea81c060 100644 --- a/src/locale/sk_SK/LC_MESSAGES/django.po +++ b/src/locale/sk_SK/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:49\n" "Last-Translator: \n" "Language-Team: Slovak\n" "Language: sk_SK\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Dokumenty" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "Hodnota musí byť v platnom formáte JSON." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Neplatný výraz požiadavky na vlastné pole" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Neplatný zoznam výrazov. Nesmie byť prázdny." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Neplatný logický operátor {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "Prekročili ste maximálny počet podmienok požiadavky." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} nie je platné vlastné pole." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} nepodporuje výraz požiadavky {expr!r}." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "Bola prekročená maximálna hĺbka vetvenia." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Vlastné pole nebolo nájdené" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "spustenia pracovných postupov" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "Nedostatočné oprávnenia." @@ -1680,7 +1680,7 @@ msgstr "Zistená neplatná premenná." msgid "Duplicate document identifiers are not allowed." msgstr "Duplicitné identifikátory dokumentov nie sú povolené." -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "Dokumenty sa nenašli: %(ids)s" @@ -1921,40 +1921,40 @@ msgstr "Ako posledný krok vyplňte nasledujúci formulár:" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "Zadajte iba jednu z možností: text, title_search, query alebo more_like_id." -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "Neplatné more_like_id" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "Neplatná konfigurácia umelej inteligencie." -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "Vypršal časový limit požiadavky na backend umelej inteligencie." -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "Backend umelej inteligencie zamietol požiadavku. Podrobnosti nájdete v záznamoch." -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Nedostatočné oprávnenia na zdieľanie dokumentu %(id)s." -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "Balík sa už spracúva." -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "Balík odkazov na zdieľanie sa stále pripravuje. Skúste to znova neskôr." -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "Balík odkazov na zdieľanie nie je k dispozícii." diff --git a/src/locale/sl_SI/LC_MESSAGES/django.po b/src/locale/sl_SI/LC_MESSAGES/django.po index 09b9111277..64fad0d152 100644 --- a/src/locale/sl_SI/LC_MESSAGES/django.po +++ b/src/locale/sl_SI/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:49\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Dokumenti" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "Vrednost mora biti veljaven JSON." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Neveljaven izraz poizvedbe po polju po meri" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Neveljaven seznam izrazov. Ne sme biti prazen." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Neveljaven logični operator {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "Preseženo je bilo največje dovoljeno število pogojev poizvedbe." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} ni veljavno polje po meri." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} ne podpira izraza poizvedbe {expr!r}." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "Presežena je bila največja globina gnezdenja." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Polja po meri ni bilo mogoče najti" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "poteka dela" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "Nezadostna dovoljenja." @@ -1680,7 +1680,7 @@ msgstr "Zaznani neveljavni znaki." msgid "Duplicate document identifiers are not allowed." msgstr "Podvojeni identifikatorji dokumentov niso dovoljeni." -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "Dokumentov ni bilo mogoče najti: %(ids)s" @@ -1921,40 +1921,40 @@ msgstr "Kot zadnji korak vas prosimo, da izpolnite naslednji obrazec:" msgid ", " msgstr "," -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "Navedite samo eno od naslednjih vrednosti: text, title_search, query ali more_like_id." -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "Neveljaven more_like_id" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "Neveljavna konfiguracija umetne inteligence." -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "Časovna omejitev zahteve za umetno inteligenco je potekla." -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "Zaledni sistem umetne inteligence je zavrnil zahtevo. Za podrobnosti preverite dnevnike." -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Nezadostna dovoljenja za skupno rabo dokumenta %(id)s." -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "Paket se že obdeluje." -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "Paket povezav za deljenje je še vedno v pripravi. Poskusite znova pozneje." -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "Paket povezav za deljenje ni na voljo." diff --git a/src/locale/sq_AL/LC_MESSAGES/django.po b/src/locale/sq_AL/LC_MESSAGES/django.po index ed43763dd5..9611d89e72 100644 --- a/src/locale/sq_AL/LC_MESSAGES/django.po +++ b/src/locale/sq_AL/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:48\n" "Last-Translator: \n" "Language-Team: Albanian\n" "Language: sq_AL\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Documents" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "Vlera duhet të jetë JSON i vlefshëm." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Shprehje e pavlefshme kërkimi për fushë të personalizuar" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Listë shprehjesh e pavlefshme. Nuk duhet të jetë bosh." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Invalid logical operator {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "Është tejkaluar numri maksimal i kushteve të kërkimit." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} nuk është fushë e personalizuar e vlefshme." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} nuk e mbështet shprehjen e kërkimit {expr!r}." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "Është tejkaluar thellësia maksimale e ndërfutjes." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Fusha e personalizuar nuk u gjet" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "ekzekutime rrjedhash pune" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "Leje të pamjaftueshme." @@ -1680,7 +1680,7 @@ msgstr "U zbulua variabël e pavlefshme." msgid "Duplicate document identifiers are not allowed." msgstr "Identifikuesit dublikatë të dokumenteve nuk lejohen." -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "Dokumentet nuk u gjetën: %(ids)s" @@ -1921,40 +1921,40 @@ msgstr "Si hap i fundit, ju lutemi plotësoni formularin e mëposhtëm:" msgid ", " msgstr " ," -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "Specifikoni vetëm njërën prej: text, title_search, query, ose more_like_id." -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "ID e pavlefshme e \"më shumë ngjashmëri\"" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "Konfigurim AI i pavlefshëm." -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "Kërkesa në backend-in e AI-së ka skaduar kohën." -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "Backend-i i AI-së refuzoi kërkesën. Kontrolloni regjistrimet për detaje." -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Leje të pamjaftueshme për të ndarë dokumentin %(id)s." -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "Paketa po përpunohet tashmë." -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "Paketa e lidhjes së ndarjes ende po përgatitet. Ju lutemi provoni përsëri më vonë." -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "Paketa e lidhjes së ndarjes nuk është e disponueshme." diff --git a/src/locale/sr_CS/LC_MESSAGES/django.po b/src/locale/sr_CS/LC_MESSAGES/django.po index 7da58e0bb1..68345b6d66 100644 --- a/src/locale/sr_CS/LC_MESSAGES/django.po +++ b/src/locale/sr_CS/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:49\n" "Last-Translator: \n" "Language-Team: Serbian (Latin)\n" "Language: sr_CS\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Dokumenta" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "Vrednost mora da bude važeći JSON." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Nevažeći izraz upita prilagođen polja" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Nevažeća lista izraza. Ne sme biti prazna." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Nevažeći logični operator {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "Premašen je maksimalni broj uslova u upitu." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} nije validno prilagođeno polje." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} ne podržava izraz u upitu {expr!r}." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "Premašena je maksimalna dubina grananja." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Nije pronađeno prilagođeno polje" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "pokretanje tokova rada" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "Nedovoljne dozvole." @@ -1680,7 +1680,7 @@ msgstr "Otkrivena je nevažeća promenljiva." msgid "Duplicate document identifiers are not allowed." msgstr "Duplirani identifikatori dokumenata nisu dozvoljeni." -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "Dokumenti nisu pronađeni: %(ids)s" @@ -1921,40 +1921,40 @@ msgstr "Kao poslednji korak, molimo Vas da popunite sledeći obrazac:" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "Navedite samo jedno od sledećeg: text, title_search, query ili more_like_id." -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "Nevažeći more_like_id" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "Nevažeća konfiguracija veštačke inteligencije." -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Nedovoljne dozvole za deljenje dokumenta %(id)s." -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "Paket se već obrađuje." -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "Paket linkova za deljenje se još uvek priprema. Molimo pokušajte ponovo kasnije." -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "Paket linkova za deljenje nije dostupan." diff --git a/src/locale/sv_SE/LC_MESSAGES/django.po b/src/locale/sv_SE/LC_MESSAGES/django.po index 0f03c94612..2035970750 100644 --- a/src/locale/sv_SE/LC_MESSAGES/django.po +++ b/src/locale/sv_SE/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:49\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Dokument" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "Värdet måste vara giltigt JSON." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Ogiltigt sökordsuttryck för anpassade fält" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Ogiltig uttryckslista. Får inte vara tom." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Ogiltig logisk operator {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "Maximalt antal frågevillkor överskrids." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} är inte ett giltigt anpassat fält." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} stöder inte frågan expr {expr!r}." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "Maximalt antal nästlade nivåer överskrids." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Anpassat fält hittades inte" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "arbetsflöde körs" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "Otillräckliga behörigheter." @@ -1680,7 +1680,7 @@ msgstr "Ogiltig variabel upptäckt." msgid "Duplicate document identifiers are not allowed." msgstr "Dubbletter av dokumentidentifierare är inte tillåtna." -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "Dokumenten hittades inte: %(ids)s" @@ -1921,40 +1921,40 @@ msgstr "Slutför följande formulär som ett sista steg:" msgid ", " msgstr ", " -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "Ange endast ett av text, title_search, query och more_like_id." -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "Ogiltig more_like_id" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "Ogiltig AI-konfiguration." -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "Begäran till AI-serverdelen tog för lång tid." -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "AI-serverdelen avvisade begäran. Kontrollera loggarna för detaljer." -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Otillräckliga behörigheter för att dela dokument %(id)s." -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "Paketet behandlas redan." -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "Delningslänkpaketet förbereds fortfarande. Försök igen senare." -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "Delningslänkpaketet är inte tillgängligt." diff --git a/src/locale/th_TH/LC_MESSAGES/django.po b/src/locale/th_TH/LC_MESSAGES/django.po index 28b0d5ec2e..efd969b02e 100644 --- a/src/locale/th_TH/LC_MESSAGES/django.po +++ b/src/locale/th_TH/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:49\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "เอกสาร" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "ค่า ต้องอยู่ในรูปแบบ JSON ที่ถูกต้อง" -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "รูปแบบการค้นหาฟิลด์ที่กำหนดเองไม่ถูกต้อง" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "รายการคำสั่งไม่ถูกต้อง ต้องไม่เว้นว่าง" -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "ตัวดำเนินการเชิงตรรกะ {op!r} ไม่ถูกต้อง" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "จำนวนเงื่อนไขในการค้นหาเกินกำหนด" -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} ไม่ใช่ฟิลด์ที่กำหนดเองที่ถูกต้อง" -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} ไม่รองรับรูปแบบการค้นหา {expr!r}" -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "จำนวนการซ้อนเงื่อนไขสูงสุดเกินขีดจำกัด" -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "ไม่พบฟิลด์ที่กำหนด" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "" @@ -1680,7 +1680,7 @@ msgstr "ตรวจพบตัวแปรไม่ถูกต้อง" msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1920,40 +1920,40 @@ msgstr "" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/tr_TR/LC_MESSAGES/django.po b/src/locale/tr_TR/LC_MESSAGES/django.po index 27ddcd879f..684a50926f 100644 --- a/src/locale/tr_TR/LC_MESSAGES/django.po +++ b/src/locale/tr_TR/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:49\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Belgeler" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "Değer geçerli bir JSON olmalıdır." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Geçersiz özel alan sorgu ifadesi" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Geçersiz ifade listesi. Boş olmamalıdır." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Geçersiz mantıksal işleç {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "En çok sorgu koşulu sayısı aşıldı." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} geçerli bir özel alan değil." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type}, {expr!r} sorgu ifadesini desteklemiyor." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "En çok iç içe geçme izni aşıldı." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Özel alan bulunamadı" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "iş akışı çalıştırma" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "Yetersiz izin." @@ -1680,7 +1680,7 @@ msgstr "Geçersiz değişken algılandı." msgid "Duplicate document identifiers are not allowed." msgstr "Doküman kimliği çakışmasına izin verilmiyor." -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "Dosyalar bulunamadı: %(ids)s" @@ -1921,40 +1921,40 @@ msgstr "Son adım olarak, lütfen aşağıdaki formu doldurun:" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "Yalnızca bir metin, title_search, sorgu veya more_like_id" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "Geçersiz more_like_id" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "Geçersiz yapay zeka konfigürasyonu." -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "Yapay zeka isteği zaman aşımına uğradı." -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "%(id)s dosyasını paylaşmak için yetkiniz yok." -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "Paket zaten işlemede." -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/uk_UA/LC_MESSAGES/django.po b/src/locale/uk_UA/LC_MESSAGES/django.po index ac3080703b..71fbcf1721 100644 --- a/src/locale/uk_UA/LC_MESSAGES/django.po +++ b/src/locale/uk_UA/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:49\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Документи" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "Значення має бути коректним JSON." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Хибний вираз запиту користувацького поля" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Недопустимий список виразів. Має бути непустим." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Неприпустимий логічний оператор {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "Перевищено максимальну кількість умов запиту." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} не є дійсним користувацьким полем." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} не підтримує вираз {expr!r}." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "Перевищена максимальна глибина вкладення." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Не знайдено користувацьке поле" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "" @@ -1680,7 +1680,7 @@ msgstr "Виявлено неправильну змінну." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1921,40 +1921,40 @@ msgstr "Як останній крок, будь ласка, заповніть msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/vi_VN/LC_MESSAGES/django.po b/src/locale/vi_VN/LC_MESSAGES/django.po index 215dbd686a..2b18c0b3cd 100644 --- a/src/locale/vi_VN/LC_MESSAGES/django.po +++ b/src/locale/vi_VN/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:49\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "Tài liệu" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "." -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "Biểu thức truy vấn trường tùy chỉnh không hợp lệ" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "Danh sách biểu thức không hợp lệ. Phải không rỗng." -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "Toán tử lô-gic không hợp lệ {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "Đã vượt quá số điều kiện truy vấn tối đa." -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} không phải là trường tùy chỉnh hợp lệ." -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} không hỗ trợ expr truy vấn{expr!r}." -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "Đã vượt quá độ sâu lồng nhau tối đa." -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Không tìm thấy trường tùy chỉnh" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "các lần chạy quy trình" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "Không có đủ quyền." @@ -1680,7 +1680,7 @@ msgstr "Đã phát hiện biến số không hợp lệ." msgid "Duplicate document identifiers are not allowed." msgstr "Không cho phép các định danh tài liệu trùng lặp" -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "Không tìm thấy tài liệu: %(ids)s" @@ -1921,40 +1921,40 @@ msgstr "Là bước cuối cùng, vui lòng hoàn thành mẫu đơn sau:" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Không đủ quyền để chia sẻ tài liệu %(id)s" -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "Gói đang được xử lý" -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "Liên kết chia sẻ gói vẫn đang được chuẩn bị. Vui lòng thử lại sau." -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "Không tồn tại liên kết chia sẻ gói" diff --git a/src/locale/zh_CN/LC_MESSAGES/django.po b/src/locale/zh_CN/LC_MESSAGES/django.po index 75ba3a0e0e..cf0b623866 100644 --- a/src/locale/zh_CN/LC_MESSAGES/django.po +++ b/src/locale/zh_CN/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:48\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "文档" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "值必须是有效的 JSON 格式。" -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "无效的自定义字段查询表达式" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "无效的表达式列表。必须不为空。" -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "无效的逻辑运算符 {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "超出查询条件的最大数量。" -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} 不是一个有效的自定义字段。" -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} 不支持查询表达式 {expr!r}。" -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "超出最大嵌套深度。" -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "Custom field not found" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "工作流运行" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "权限不足。" @@ -1680,7 +1680,7 @@ msgstr "检测到无效变量。" msgid "Duplicate document identifiers are not allowed." msgstr "不允许重复文档标识符。" -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "未找到文档:%(ids)s" @@ -1921,40 +1921,40 @@ msgstr "作为最后一步,请填写以下表格:" msgid ", " msgstr "," -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "只能指定 text、title_search、query 或 more_like_id 中的一项。" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "无效的more_like_id" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "无效的 AI 配置。" -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "AI 后端请求超时。" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "AI 后端拒绝了请求。请检查日志的详细信息。" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "权限不足以分享文件:%(id)s。" -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "捆绑包已在处理中。" -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "分享链接包仍在准备中,请稍后再试。" -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "分享链接包不可用。" diff --git a/src/locale/zh_TW/LC_MESSAGES/django.po b/src/locale/zh_TW/LC_MESSAGES/django.po index d68adf7820..18eb648fdc 100644 --- a/src/locale/zh_TW/LC_MESSAGES/django.po +++ b/src/locale/zh_TW/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-29 17:25+0000\n" -"PO-Revision-Date: 2026-10-29 17:27\n" +"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"PO-Revision-Date: 2026-10-31 04:48\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Language: zh_TW\n" @@ -21,43 +21,43 @@ msgstr "" msgid "Documents" msgstr "文件" -#: documents/filters.py:337 +#: documents/filters.py:336 msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"." msgstr "" -#: documents/filters.py:513 +#: documents/filters.py:514 msgid "Value must be valid JSON." msgstr "參數值必須是有效的 JSON。" -#: documents/filters.py:534 +#: documents/filters.py:535 msgid "Invalid custom field query expression" msgstr "無效的自訂欄位查詢表達式" -#: documents/filters.py:544 +#: documents/filters.py:545 msgid "Invalid expression list. Must be nonempty." msgstr "無效的表達式列表,不能為空。" -#: documents/filters.py:565 +#: documents/filters.py:566 msgid "Invalid logical operator {op!r}" msgstr "無效的邏輯運算符 {op!r}" -#: documents/filters.py:579 +#: documents/filters.py:580 msgid "Maximum number of query conditions exceeded." msgstr "超過查詢條件的最大數量。" -#: documents/filters.py:643 +#: documents/filters.py:644 msgid "{name!r} is not a valid custom field." msgstr "{name!r} 不是有效的自訂欄位。" -#: documents/filters.py:680 +#: documents/filters.py:681 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} 不支援查詢表達式 {expr!r}。" -#: documents/filters.py:801 documents/models.py:137 +#: documents/filters.py:802 documents/models.py:137 msgid "Maximum nesting depth exceeded." msgstr "超過最大巢狀深度。" -#: documents/filters.py:1178 +#: documents/filters.py:1179 msgid "Custom field not found" msgstr "找不到自訂欄位" @@ -1640,7 +1640,7 @@ msgid "workflow runs" msgstr "執行工作流程" #: documents/serialisers.py:483 documents/serialisers.py:840 -#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730 +#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731 #: paperless_mail/serialisers.py:156 msgid "Insufficient permissions." msgstr "權限不足。" @@ -1680,7 +1680,7 @@ msgstr "偵測到無效的變數。" msgid "Duplicate document identifiers are not allowed." msgstr "文件識別碼不得重複。" -#: documents/serialisers.py:2958 documents/views.py:4780 +#: documents/serialisers.py:2958 documents/views.py:4781 #, python-format msgid "Documents not found: %(ids)s" msgstr "找不到文件:%(ids)s" @@ -1921,40 +1921,40 @@ msgstr "最後一步,請填寫以下表單:" msgid ", " msgstr "" -#: documents/views.py:315 +#: documents/views.py:303 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "只能指定 text、title_search、query 或 more_like_id 的其中一項。" -#: documents/views.py:353 documents/views.py:2727 +#: documents/views.py:341 documents/views.py:2728 msgid "Invalid more_like_id" msgstr "無效的 more_like_id" -#: documents/views.py:1665 +#: documents/views.py:1652 msgid "Invalid AI configuration." msgstr "無效的 AI 配置。" -#: documents/views.py:1676 +#: documents/views.py:1663 msgid "AI backend request timed out." msgstr "AI 後端請求逾時。" -#: documents/views.py:1688 +#: documents/views.py:1675 msgid "AI backend rejected the request. Check logs for details." msgstr "AI 後端拒絕了請求。請檢查日誌以取得詳細資訊。" -#: documents/views.py:4796 +#: documents/views.py:4797 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "權限不足,無法共用文件:%(id)s" -#: documents/views.py:4843 +#: documents/views.py:4844 msgid "Bundle is already being processed." msgstr "組合已在處理中。" -#: documents/views.py:4909 +#: documents/views.py:4910 msgid "The share link bundle is still being prepared. Please try again later." msgstr "共用連結組合仍在準備中,請稍後再試。" -#: documents/views.py:4923 +#: documents/views.py:4924 msgid "The share link bundle is unavailable." msgstr "共用連結組合無法使用。" From b67cfdf3fdfcde4883c4ac136c8545835f679d21 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 30 Oct 2026 22:20:31 -0700 Subject: [PATCH 13/44] Bump version to 3.4.1 --- pyproject.toml | 2 +- src-ui/package.json | 2 +- src-ui/src/environments/environment.prod.ts | 2 +- src/paperless/version.py | 2 +- uv.lock | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 10a5cab9ca..7c39550733 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "paperless-ngx" -version = "3.4.0" +version = "3.4.1" description = """\ A community-supported supercharged document management system: scan, index and archive all your physical documents\ """ diff --git a/src-ui/package.json b/src-ui/package.json index e186f5c3bc..1f38a2aefb 100644 --- a/src-ui/package.json +++ b/src-ui/package.json @@ -1,6 +1,6 @@ { "name": "paperless-ngx-ui", - "version": "3.4.0", + "version": "3.4.1", "scripts": { "preinstall": "npx only-allow pnpm", "ng": "ng", diff --git a/src-ui/src/environments/environment.prod.ts b/src-ui/src/environments/environment.prod.ts index e15853b353..05234d3f1c 100644 --- a/src-ui/src/environments/environment.prod.ts +++ b/src-ui/src/environments/environment.prod.ts @@ -8,7 +8,7 @@ export const environment = { apiVersion: '10', // match src/paperless/settings.py appTitle: DEFAULT_APP_TITLE, tag: 'prod', - version: '3.4.0', + version: '3.4.1', webSocketHost: window.location.host, webSocketProtocol: window.location.protocol == 'https:' ? 'wss:' : 'ws:', webSocketBaseUrl: base_url.pathname + 'ws/', diff --git a/src/paperless/version.py b/src/paperless/version.py index 9403c40746..185133b9f1 100644 --- a/src/paperless/version.py +++ b/src/paperless/version.py @@ -1,6 +1,6 @@ from typing import Final -__version__: Final[tuple[int, int, int]] = (3, 4, 0) +__version__: Final[tuple[int, int, int]] = (3, 4, 1) # Version string like X.Y.Z __full_version_str__: Final[str] = ".".join(map(str, __version__)) # Version string like X.Y diff --git a/uv.lock b/uv.lock index 054fb3da51..ca7166b566 100644 --- a/uv.lock +++ b/uv.lock @@ -3085,7 +3085,7 @@ wheels = [ [[package]] name = "paperless-ngx" -version = "3.4.0" +version = "3.4.1" source = { virtual = "." } dependencies = [ { name = "azure-ai-documentintelligence" }, From 13acdabb47ed2b2b17ab2c23b8183c5323b1ce62 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 30 Oct 2026 22:44:05 -0700 Subject: [PATCH 14/44] Changelog v3.4.1 - GHA (#14605) Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> --- docs/changelog.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index cc54579cf1..af1ad02098 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,29 @@ # Changelog +## paperless-ngx 3.4.1 + +### Bug Fixes + +- Fix the id\_\_ schemae in the right place [@shamoon](https://github.com/shamoon) ([#14604](https://github.com/paperless-ngx/paperless-ngx/pull/14604)) +- Fix: drop redundant change perms checks on cards open button [@shamoon](https://github.com/shamoon) ([#14601](https://github.com/paperless-ngx/paperless-ngx/pull/14601)) +- Tweak/fix: make new pdf controls mostly hidden [@shamoon](https://github.com/shamoon) ([#14595](https://github.com/paperless-ngx/paperless-ngx/pull/14595)) +- Tweak/fix: move preview button in doc list [@shamoon](https://github.com/shamoon) ([#14594](https://github.com/paperless-ngx/paperless-ngx/pull/14594)) +- Fix: checksum light mode display and cf dropdown mobile position [@shamoon](https://github.com/shamoon) ([#14590](https://github.com/paperless-ngx/paperless-ngx/pull/14590)) + +### All App Changes + +
+6 changes + +- Fix the id\_\_ schemae in the right place [@shamoon](https://github.com/shamoon) ([#14604](https://github.com/paperless-ngx/paperless-ngx/pull/14604)) +- Fix: drop redundant change perms checks on cards open button [@shamoon](https://github.com/shamoon) ([#14601](https://github.com/paperless-ngx/paperless-ngx/pull/14601)) +- Chore: Improve idle memory via more lazy imports [@stumpylog](https://github.com/stumpylog) ([#14599](https://github.com/paperless-ngx/paperless-ngx/pull/14599)) +- Tweak/fix: make new pdf controls mostly hidden [@shamoon](https://github.com/shamoon) ([#14595](https://github.com/paperless-ngx/paperless-ngx/pull/14595)) +- Tweak/fix: move preview button in doc list [@shamoon](https://github.com/shamoon) ([#14594](https://github.com/paperless-ngx/paperless-ngx/pull/14594)) +- Fix: checksum light mode display and cf dropdown mobile position [@shamoon](https://github.com/shamoon) ([#14590](https://github.com/paperless-ngx/paperless-ngx/pull/14590)) + +
+ ## paperless-ngx 3.4.0 ### Features / Enhancements From 34c88613f6be99dfa677a5c69e9dce310f8213f7 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 30 Oct 2026 23:11:45 -0700 Subject: [PATCH 15/44] Fix: fix custom fields dropdown text size (#14606) --- .../custom-fields-dropdown.component.html | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src-ui/src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.html b/src-ui/src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.html index a465478f9c..2adeaad9b0 100644 --- a/src-ui/src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.html +++ b/src-ui/src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.html @@ -11,14 +11,12 @@
@for (field of filteredFields; track field.id) { } @if (!filterText?.length || filteredFields.length === 0) { }
From d98918dd97cda73c8a906b66349e4e8e7f2211d0 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 31 Oct 2026 06:13:00 +0000 Subject: [PATCH 16/44] Auto translate strings --- src-ui/messages.xlf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src-ui/messages.xlf b/src-ui/messages.xlf index c200b4dc67..a95a8f5c2f 100644 --- a/src-ui/messages.xlf +++ b/src-ui/messages.xlf @@ -4389,7 +4389,7 @@ Create new field src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.html - 20 + 19 From 3289be73830c4063beafcc5a039fd3d7bae3baa8 Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Sat, 31 Oct 2026 09:32:58 -0700 Subject: [PATCH 17/44] Fix: Various small bugs found during typing updates (#14593) * Fix: match Apple Mail tag colors case-insensitively * Fix: reject OAuth callbacks with an unrecognized scope * Fix: refuse to refresh OAuth tokens for non-OAuth accounts or missing refresh tokens * Fix: parse datetime strings in the format_datetime filter and reject invalid ones * Fix: reject a PAPERLESS_URL without a hostname * Fix: report a database error in the system status instead of failing with a 500 * Fix: surface the database error when refreshing a document before moving its files * Fix: report no unapplied migrations when the applied migrations cannot be read * Fix: return the parsed value directly in format_datetime for typing * Chore: annotate the paperless_dirs fixture in the refresh failure test * Allow null for the latest_migration system status type --------- Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com> --- src-ui/src/app/data/system-status.ts | 2 +- src/documents/signals/handlers.py | 12 ++-- src/documents/templating/filters.py | 5 +- src/documents/tests/test_api_status.py | 47 +++++++++++++++ src/documents/tests/test_file_handling.py | 26 +++++++++ src/documents/tests/test_filters.py | 21 +++++++ src/documents/views.py | 13 ++++- src/paperless/settings/__init__.py | 7 ++- src/paperless/tests/settings/test_settings.py | 19 ++++++ src/paperless_mail/mail.py | 4 +- src/paperless_mail/oauth.py | 6 ++ src/paperless_mail/tests/test_mail.py | 27 +++++++++ src/paperless_mail/tests/test_mail_oauth.py | 58 +++++++++++++++++++ src/paperless_mail/views.py | 8 +++ 14 files changed, 241 insertions(+), 14 deletions(-) diff --git a/src-ui/src/app/data/system-status.ts b/src-ui/src/app/data/system-status.ts index 41cc738cc7..f2a8f90d27 100644 --- a/src-ui/src/app/data/system-status.ts +++ b/src-ui/src/app/data/system-status.ts @@ -24,7 +24,7 @@ export interface SystemStatus { status: SystemStatusItemStatus error?: string migration_status: { - latest_migration: string + latest_migration: string | null unapplied_migrations: string[] } } diff --git a/src/documents/signals/handlers.py b/src/documents/signals/handlers.py index f6a318c0ef..9c20e97f21 100644 --- a/src/documents/signals/handlers.py +++ b/src/documents/signals/handlers.py @@ -476,13 +476,13 @@ def update_filename_and_move_files( return with FileLock(settings.MEDIA_LOCK): - try: - # If this was waiting for the lock, the filename or archive_filename - # of this document may have been updated. This happens if multiple updates - # get queued from the UI for the same document - # So freshen up the data before doing anything - instance.refresh_from_db() + # If this was waiting for the lock, the filename or archive_filename + # of this document may have been updated. This happens if multiple updates + # get queued from the UI for the same document + # So freshen up the data before doing anything + instance.refresh_from_db() + try: old_filename = instance.filename old_source_path = instance.source_path move_original = False diff --git a/src/documents/templating/filters.py b/src/documents/templating/filters.py index 698746c76e..ac065b34c5 100644 --- a/src/documents/templating/filters.py +++ b/src/documents/templating/filters.py @@ -44,7 +44,10 @@ def localize_date(value: date | datetime | str, format: str, locale: str) -> str def format_datetime(value: str | datetime, format: str) -> str: if isinstance(value, str): - value = parse_date(value) + parsed = parse_datetime(value) or parse_date(value) + if parsed is None: + raise ValueError(f"Invalid date or datetime string: {value!r}") + return parsed.strftime(format=format) return value.strftime(format=format) diff --git a/src/documents/tests/test_api_status.py b/src/documents/tests/test_api_status.py index 6f200e54fe..2e458fa80f 100644 --- a/src/documents/tests/test_api_status.py +++ b/src/documents/tests/test_api_status.py @@ -539,3 +539,50 @@ class TestSystemStatus(APITestCase): self.assertEqual(response.data["tasks"]["summary"]["success_count"], 1) self.assertEqual(response.data["tasks"]["summary"]["failure_count"], 1) self.assertEqual(response.data["tasks"]["summary"]["pending_count"], 1) + + def test_system_status_reports_database_error(self) -> None: + """ + GIVEN: + - Reading the migration state fails + WHEN: + - The system status is requested + THEN: + - The response reports the database error rather than a server error + """ + self.client.force_login(self.user) + with mock.patch( + "documents.views.MigrationLoader", + side_effect=Exception("database is down"), + ): + response = self.client.get(self.ENDPOINT) + + self.assertEqual(response.status_code, status.HTTP_200_OK) + database = response.data["database"] + self.assertEqual(database["status"], "ERROR") + self.assertIsNotNone(database["error"]) + self.assertEqual( + database["migration_status"], + {"latest_migration": None, "unapplied_migrations": []}, + ) + + def test_system_status_migration_query_error(self) -> None: + """ + GIVEN: + - The migration graph loads but reading the applied migrations fails + WHEN: + - The system status is requested + THEN: + - No migrations are reported as unapplied, since the state is unknown + """ + self.client.force_login(self.user) + with mock.patch("documents.views.MigrationRecorder") as recorder: + recorder.Migration.objects.all.side_effect = Exception("query failed") + response = self.client.get(self.ENDPOINT) + + self.assertEqual(response.status_code, status.HTTP_200_OK) + database = response.data["database"] + self.assertEqual(database["status"], "ERROR") + self.assertEqual( + database["migration_status"], + {"latest_migration": None, "unapplied_migrations": []}, + ) diff --git a/src/documents/tests/test_file_handling.py b/src/documents/tests/test_file_handling.py index 46c54f98f3..fd6d2c85c9 100644 --- a/src/documents/tests/test_file_handling.py +++ b/src/documents/tests/test_file_handling.py @@ -31,6 +31,7 @@ from documents.serialisers import DocumentSerializer from documents.tasks import empty_trash from paperless_testing.assertions import FileSystemAssertsMixin from paperless_testing.dirs import DirectoriesMixin +from paperless_testing.dirs import PaperlessDirs from paperless_testing.factories import DocumentFactory from paperless_testing.factories import UserFactory @@ -2134,3 +2135,28 @@ class TestPathDateLocalization: with override_settings(FILENAME_FORMAT=filename_format): filename = generate_filename(document) assert filename == Path(expected_filename) + + +@pytest.mark.django_db +def test_refresh_failure_surfaces_database_error( + paperless_dirs: PaperlessDirs, +) -> None: + """ + GIVEN: + - A document with a stored filename + WHEN: + - Saving it triggers a filename update and refreshing it from the database fails + THEN: + - The database error is raised, not an unbound variable error from the rollback + """ + document = DocumentFactory(filename="some.pdf") + + with ( + mock.patch.object( + Document, + "refresh_from_db", + side_effect=DatabaseError("database is locked"), + ), + pytest.raises(DatabaseError, match="database is locked"), + ): + document.save() diff --git a/src/documents/tests/test_filters.py b/src/documents/tests/test_filters.py index a7ecbf1ced..7625b474ed 100644 --- a/src/documents/tests/test_filters.py +++ b/src/documents/tests/test_filters.py @@ -4,6 +4,7 @@ from typing import Literal import pytest +from documents.templating.filters import format_datetime from documents.templating.filters import localize_date @@ -294,3 +295,23 @@ class TestDateLocalization: Tests `localize_date` with `date` string across different locales and formats. """ assert localize_date(value, format_style, locale_str) == expected_output + + +class TestFormatDatetime: + @pytest.mark.parametrize( + ("value", "expected"), + [ + pytest.param("2026-09-21", "2026-09-21 00:00", id="date"), + pytest.param( + "2026-09-21T13:45:00+00:00", + "2026-09-21 13:45", + id="datetime", + ), + ], + ) + def test_parses_iso_strings(self, value: str, expected: str) -> None: + assert format_datetime(value, "%Y-%m-%d %H:%M") == expected + + def test_rejects_unparseable_string(self) -> None: + with pytest.raises(ValueError, match="not a date"): + format_datetime("not a date", "%Y") diff --git a/src/documents/views.py b/src/documents/views.py index 51dab2ecd9..aeed498cbb 100644 --- a/src/documents/views.py +++ b/src/documents/views.py @@ -5268,7 +5268,9 @@ class CustomFieldViewSet(PermissionsAwareDocumentCountMixin, ModelViewSet[Custom "migration_status": inline_serializer( name="MigrationStatus", fields={ - "latest_migration": serializers.CharField(), + "latest_migration": serializers.CharField( + allow_null=True, + ), "unapplied_migrations": serializers.ListSerializer( child=serializers.CharField(), ), @@ -5343,6 +5345,8 @@ class SystemStatusView(PassUserMixin): db_conn = connections["default"] db_url = str(db_conn.settings_dict["NAME"]) db_error = None + all_migrations: list[str] = [] + applied_migrations: list[str] = [] try: db_conn.ensure_connection() @@ -5353,7 +5357,8 @@ class SystemStatusView(PassUserMixin): f"{m.app}.{m.name}" for m in MigrationRecorder.Migration.objects.all().order_by("id") ] - except Exception as e: # pragma: no cover + except Exception as e: + all_migrations = [] applied_migrations = [] db_status = "ERROR" logger.exception( @@ -5549,7 +5554,9 @@ class SystemStatusView(PassUserMixin): "status": db_status, "error": db_error, "migration_status": { - "latest_migration": applied_migrations[-1], + "latest_migration": ( + applied_migrations[-1] if applied_migrations else None + ), "unapplied_migrations": [ m for m in all_migrations if m not in applied_migrations ], diff --git a/src/paperless/settings/__init__.py b/src/paperless/settings/__init__.py index 4fe51bda16..b3e2b71ab2 100644 --- a/src/paperless/settings/__init__.py +++ b/src/paperless/settings/__init__.py @@ -461,9 +461,14 @@ def _parse_paperless_url(): global CSRF_TRUSTED_ORIGINS, CORS_ALLOWED_ORIGINS, ALLOWED_HOSTS url = os.getenv("PAPERLESS_URL") if url: + hostname = urlparse(url).hostname + if not hostname: + raise ImproperlyConfigured( + f"PAPERLESS_URL {url!r} has no hostname, expected a URL like https://example.com", + ) CSRF_TRUSTED_ORIGINS.append(url) CORS_ALLOWED_ORIGINS.append(url) - ALLOWED_HOSTS.append(urlparse(url).hostname) + ALLOWED_HOSTS.append(hostname) return url diff --git a/src/paperless/tests/settings/test_settings.py b/src/paperless/tests/settings/test_settings.py index 701f203f1b..be218a3d7a 100644 --- a/src/paperless/tests/settings/test_settings.py +++ b/src/paperless/tests/settings/test_settings.py @@ -166,3 +166,22 @@ class TestPaperlessURLSettings(TestCase): self.assertIn(url, settings.CSRF_TRUSTED_ORIGINS) self.assertIn(url, settings.CORS_ALLOWED_ORIGINS) + + +@pytest.mark.parametrize("url", ["example.com", "https://", "/just/a/path"]) +def test_paperless_url_without_hostname_is_rejected( + monkeypatch: pytest.MonkeyPatch, + url: str, +) -> None: + """ + GIVEN: + - PAPERLESS_URL is set to a value with no hostname + WHEN: + - The URL is parsed + THEN: + - A configuration error is raised instead of adding None to ALLOWED_HOSTS + """ + monkeypatch.setenv("PAPERLESS_URL", url) + + with pytest.raises(ImproperlyConfigured, match="no hostname"): + _parse_paperless_url() diff --git a/src/paperless_mail/mail.py b/src/paperless_mail/mail.py index fb8568e8ff..f5f3ffeef2 100644 --- a/src/paperless_mail/mail.py +++ b/src/paperless_mail/mail.py @@ -169,9 +169,9 @@ class TagMailAction(BaseMailAction): # The custom tag should look like "apple:" if "apple:" in parameter.lower(): _, self.color = parameter.split(":") - self.color = self.color.strip() + self.color = self.color.strip().lower() - if self.color.lower() not in APPLE_MAIL_TAG_COLORS: + if self.color not in APPLE_MAIL_TAG_COLORS: raise MailError("Not a valid AppleMail tag color.") self.keyword = None diff --git a/src/paperless_mail/oauth.py b/src/paperless_mail/oauth.py index 08b5d96474..30c9b8933b 100644 --- a/src/paperless_mail/oauth.py +++ b/src/paperless_mail/oauth.py @@ -89,6 +89,9 @@ class PaperlessMailOAuth2Manager: """ logger = logging.getLogger("paperless_mail") logger.debug(f"Attempting to refresh oauth token for account {account}") + if account.refresh_token is None: + logger.error(f"Account {account} has no refresh token to use") + return False try: result: OAuth2Token if account.account_type == MailAccount.MailAccountType.GMAIL_OAUTH: @@ -103,6 +106,9 @@ class PaperlessMailOAuth2Manager: refresh_token=account.refresh_token, ), ) + else: + logger.error(f"Account {account} does not use OAuth") + return False if "refresh_token" in result: # Outlook returns a new refresh token on refresh, Gmail does not account.refresh_token = result["refresh_token"] diff --git a/src/paperless_mail/tests/test_mail.py b/src/paperless_mail/tests/test_mail.py index 56c2da4679..366fe0e641 100644 --- a/src/paperless_mail/tests/test_mail.py +++ b/src/paperless_mail/tests/test_mail.py @@ -23,6 +23,7 @@ from rest_framework.test import APITestCase from documents.models import Correspondent from documents.models import MatchingModel from paperless_mail import tasks +from paperless_mail.mail import APPLE_MAIL_TAG_COLORS from paperless_mail.mail import MailAccountHandler from paperless_mail.mail import MailError from paperless_mail.mail import TagMailAction @@ -1873,6 +1874,32 @@ class TestErrorCallback: assert processed_mails.get().owner == owner +class TestTagMailActionColor: + @pytest.mark.parametrize( + "parameter", + ["apple:green", "apple:Green", "APPLE: GREEN "], + ) + def test_color_case_is_ignored(self, parameter: str) -> None: + """ + GIVEN: + - An Apple Mail tag parameter in any letter case + WHEN: + - The action tags a message + THEN: + - The lowercase color's flag bits are set on the message + """ + action = TagMailAction(parameter, supports_gmail_labels=False) + mailbox = mock.Mock() + + action.post_consume(mailbox, "1", parameter) + + assert mailbox.flag.call_args_list[1] == mock.call( + "1", + APPLE_MAIL_TAG_COLORS["green"], + value=True, + ) + + class TestManagementCommand(TestCase): @mock.patch( "paperless_mail.management.commands.mail_fetcher.tasks.process_mail_accounts", diff --git a/src/paperless_mail/tests/test_mail_oauth.py b/src/paperless_mail/tests/test_mail_oauth.py index c3ba99ce98..8e0768a88c 100644 --- a/src/paperless_mail/tests/test_mail_oauth.py +++ b/src/paperless_mail/tests/test_mail_oauth.py @@ -264,6 +264,28 @@ class TestMailOAuth( MailAccount.objects.filter(imap_server="outlook.office365.com").exists(), ) + def test_oauth_callback_view_unrecognized_scope(self) -> None: + """ + GIVEN: + - A valid OAuth state and a callback scope that is not Google's + WHEN: + - OAuth callback is called + THEN: + - 400 is returned instead of a server error and no account is created + """ + session = self.client.session + session["oauth_state"] = "test_state" + session.save() + + for scope in ("", "openid", "https://example.com/other"): + with self.subTest(scope=scope): + response = self.client.get( + "/api/oauth/callback/", + {"code": "test_code", "scope": scope, "state": "test_state"}, + ) + self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) + self.assertFalse(MailAccount.objects.exists()) + @mock.patch("paperless_mail.mail.get_mailbox") @mock.patch( "httpx_oauth.oauth2.BaseOAuth2.refresh_token", @@ -366,3 +388,39 @@ class TestMailOAuth( f"Failed to refresh oauth token for account {mail_account}: test_error", cm.output[0], ) + + def test_refresh_account_oauth_token_non_oauth_account(self) -> None: + """ + GIVEN: + - A mail account which does not use OAuth + WHEN: + - A token refresh is requested + THEN: + - False is returned rather than an unbound variable error + """ + account = MailAccountFactory( + account_type=MailAccount.MailAccountType.IMAP, + refresh_token="token", + ) + + self.assertFalse( + PaperlessMailOAuth2Manager().refresh_account_oauth_token(account), + ) + + def test_refresh_account_oauth_token_without_refresh_token(self) -> None: + """ + GIVEN: + - An OAuth mail account with no refresh token stored + WHEN: + - A token refresh is requested + THEN: + - False is returned + """ + account = MailAccountFactory( + account_type=MailAccount.MailAccountType.GMAIL_OAUTH, + refresh_token=None, + ) + + self.assertFalse( + PaperlessMailOAuth2Manager().refresh_account_oauth_token(account), + ) diff --git a/src/paperless_mail/views.py b/src/paperless_mail/views.py index ce1f6a079e..1da81cf666 100644 --- a/src/paperless_mail/views.py +++ b/src/paperless_mail/views.py @@ -319,6 +319,14 @@ class OauthCallbackView(GenericAPIView[Any]): result = oauth_manager.get_outlook_access_token(code) + else: + logger.error( + f"Invalid oauth callback request: unrecognized scope {scope!r}", + ) + return HttpResponseBadRequest( + "Invalid request, see logs for more detail", + ) + access_token = result["access_token"] refresh_token = result["refresh_token"] expires_in = result["expires_in"] From a19804a0b7a1e506816f363f64fe097af54f55b6 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 31 Oct 2026 16:34:17 +0000 Subject: [PATCH 18/44] Auto translate strings --- src/locale/en_US/LC_MESSAGES/django.po | 76 +++++++++++++------------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/src/locale/en_US/LC_MESSAGES/django.po b/src/locale/en_US/LC_MESSAGES/django.po index f647c5a607..f3a707b640 100644 --- a/src/locale/en_US/LC_MESSAGES/django.po +++ b/src/locale/en_US/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-10-31 04:47+0000\n" +"POT-Creation-Date: 2026-10-31 16:33+0000\n" "PO-Revision-Date: 2022-02-17 04:17\n" "Last-Translator: \n" "Language-Team: English\n" @@ -2274,151 +2274,151 @@ msgstr "" msgid "paperless application settings" msgstr "" -#: paperless/settings/__init__.py:566 +#: paperless/settings/__init__.py:571 msgid "English (US)" msgstr "" -#: paperless/settings/__init__.py:567 +#: paperless/settings/__init__.py:572 msgid "Arabic" msgstr "" -#: paperless/settings/__init__.py:568 +#: paperless/settings/__init__.py:573 msgid "Afrikaans" msgstr "" -#: paperless/settings/__init__.py:569 +#: paperless/settings/__init__.py:574 msgid "Belarusian" msgstr "" -#: paperless/settings/__init__.py:570 +#: paperless/settings/__init__.py:575 msgid "Bulgarian" msgstr "" -#: paperless/settings/__init__.py:571 +#: paperless/settings/__init__.py:576 msgid "Catalan" msgstr "" -#: paperless/settings/__init__.py:572 +#: paperless/settings/__init__.py:577 msgid "Czech" msgstr "" -#: paperless/settings/__init__.py:573 +#: paperless/settings/__init__.py:578 msgid "Danish" msgstr "" -#: paperless/settings/__init__.py:574 +#: paperless/settings/__init__.py:579 msgid "German" msgstr "" -#: paperless/settings/__init__.py:575 +#: paperless/settings/__init__.py:580 msgid "Greek" msgstr "" -#: paperless/settings/__init__.py:576 +#: paperless/settings/__init__.py:581 msgid "English (GB)" msgstr "" -#: paperless/settings/__init__.py:577 +#: paperless/settings/__init__.py:582 msgid "Spanish" msgstr "" -#: paperless/settings/__init__.py:578 +#: paperless/settings/__init__.py:583 msgid "Persian" msgstr "" -#: paperless/settings/__init__.py:579 +#: paperless/settings/__init__.py:584 msgid "Finnish" msgstr "" -#: paperless/settings/__init__.py:580 +#: paperless/settings/__init__.py:585 msgid "French" msgstr "" -#: paperless/settings/__init__.py:581 +#: paperless/settings/__init__.py:586 msgid "Hungarian" msgstr "" -#: paperless/settings/__init__.py:582 +#: paperless/settings/__init__.py:587 msgid "Indonesian" msgstr "" -#: paperless/settings/__init__.py:583 +#: paperless/settings/__init__.py:588 msgid "Italian" msgstr "" -#: paperless/settings/__init__.py:584 +#: paperless/settings/__init__.py:589 msgid "Japanese" msgstr "" -#: paperless/settings/__init__.py:585 +#: paperless/settings/__init__.py:590 msgid "Korean" msgstr "" -#: paperless/settings/__init__.py:586 +#: paperless/settings/__init__.py:591 msgid "Luxembourgish" msgstr "" -#: paperless/settings/__init__.py:587 +#: paperless/settings/__init__.py:592 msgid "Norwegian" msgstr "" -#: paperless/settings/__init__.py:588 +#: paperless/settings/__init__.py:593 msgid "Dutch" msgstr "" -#: paperless/settings/__init__.py:589 +#: paperless/settings/__init__.py:594 msgid "Polish" msgstr "" -#: paperless/settings/__init__.py:590 +#: paperless/settings/__init__.py:595 msgid "Portuguese (Brazil)" msgstr "" -#: paperless/settings/__init__.py:591 +#: paperless/settings/__init__.py:596 msgid "Portuguese" msgstr "" -#: paperless/settings/__init__.py:592 +#: paperless/settings/__init__.py:597 msgid "Romanian" msgstr "" -#: paperless/settings/__init__.py:593 +#: paperless/settings/__init__.py:598 msgid "Russian" msgstr "" -#: paperless/settings/__init__.py:594 +#: paperless/settings/__init__.py:599 msgid "Slovak" msgstr "" -#: paperless/settings/__init__.py:595 +#: paperless/settings/__init__.py:600 msgid "Slovenian" msgstr "" -#: paperless/settings/__init__.py:596 +#: paperless/settings/__init__.py:601 msgid "Serbian" msgstr "" -#: paperless/settings/__init__.py:597 +#: paperless/settings/__init__.py:602 msgid "Swedish" msgstr "" -#: paperless/settings/__init__.py:598 +#: paperless/settings/__init__.py:603 msgid "Turkish" msgstr "" -#: paperless/settings/__init__.py:599 +#: paperless/settings/__init__.py:604 msgid "Ukrainian" msgstr "" -#: paperless/settings/__init__.py:600 +#: paperless/settings/__init__.py:605 msgid "Vietnamese" msgstr "" -#: paperless/settings/__init__.py:601 +#: paperless/settings/__init__.py:606 msgid "Chinese Simplified" msgstr "" -#: paperless/settings/__init__.py:602 +#: paperless/settings/__init__.py:607 msgid "Chinese Traditional" msgstr "" From 7ea58eaf46f03fe0c28ee9f3961f586cd6e5eef5 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat, 31 Oct 2026 13:42:56 -0700 Subject: [PATCH 19/44] Fix: move document list preview button to own column (#14610) --- .../document-list.component.html | 19 +++++++++++-------- .../document-list.component.scss | 4 ---- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src-ui/src/app/components/document-list/document-list.component.html b/src-ui/src/app/components/document-list/document-list.component.html index a16b4d819c..8a184ef022 100644 --- a/src-ui/src/app/components/document-list/document-list.component.html +++ b/src-ui/src/app/components/document-list/document-list.component.html @@ -208,7 +208,8 @@ i18n>Correspondent } @if (activeDisplayFields.includes(DisplayField.TITLE)) { - + } + @if (activeDisplayFields.includes(DisplayField.TITLE)) { + + + + + + } @if (activeDisplayFields.includes(DisplayField.TITLE) || activeDisplayFields.includes(DisplayField.TAGS)) { - + @if (activeDisplayFields.includes(DisplayField.TITLE)) { - + {{d.title | documentTitle}} } @if (activeDisplayFields.includes(DisplayField.TAGS)) { @for (tagID of d.tags; track tagID) { diff --git a/src-ui/src/app/components/document-list/document-list.component.scss b/src-ui/src/app/components/document-list/document-list.component.scss index 53d5fa51c3..44545aa800 100644 --- a/src-ui/src/app/components/document-list/document-list.component.scss +++ b/src-ui/src/app/components/document-list/document-list.component.scss @@ -87,10 +87,6 @@ $paperless-card-breakpoints: ( } } -.table .ps-5 { - padding-left: 2.2rem !important; -} - a { cursor: pointer; } From 45e99cde5a9e2e9581c67d183aef3fb67dd071ab Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 31 Oct 2026 20:44:16 +0000 Subject: [PATCH 20/44] Auto translate strings --- src-ui/messages.xlf | 54 ++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/src-ui/messages.xlf b/src-ui/messages.xlf index a95a8f5c2f..60101620f8 100644 --- a/src-ui/messages.xlf +++ b/src-ui/messages.xlf @@ -1402,7 +1402,7 @@ src/app/components/document-list/document-list.component.html - 239,240 + 240,241 src/app/data/document.ts @@ -1733,7 +1733,7 @@ src/app/components/document-list/document-list.component.html - 248,249 + 249,250 src/app/components/document-list/filter-editor/filter-editor.component.html @@ -1768,7 +1768,7 @@ src/app/components/document-list/document-list.component.html - 257,258 + 258,259 src/app/components/document-list/filter-editor/filter-editor.component.html @@ -1811,7 +1811,7 @@ src/app/components/document-list/document-list.component.html - 221,222 + 222,223 src/app/components/document-list/filter-editor/filter-editor.component.html @@ -2289,7 +2289,7 @@ src/app/components/document-list/document-list.component.html - 266,267 + 267,268 src/app/components/manage/share-links/share-link-bundle-list/share-link-bundle-list.component.html @@ -4115,7 +4115,7 @@ src/app/components/document-list/document-list.component.html - 388 + 391 @@ -4786,7 +4786,7 @@ src/app/components/document-list/document-list.component.html - 275,276 + 276,277 src/app/data/document.ts @@ -6604,7 +6604,7 @@ src/app/components/document-list/document-list.component.html - 218,219 + 219,220 src/app/components/document-list/filter-editor/filter-editor.component.ts @@ -8410,7 +8410,7 @@ src/app/components/document-list/document-list.component.html - 320 + 321 @@ -8425,7 +8425,7 @@ src/app/components/document-list/document-list.component.html - 360 + 363 @@ -8440,7 +8440,7 @@ src/app/components/document-list/document-list.component.html - 367 + 370 @@ -8458,7 +8458,7 @@ src/app/components/document-list/document-list.component.html - 388 + 391 @@ -9919,7 +9919,7 @@ src/app/components/document-list/document-list.component.html - 336 + 339 @@ -10234,21 +10234,21 @@ Sort by title src/app/components/document-list/document-list.component.html - 213 + 214 Sort by owner src/app/components/document-list/document-list.component.html - 226 + 227 Owner src/app/components/document-list/document-list.component.html - 230,231 + 231,232 src/app/data/document.ts @@ -10263,49 +10263,49 @@ Sort by notes src/app/components/document-list/document-list.component.html - 235 + 236 Sort by document type src/app/components/document-list/document-list.component.html - 244 + 245 Sort by storage path src/app/components/document-list/document-list.component.html - 253 + 254 Sort by created date src/app/components/document-list/document-list.component.html - 262 + 263 Sort by added date src/app/components/document-list/document-list.component.html - 271 + 272 Sort by number of pages src/app/components/document-list/document-list.component.html - 280 + 281 Pages src/app/components/document-list/document-list.component.html - 284,285 + 285,286 src/app/data/document.ts @@ -10324,28 +10324,28 @@ Shared src/app/components/document-list/document-list.component.html - 288 + 289 Sort by src/app/components/document-list/document-list.component.html - 294,295 + 295,296 Preview document src/app/components/document-list/document-list.component.html - 328 + 327 Edit document src/app/components/document-list/document-list.component.html - 331 + 335 From 217c5e681d407cb7a7ed5d5d2b2f490d103eb906 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun, 1 Nov 2026 05:35:38 -0800 Subject: [PATCH 21/44] Fix: add button type to zoom buttons to prevent form submission (#14624) --- .../components/document-detail/document-detail.component.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src-ui/src/app/components/document-detail/document-detail.component.html b/src-ui/src/app/components/document-detail/document-detail.component.html index ad9d0d0830..66b22d481f 100644 --- a/src-ui/src/app/components/document-detail/document-detail.component.html +++ b/src-ui/src/app/components/document-detail/document-detail.component.html @@ -485,7 +485,7 @@
}
- -
From 5b63c9a0ffbf8d535a92a9644d1d3a031a08fff4 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun, 1 Nov 2026 05:39:52 -0800 Subject: [PATCH 22/44] Fixhancement: add tag names to document history list (#14625) --- .../document-history.component.html | 2 ++ .../document-history.component.spec.ts | 34 +++++++++++++++++++ .../document-history.component.ts | 28 ++++++++++++++- 3 files changed, 63 insertions(+), 1 deletion(-) diff --git a/src-ui/src/app/components/document-detail/document-history/document-history.component.html b/src-ui/src/app/components/document-detail/document-history/document-history.component.html index e23ca6c07e..2c2ed0a7fb 100644 --- a/src-ui/src/app/components/document-detail/document-history/document-history.component.html +++ b/src-ui/src/app/components/document-detail/document-history/document-history.component.html @@ -47,6 +47,8 @@ {{ change.key | titlecase }}:  @if (change.key === 'content') { {{ change.value[1]?.substring(0,100) }}... + } @else if (change.key === 'tags') { + {{ getTagNames($any(change.value[1])) | async }} } @else { {{ getPrettyName(change.key, change.value[1]) | async }} } diff --git a/src-ui/src/app/components/document-detail/document-history/document-history.component.spec.ts b/src-ui/src/app/components/document-detail/document-history/document-history.component.spec.ts index c1845c8e47..1b00482101 100644 --- a/src-ui/src/app/components/document-detail/document-history/document-history.component.spec.ts +++ b/src-ui/src/app/components/document-detail/document-history/document-history.component.spec.ts @@ -12,6 +12,7 @@ import { CorrespondentService } from 'src/app/services/rest/correspondent.servic import { DocumentTypeService } from 'src/app/services/rest/document-type.service' import { DocumentService } from 'src/app/services/rest/document.service' import { StoragePathService } from 'src/app/services/rest/storage-path.service' +import { TagService } from 'src/app/services/rest/tag.service' import { UserService } from 'src/app/services/rest/user.service' import { DocumentHistoryComponent } from './document-history.component' @@ -174,6 +175,39 @@ describe('DocumentHistoryComponent', () => { }) }) + it('should render bulk tag history with names and preserve missing tag IDs', () => { + const getCachedSpy = jest + .spyOn(TestBed.inject(TagService), 'getCached') + .mockImplementation((id) => + of(id === 1 ? { id: 1, name: 'Invoice' } : null) + ) + component.entries.set([ + { + id: 1, + action: AuditLogAction.Update, + timestamp: '2021-01-01T00:00:00Z', + remote_addr: null, + changes: JSON.parse('{"tags":[[],[1,2345]]}'), + }, + ]) + component.loading.set(false) + fixture.detectChanges() + + expect(fixture.nativeElement.querySelector('code').textContent).toBe( + 'Invoice, 2345' + ) + fixture.detectChanges() + expect(getCachedSpy).toHaveBeenCalledTimes(2) + }) + + it('should handle removal of all tags without a lookup', () => { + const getCachedSpy = jest.spyOn(TestBed.inject(TagService), 'getCached') + component.getTagNames([]).subscribe((result) => { + expect(result).toBe('') + }) + expect(getCachedSpy).not.toHaveBeenCalled() + }) + it('getPrettyName should return the value as is for other types', () => { const id = '123' component.getPrettyName('other', id).subscribe((result) => { diff --git a/src-ui/src/app/components/document-detail/document-history/document-history.component.ts b/src-ui/src/app/components/document-detail/document-history/document-history.component.ts index d1cb069f47..37d999139c 100644 --- a/src-ui/src/app/components/document-detail/document-history/document-history.component.ts +++ b/src-ui/src/app/components/document-detail/document-history/document-history.component.ts @@ -2,7 +2,7 @@ import { AsyncPipe, KeyValuePipe, TitleCasePipe } from '@angular/common' import { Component, Input, OnInit, inject, signal } from '@angular/core' import { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap' import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' -import { Observable, first, map, of, shareReplay } from 'rxjs' +import { Observable, first, forkJoin, map, of, shareReplay } from 'rxjs' import { AuditLogAction, AuditLogEntry } from 'src/app/data/auditlog-entry' import { DataType } from 'src/app/data/datatype' import { CustomDatePipe } from 'src/app/pipes/custom-date.pipe' @@ -10,6 +10,7 @@ import { CorrespondentService } from 'src/app/services/rest/correspondent.servic import { DocumentTypeService } from 'src/app/services/rest/document-type.service' import { DocumentService } from 'src/app/services/rest/document.service' import { StoragePathService } from 'src/app/services/rest/storage-path.service' +import { TagService } from 'src/app/services/rest/tag.service' import { UserService } from 'src/app/services/rest/user.service' @Component({ @@ -30,6 +31,7 @@ export class DocumentHistoryComponent implements OnInit { private readonly correspondentService = inject(CorrespondentService) private readonly storagePathService = inject(StoragePathService) private readonly documentTypeService = inject(DocumentTypeService) + private readonly tagService = inject(TagService) private readonly userService = inject(UserService) public AuditLogAction = AuditLogAction @@ -63,6 +65,30 @@ export class DocumentHistoryComponent implements OnInit { } } + getTagNames(tagIds: number[]): Observable { + const cacheKey = `tags:${JSON.stringify(tagIds)}` + const cachedNames = this.prettyNameCache.get(cacheKey) + if (cachedNames) { + return cachedNames + } + + const tagNames$ = tagIds.length + ? forkJoin( + tagIds.map((tagId) => + this.tagService.getCached(tagId).pipe( + first(), + map((tag) => tag?.name ?? String(tagId)) + ) + ) + ).pipe(map((names) => names.join(', '))) + : of('') + const names$ = tagNames$.pipe( + shareReplay({ bufferSize: 1, refCount: true }) + ) + this.prettyNameCache.set(cacheKey, names$) + return names$ + } + getPrettyName(type: DataType | string, id: string): Observable { const cacheKey = `${type}:${id}` const cached = this.prettyNameCache.get(cacheKey) From cef246a761e059900d961e5b267a35fb463bd213 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Nov 2026 13:07:02 -0800 Subject: [PATCH 23/44] Chore(deps-dev): Bump @types/node from 26.6.2 to 26.6.5 in /src-ui (#14639) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 26.6.2 to 26.6.5. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-version: 26.6.5 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src-ui/package.json | 2 +- src-ui/pnpm-lock.yaml | 256 +++++++++++++++++++++--------------------- 2 files changed, 129 insertions(+), 129 deletions(-) diff --git a/src-ui/package.json b/src-ui/package.json index 1f38a2aefb..8a8ddcae72 100644 --- a/src-ui/package.json +++ b/src-ui/package.json @@ -58,7 +58,7 @@ "@angular/compiler-cli": "~22.2.2", "@playwright/test": "^1.62.1", "@types/jest": "^30.0.0", - "@types/node": "^26.6.2", + "@types/node": "^26.6.5", "@typescript-eslint/eslint-plugin": "^8.70.1", "@typescript-eslint/parser": "^8.70.1", "@typescript-eslint/utils": "^8.70.1", diff --git a/src-ui/pnpm-lock.yaml b/src-ui/pnpm-lock.yaml index 57ec79fe5c..c0f0489440 100644 --- a/src-ui/pnpm-lock.yaml +++ b/src-ui/pnpm-lock.yaml @@ -99,7 +99,7 @@ importers: devDependencies: '@angular-builders/jest': specifier: ^22.0.1 - version: 22.0.1(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(@babel/core@7.29.7(supports-color@8.1.1))(@jest/transform@30.5.2(supports-color@8.1.1))(@jest/types@30.5.1)(@types/jsdom@21.1.7)(babel-jest@30.5.2(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(chokidar@5.0.0)(jest@30.5.2(@types/node@26.6.2)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.2)(typescript@6.0.3)))(jsdom@26.1.0(supports-color@8.1.1))(rxjs@7.8.2)(typescript@6.0.3) + version: 22.0.1(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(@babel/core@7.29.7(supports-color@8.1.1))(@jest/transform@30.5.2(supports-color@8.1.1))(@jest/types@30.5.1)(@types/jsdom@21.1.7)(babel-jest@30.5.2(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(chokidar@5.0.0)(jest@30.5.2(@types/node@26.6.5)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)))(jsdom@26.1.0(supports-color@8.1.1))(rxjs@7.8.2)(typescript@6.0.3) '@angular-devkit/core': specifier: ^22.2.2 version: 22.2.2(chokidar@5.0.0) @@ -123,10 +123,10 @@ importers: version: 22.6.0(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3) '@angular/build': specifier: 22.2.2 - version: 22.2.2(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/compiler@22.2.2)(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/localize@22.2.2(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/compiler@22.2.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(@types/node@26.6.2)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(postcss@8.5.28)(supports-color@8.1.1)(tslib@2.8.1)(typescript@6.0.3) + version: 22.2.2(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/compiler@22.2.2)(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/localize@22.2.2(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/compiler@22.2.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(@types/node@26.6.5)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(postcss@8.5.28)(supports-color@8.1.1)(tslib@2.8.1)(typescript@6.0.3) '@angular/cli': specifier: 22.2.2 - version: 22.2.2(@types/node@26.6.2)(chokidar@5.0.0) + version: 22.2.2(@types/node@26.6.5)(chokidar@5.0.0) '@angular/compiler-cli': specifier: ~22.2.2 version: 22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3) @@ -137,8 +137,8 @@ importers: specifier: ^30.0.0 version: 30.0.0 '@types/node': - specifier: ^26.6.2 - version: 26.6.2 + specifier: ^26.6.5 + version: 26.6.5 '@typescript-eslint/eslint-plugin': specifier: ^8.70.1 version: 8.70.1(@typescript-eslint/parser@8.70.1(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) @@ -153,7 +153,7 @@ importers: version: 10.11.0(jiti@2.7.0)(supports-color@8.1.1) jest: specifier: 30.5.2 - version: 30.5.2(@types/node@26.6.2)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.2)(typescript@6.0.3)) + version: 30.5.2(@types/node@26.6.5)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)) jest-environment-jsdom: specifier: ^30.5.2 version: 30.5.2(supports-color@8.1.1) @@ -162,7 +162,7 @@ importers: version: 17.0.0 jest-preset-angular: specifier: ^17.0.3 - version: 17.0.3(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(@babel/core@7.29.7(supports-color@8.1.1))(@jest/transform@30.5.2(supports-color@8.1.1))(@jest/types@30.5.1)(@types/jsdom@21.1.7)(babel-jest@30.5.2(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(jest@30.5.2(@types/node@26.6.2)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.2)(typescript@6.0.3)))(jsdom@26.1.0(supports-color@8.1.1))(typescript@6.0.3) + version: 17.0.3(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(@babel/core@7.29.7(supports-color@8.1.1))(@jest/transform@30.5.2(supports-color@8.1.1))(@jest/types@30.5.1)(@types/jsdom@21.1.7)(babel-jest@30.5.2(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(jest@30.5.2(@types/node@26.6.5)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)))(jsdom@26.1.0(supports-color@8.1.1))(typescript@6.0.3) jest-websocket-mock: specifier: ^2.5.0 version: 2.5.0 @@ -174,7 +174,7 @@ importers: version: 4.3.0(prettier@3.9.9)(typescript@6.0.3) ts-node: specifier: ~10.9.2 - version: 10.9.2(@types/node@26.6.2)(typescript@6.0.3) + version: 10.9.2(@types/node@26.6.5)(typescript@6.0.3) typescript: specifier: ^6.0.3 version: 6.0.3 @@ -2034,8 +2034,8 @@ packages: '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/node@26.6.2': - resolution: {integrity: sha512-X1P21scMv4zGKLYqjdGjaKa7COa0RKVYYZZN/NfvLQ1JegxFhdhpZG/Lyn8AXx6CDUavKAd11v6BvfpkDByK8g==} + '@types/node@26.6.5': + resolution: {integrity: sha512-uMzsv9stDdofIZBx4UGh4Z9ZgXnGC9seRDscilBcTHAeOFk67MZg/k9bWVfO+bk4qZmG+l52hRnLwUiH2LnJTg==} '@types/stack-utils@2.0.3': resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} @@ -4305,7 +4305,7 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-builders/jest@22.0.1(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(@babel/core@7.29.7(supports-color@8.1.1))(@jest/transform@30.5.2(supports-color@8.1.1))(@jest/types@30.5.1)(@types/jsdom@21.1.7)(babel-jest@30.5.2(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(chokidar@5.0.0)(jest@30.5.2(@types/node@26.6.2)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.2)(typescript@6.0.3)))(jsdom@26.1.0(supports-color@8.1.1))(rxjs@7.8.2)(typescript@6.0.3)': + '@angular-builders/jest@22.0.1(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(@babel/core@7.29.7(supports-color@8.1.1))(@jest/transform@30.5.2(supports-color@8.1.1))(@jest/types@30.5.1)(@types/jsdom@21.1.7)(babel-jest@30.5.2(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(chokidar@5.0.0)(jest@30.5.2(@types/node@26.6.5)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)))(jsdom@26.1.0(supports-color@8.1.1))(rxjs@7.8.2)(typescript@6.0.3)': dependencies: '@angular-builders/common': 6.0.1(chokidar@5.0.0) '@angular-devkit/architect': 0.2201.3(chokidar@5.0.0) @@ -4314,8 +4314,8 @@ snapshots: '@angular/compiler-cli': 22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3) '@angular/core': 22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2) '@schematics/angular': 22.1.3(chokidar@5.0.0) - jest: 30.5.2(@types/node@26.6.2)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.2)(typescript@6.0.3)) - jest-preset-angular: 17.0.3(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(@babel/core@7.29.7(supports-color@8.1.1))(@jest/transform@30.5.2(supports-color@8.1.1))(@jest/types@30.5.1)(@types/jsdom@21.1.7)(babel-jest@30.5.2(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(jest@30.5.2(@types/node@26.6.2)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.2)(typescript@6.0.3)))(jsdom@26.1.0(supports-color@8.1.1))(typescript@6.0.3) + jest: 30.5.2(@types/node@26.6.5)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)) + jest-preset-angular: 17.0.3(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(@babel/core@7.29.7(supports-color@8.1.1))(@jest/transform@30.5.2(supports-color@8.1.1))(@jest/types@30.5.1)(@types/jsdom@21.1.7)(babel-jest@30.5.2(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(jest@30.5.2(@types/node@26.6.5)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)))(jsdom@26.1.0(supports-color@8.1.1))(typescript@6.0.3) lodash: 4.18.1 rxjs: 7.8.2 transitivePeerDependencies: @@ -4477,16 +4477,16 @@ snapshots: eslint: 10.11.0(jiti@2.7.0)(supports-color@8.1.1) typescript: 6.0.3 - '@angular/build@22.2.2(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/compiler@22.2.2)(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/localize@22.2.2(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/compiler@22.2.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(@types/node@26.6.2)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(postcss@8.5.28)(supports-color@8.1.1)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.2.2(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/compiler@22.2.2)(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/localize@22.2.2(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/compiler@22.2.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(@types/node@26.6.5)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(postcss@8.5.28)(supports-color@8.1.1)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2202.2(chokidar@5.0.0) '@angular/compiler': 22.2.2 '@angular/compiler-cli': 22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3) '@babel/core': 8.0.5 - '@inquirer/confirm': 6.3.2(@types/node@26.6.2) + '@inquirer/confirm': 6.3.2(@types/node@26.6.5) '@parcel/watcher': 2.6.0 - '@vitejs/plugin-basic-ssl': 2.3.0(vite@8.3.5(@types/node@26.6.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1)) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@8.3.5(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1)) beasties: 0.5.4 browserslist: 4.29.1 chokidar: 5.0.0 @@ -4508,7 +4508,7 @@ snapshots: tinyglobby: 0.2.17 tslib: 2.8.1 typescript: 6.0.3 - vite: 8.3.5(@types/node@26.6.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1) + vite: 8.3.5(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1) xxhash-wasm: 1.1.0 optionalDependencies: '@angular/core': 22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2) @@ -4539,13 +4539,13 @@ snapshots: rxjs: 7.8.2 tslib: 2.8.1 - '@angular/cli@22.2.2(@types/node@26.6.2)(chokidar@5.0.0)': + '@angular/cli@22.2.2(@types/node@26.6.5)(chokidar@5.0.0)': dependencies: '@angular-devkit/architect': 0.2202.2(chokidar@5.0.0) '@angular-devkit/core': 22.2.2(chokidar@5.0.0) '@angular-devkit/schematics': 22.2.2(chokidar@5.0.0) - '@inquirer/prompts': 8.7.2(@types/node@26.6.2) - '@listr2/prompt-adapter-inquirer': 4.2.7(@inquirer/prompts@8.7.2(@types/node@26.6.2))(@types/node@26.6.2)(listr2@11.1.0) + '@inquirer/prompts': 8.7.2(@types/node@26.6.5) + '@listr2/prompt-adapter-inquirer': 4.2.7(@inquirer/prompts@8.7.2(@types/node@26.6.5))(@types/node@26.6.5)(listr2@11.1.0) '@modelcontextprotocol/server': 2.3.1 '@schematics/angular': 22.2.2(chokidar@5.0.0) jsonc-parser: 3.3.1 @@ -5104,122 +5104,122 @@ snapshots: '@inquirer/ansi@2.0.8': {} - '@inquirer/checkbox@5.2.5(@types/node@26.6.2)': + '@inquirer/checkbox@5.2.5(@types/node@26.6.5)': dependencies: '@inquirer/ansi': 2.0.8 - '@inquirer/core': 12.0.3(@types/node@26.6.2) + '@inquirer/core': 12.0.3(@types/node@26.6.5) '@inquirer/figures': 2.0.9 - '@inquirer/type': 4.1.1(@types/node@26.6.2) + '@inquirer/type': 4.1.1(@types/node@26.6.5) optionalDependencies: - '@types/node': 26.6.2 + '@types/node': 26.6.5 - '@inquirer/confirm@6.3.2(@types/node@26.6.2)': + '@inquirer/confirm@6.3.2(@types/node@26.6.5)': dependencies: - '@inquirer/core': 12.0.3(@types/node@26.6.2) - '@inquirer/type': 4.1.1(@types/node@26.6.2) + '@inquirer/core': 12.0.3(@types/node@26.6.5) + '@inquirer/type': 4.1.1(@types/node@26.6.5) optionalDependencies: - '@types/node': 26.6.2 + '@types/node': 26.6.5 - '@inquirer/core@12.0.3(@types/node@26.6.2)': + '@inquirer/core@12.0.3(@types/node@26.6.5)': dependencies: '@inquirer/ansi': 2.0.8 '@inquirer/figures': 2.0.9 - '@inquirer/type': 4.1.1(@types/node@26.6.2) + '@inquirer/type': 4.1.1(@types/node@26.6.5) cli-width: 4.1.0 fast-wrap-ansi: 0.2.2 mute-stream: 3.0.0 signal-exit: 4.1.0 optionalDependencies: - '@types/node': 26.6.2 + '@types/node': 26.6.5 - '@inquirer/editor@5.3.3(@types/node@26.6.2)': + '@inquirer/editor@5.3.3(@types/node@26.6.5)': dependencies: - '@inquirer/core': 12.0.3(@types/node@26.6.2) - '@inquirer/external-editor': 3.0.5(@types/node@26.6.2) - '@inquirer/type': 4.1.1(@types/node@26.6.2) + '@inquirer/core': 12.0.3(@types/node@26.6.5) + '@inquirer/external-editor': 3.0.5(@types/node@26.6.5) + '@inquirer/type': 4.1.1(@types/node@26.6.5) optionalDependencies: - '@types/node': 26.6.2 + '@types/node': 26.6.5 - '@inquirer/expand@5.1.5(@types/node@26.6.2)': + '@inquirer/expand@5.1.5(@types/node@26.6.5)': dependencies: - '@inquirer/core': 12.0.3(@types/node@26.6.2) - '@inquirer/type': 4.1.1(@types/node@26.6.2) + '@inquirer/core': 12.0.3(@types/node@26.6.5) + '@inquirer/type': 4.1.1(@types/node@26.6.5) optionalDependencies: - '@types/node': 26.6.2 + '@types/node': 26.6.5 - '@inquirer/external-editor@3.0.5(@types/node@26.6.2)': + '@inquirer/external-editor@3.0.5(@types/node@26.6.5)': dependencies: chardet: 2.2.0 iconv-lite: 0.7.3 optionalDependencies: - '@types/node': 26.6.2 + '@types/node': 26.6.5 '@inquirer/figures@2.0.9': {} - '@inquirer/input@5.1.6(@types/node@26.6.2)': + '@inquirer/input@5.1.6(@types/node@26.6.5)': dependencies: - '@inquirer/core': 12.0.3(@types/node@26.6.2) - '@inquirer/type': 4.1.1(@types/node@26.6.2) + '@inquirer/core': 12.0.3(@types/node@26.6.5) + '@inquirer/type': 4.1.1(@types/node@26.6.5) optionalDependencies: - '@types/node': 26.6.2 + '@types/node': 26.6.5 - '@inquirer/number@4.2.3(@types/node@26.6.2)': + '@inquirer/number@4.2.3(@types/node@26.6.5)': dependencies: - '@inquirer/core': 12.0.3(@types/node@26.6.2) - '@inquirer/type': 4.1.1(@types/node@26.6.2) + '@inquirer/core': 12.0.3(@types/node@26.6.5) + '@inquirer/type': 4.1.1(@types/node@26.6.5) optionalDependencies: - '@types/node': 26.6.2 + '@types/node': 26.6.5 - '@inquirer/password@5.2.2(@types/node@26.6.2)': + '@inquirer/password@5.2.2(@types/node@26.6.5)': dependencies: '@inquirer/ansi': 2.0.8 - '@inquirer/core': 12.0.3(@types/node@26.6.2) - '@inquirer/type': 4.1.1(@types/node@26.6.2) + '@inquirer/core': 12.0.3(@types/node@26.6.5) + '@inquirer/type': 4.1.1(@types/node@26.6.5) optionalDependencies: - '@types/node': 26.6.2 + '@types/node': 26.6.5 - '@inquirer/prompts@8.7.2(@types/node@26.6.2)': + '@inquirer/prompts@8.7.2(@types/node@26.6.5)': dependencies: - '@inquirer/checkbox': 5.2.5(@types/node@26.6.2) - '@inquirer/confirm': 6.3.2(@types/node@26.6.2) - '@inquirer/editor': 5.3.3(@types/node@26.6.2) - '@inquirer/expand': 5.1.5(@types/node@26.6.2) - '@inquirer/input': 5.1.6(@types/node@26.6.2) - '@inquirer/number': 4.2.3(@types/node@26.6.2) - '@inquirer/password': 5.2.2(@types/node@26.6.2) - '@inquirer/rawlist': 5.3.5(@types/node@26.6.2) - '@inquirer/search': 4.3.3(@types/node@26.6.2) - '@inquirer/select': 5.2.5(@types/node@26.6.2) + '@inquirer/checkbox': 5.2.5(@types/node@26.6.5) + '@inquirer/confirm': 6.3.2(@types/node@26.6.5) + '@inquirer/editor': 5.3.3(@types/node@26.6.5) + '@inquirer/expand': 5.1.5(@types/node@26.6.5) + '@inquirer/input': 5.1.6(@types/node@26.6.5) + '@inquirer/number': 4.2.3(@types/node@26.6.5) + '@inquirer/password': 5.2.2(@types/node@26.6.5) + '@inquirer/rawlist': 5.3.5(@types/node@26.6.5) + '@inquirer/search': 4.3.3(@types/node@26.6.5) + '@inquirer/select': 5.2.5(@types/node@26.6.5) optionalDependencies: - '@types/node': 26.6.2 + '@types/node': 26.6.5 - '@inquirer/rawlist@5.3.5(@types/node@26.6.2)': + '@inquirer/rawlist@5.3.5(@types/node@26.6.5)': dependencies: - '@inquirer/core': 12.0.3(@types/node@26.6.2) - '@inquirer/type': 4.1.1(@types/node@26.6.2) + '@inquirer/core': 12.0.3(@types/node@26.6.5) + '@inquirer/type': 4.1.1(@types/node@26.6.5) optionalDependencies: - '@types/node': 26.6.2 + '@types/node': 26.6.5 - '@inquirer/search@4.3.3(@types/node@26.6.2)': + '@inquirer/search@4.3.3(@types/node@26.6.5)': dependencies: - '@inquirer/core': 12.0.3(@types/node@26.6.2) + '@inquirer/core': 12.0.3(@types/node@26.6.5) '@inquirer/figures': 2.0.9 - '@inquirer/type': 4.1.1(@types/node@26.6.2) + '@inquirer/type': 4.1.1(@types/node@26.6.5) optionalDependencies: - '@types/node': 26.6.2 + '@types/node': 26.6.5 - '@inquirer/select@5.2.5(@types/node@26.6.2)': + '@inquirer/select@5.2.5(@types/node@26.6.5)': dependencies: '@inquirer/ansi': 2.0.8 - '@inquirer/core': 12.0.3(@types/node@26.6.2) + '@inquirer/core': 12.0.3(@types/node@26.6.5) '@inquirer/figures': 2.0.9 - '@inquirer/type': 4.1.1(@types/node@26.6.2) + '@inquirer/type': 4.1.1(@types/node@26.6.5) optionalDependencies: - '@types/node': 26.6.2 + '@types/node': 26.6.5 - '@inquirer/type@4.1.1(@types/node@26.6.2)': + '@inquirer/type@4.1.1(@types/node@26.6.5)': optionalDependencies: - '@types/node': 26.6.2 + '@types/node': 26.6.5 '@isaacs/cliui@8.0.2': dependencies: @@ -5243,13 +5243,13 @@ snapshots: '@jest/console@30.5.2': dependencies: '@jest/types': 30.5.1 - '@types/node': 26.6.2 + '@types/node': 26.6.5 chalk: 4.1.2 jest-message-util: 30.5.1 jest-util: 30.5.1 slash: 3.0.0 - '@jest/core@30.5.2(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.2)(typescript@6.0.3))': + '@jest/core@30.5.2(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3))': dependencies: '@jest/console': 30.5.2 '@jest/pattern': 30.5.0 @@ -5257,7 +5257,7 @@ snapshots: '@jest/test-result': 30.5.2 '@jest/transform': 30.5.2(supports-color@8.1.1) '@jest/types': 30.5.1 - '@types/node': 26.6.2 + '@types/node': 26.6.5 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 4.4.0 @@ -5265,7 +5265,7 @@ snapshots: fast-json-stable-stringify: 2.1.0 graceful-fs: 4.2.11 jest-changed-files: 30.5.1 - jest-config: 30.5.2(@types/node@26.6.2)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.2)(typescript@6.0.3)) + jest-config: 30.5.2(@types/node@26.6.5)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)) jest-haste-map: 30.5.1 jest-message-util: 30.5.1 jest-regex-util: 30.5.0 @@ -5295,7 +5295,7 @@ snapshots: '@jest/fake-timers': 30.5.2 '@jest/types': 30.5.1 '@types/jsdom': 21.1.7 - '@types/node': 26.6.2 + '@types/node': 26.6.5 jest-mock: 30.5.2 jest-util: 30.5.1 jsdom: 26.1.0(supports-color@8.1.1) @@ -5304,7 +5304,7 @@ snapshots: dependencies: '@jest/fake-timers': 30.5.2 '@jest/types': 30.5.1 - '@types/node': 26.6.2 + '@types/node': 26.6.5 jest-mock: 30.5.2 '@jest/expect-utils@30.4.1': @@ -5326,7 +5326,7 @@ snapshots: dependencies: '@jest/types': 30.5.1 '@sinonjs/fake-timers': 15.4.0 - '@types/node': 26.6.2 + '@types/node': 26.6.5 jest-message-util: 30.5.1 jest-mock: 30.5.2 jest-util: 30.5.1 @@ -5346,12 +5346,12 @@ snapshots: '@jest/pattern@30.4.0': dependencies: - '@types/node': 26.6.2 + '@types/node': 26.6.5 jest-regex-util: 30.4.0 '@jest/pattern@30.5.0': dependencies: - '@types/node': 26.6.2 + '@types/node': 26.6.5 jest-regex-util: 30.5.0 '@jest/reporters@30.5.2(supports-color@8.1.1)': @@ -5362,7 +5362,7 @@ snapshots: '@jest/transform': 30.5.2(supports-color@8.1.1) '@jest/types': 30.5.1 '@jridgewell/trace-mapping': 0.3.31 - '@types/node': 26.6.2 + '@types/node': 26.6.5 chalk: 4.1.2 collect-v8-coverage: 1.0.3 exit-x: 0.2.2 @@ -5447,7 +5447,7 @@ snapshots: '@jest/schemas': 30.4.1 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 26.6.2 + '@types/node': 26.6.5 '@types/yargs': 17.0.35 chalk: 4.1.2 @@ -5457,7 +5457,7 @@ snapshots: '@jest/schemas': 30.5.0 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 26.6.2 + '@types/node': 26.6.5 '@types/yargs': 17.0.35 chalk: 4.1.2 @@ -5498,10 +5498,10 @@ snapshots: '@keyv/serialize@1.1.1': {} - '@listr2/prompt-adapter-inquirer@4.2.7(@inquirer/prompts@8.7.2(@types/node@26.6.2))(@types/node@26.6.2)(listr2@11.1.0)': + '@listr2/prompt-adapter-inquirer@4.2.7(@inquirer/prompts@8.7.2(@types/node@26.6.5))(@types/node@26.6.5)(listr2@11.1.0)': dependencies: - '@inquirer/prompts': 8.7.2(@types/node@26.6.2) - '@inquirer/type': 4.1.1(@types/node@26.6.2) + '@inquirer/prompts': 8.7.2(@types/node@26.6.5) + '@inquirer/type': 4.1.1(@types/node@26.6.5) listr2: 11.1.0 transitivePeerDependencies: - '@types/node' @@ -6030,7 +6030,7 @@ snapshots: '@types/jsdom@21.1.7': dependencies: - '@types/node': 26.6.2 + '@types/node': 26.6.5 '@types/tough-cookie': 4.0.5 parse5: 7.3.0 @@ -6038,7 +6038,7 @@ snapshots: '@types/json-schema@7.0.15': {} - '@types/node@26.6.2': + '@types/node@26.6.5': dependencies: undici-types: 8.9.0 @@ -6215,9 +6215,9 @@ snapshots: '@unrs/resolver-binding-win32-x64-msvc@1.12.2': optional: true - '@vitejs/plugin-basic-ssl@2.3.0(vite@8.3.5(@types/node@26.6.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1))': + '@vitejs/plugin-basic-ssl@2.3.0(vite@8.3.5(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1))': dependencies: - vite: 8.3.5(@types/node@26.6.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1) + vite: 8.3.5(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1) acorn-jsx@5.3.2(acorn@8.18.0): dependencies: @@ -6954,7 +6954,7 @@ snapshots: '@jest/expect': 30.5.2(supports-color@8.1.1) '@jest/test-result': 30.5.2 '@jest/types': 30.5.1 - '@types/node': 26.6.2 + '@types/node': 26.6.5 chalk: 4.1.2 co: 4.6.0 dedent: 1.7.2 @@ -6974,15 +6974,15 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@30.5.2(@types/node@26.6.2)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.2)(typescript@6.0.3)): + jest-cli@30.5.2(@types/node@26.6.5)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)): dependencies: - '@jest/core': 30.5.2(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.2)(typescript@6.0.3)) + '@jest/core': 30.5.2(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)) '@jest/test-result': 30.5.2 '@jest/types': 30.5.1 chalk: 4.1.2 exit-x: 0.2.2 import-local: 3.2.0 - jest-config: 30.5.2(@types/node@26.6.2)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.2)(typescript@6.0.3)) + jest-config: 30.5.2(@types/node@26.6.5)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)) jest-util: 30.5.1 jest-validate: 30.5.1 yargs: 17.7.3 @@ -6993,7 +6993,7 @@ snapshots: - supports-color - ts-node - jest-config@30.5.2(@types/node@26.6.2)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.2)(typescript@6.0.3)): + jest-config@30.5.2(@types/node@26.6.5)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)): dependencies: '@babel/core': 7.29.7(supports-color@8.1.1) '@jest/get-type': 30.5.0 @@ -7019,8 +7019,8 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 26.6.2 - ts-node: 10.9.2(@types/node@26.6.2)(typescript@6.0.3) + '@types/node': 26.6.5 + ts-node: 10.9.2(@types/node@26.6.5)(typescript@6.0.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -7075,7 +7075,7 @@ snapshots: '@jest/environment': 30.5.2 '@jest/fake-timers': 30.5.2 '@jest/types': 30.5.1 - '@types/node': 26.6.2 + '@types/node': 26.6.5 jest-mock: 30.5.2 jest-util: 30.5.1 jest-validate: 30.5.1 @@ -7086,7 +7086,7 @@ snapshots: dependencies: '@jest/types': 30.5.1 '@parcel/watcher': 2.6.0 - '@types/node': 26.6.2 + '@types/node': 26.6.5 anymatch: 3.1.3 fb-watchman: 2.0.2 fdir: 6.5.0(picomatch@4.0.7) @@ -7151,17 +7151,17 @@ snapshots: jest-mock@30.4.1: dependencies: '@jest/types': 30.4.1 - '@types/node': 26.6.2 + '@types/node': 26.6.5 jest-util: 30.4.1 jest-mock@30.5.2: dependencies: '@jest/expect-utils': 30.5.2 '@jest/types': 30.5.1 - '@types/node': 26.6.2 + '@types/node': 26.6.5 jest-util: 30.5.1 - jest-preset-angular@17.0.3(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(@babel/core@7.29.7(supports-color@8.1.1))(@jest/transform@30.5.2(supports-color@8.1.1))(@jest/types@30.5.1)(@types/jsdom@21.1.7)(babel-jest@30.5.2(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(jest@30.5.2(@types/node@26.6.2)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.2)(typescript@6.0.3)))(jsdom@26.1.0(supports-color@8.1.1))(typescript@6.0.3): + jest-preset-angular@17.0.3(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(@babel/core@7.29.7(supports-color@8.1.1))(@jest/transform@30.5.2(supports-color@8.1.1))(@jest/types@30.5.1)(@types/jsdom@21.1.7)(babel-jest@30.5.2(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(jest@30.5.2(@types/node@26.6.5)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)))(jsdom@26.1.0(supports-color@8.1.1))(typescript@6.0.3): dependencies: '@angular/compiler-cli': 22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3) '@angular/core': 22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2) @@ -7169,11 +7169,11 @@ snapshots: '@jest/environment-jsdom-abstract': 30.5.2(@types/jsdom@21.1.7)(jsdom@26.1.0(supports-color@8.1.1)) bs-logger: 0.2.6 esbuild-wasm: 0.28.2 - jest: 30.5.2(@types/node@26.6.2)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.2)(typescript@6.0.3)) + jest: 30.5.2(@types/node@26.6.5)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)) jest-util: 30.5.1 jsdom: 26.1.0(supports-color@8.1.1) pretty-format: 30.5.1 - ts-jest: 29.4.14(@babel/core@7.29.7(supports-color@8.1.1))(@jest/transform@30.5.2(supports-color@8.1.1))(@jest/types@30.5.1)(babel-jest@30.5.2(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(esbuild@0.28.2)(jest-util@30.5.1)(jest@30.5.2(@types/node@26.6.2)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.2)(typescript@6.0.3)))(typescript@6.0.3) + ts-jest: 29.4.14(@babel/core@7.29.7(supports-color@8.1.1))(@jest/transform@30.5.2(supports-color@8.1.1))(@jest/types@30.5.1)(babel-jest@30.5.2(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(esbuild@0.28.2)(jest-util@30.5.1)(jest@30.5.2(@types/node@26.6.5)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)))(typescript@6.0.3) typescript: 6.0.3 optionalDependencies: esbuild: 0.28.2 @@ -7214,7 +7214,7 @@ snapshots: '@jest/test-result': 30.5.2 '@jest/transform': 30.5.2(supports-color@8.1.1) '@jest/types': 30.5.1 - '@types/node': 26.6.2 + '@types/node': 26.6.5 chalk: 4.1.2 emittery: 0.13.1 exit-x: 0.2.2 @@ -7242,7 +7242,7 @@ snapshots: '@jest/test-result': 30.5.2 '@jest/transform': 30.5.2(supports-color@8.1.1) '@jest/types': 30.5.1 - '@types/node': 26.6.2 + '@types/node': 26.6.5 chalk: 4.1.2 cjs-module-lexer: 2.2.1 collect-v8-coverage: 1.0.3 @@ -7290,7 +7290,7 @@ snapshots: jest-util@30.4.1: dependencies: '@jest/types': 30.4.1 - '@types/node': 26.6.2 + '@types/node': 26.6.5 chalk: 4.1.2 ci-info: 4.4.0 graceful-fs: 4.2.11 @@ -7299,7 +7299,7 @@ snapshots: jest-util@30.5.1: dependencies: '@jest/types': 30.5.1 - '@types/node': 26.6.2 + '@types/node': 26.6.5 chalk: 4.1.2 ci-info: 4.4.0 graceful-fs: 4.2.11 @@ -7318,7 +7318,7 @@ snapshots: dependencies: '@jest/test-result': 30.5.2 '@jest/types': 30.5.1 - '@types/node': 26.6.2 + '@types/node': 26.6.5 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -7332,18 +7332,18 @@ snapshots: jest-worker@30.5.1: dependencies: - '@types/node': 26.6.2 + '@types/node': 26.6.5 '@ungap/structured-clone': 1.3.3 jest-util: 30.5.1 merge-stream: 2.0.0 supports-color: 8.1.1 - jest@30.5.2(@types/node@26.6.2)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.2)(typescript@6.0.3)): + jest@30.5.2(@types/node@26.6.5)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)): dependencies: - '@jest/core': 30.5.2(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.2)(typescript@6.0.3)) + '@jest/core': 30.5.2(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)) '@jest/types': 30.5.1 import-local: 3.2.0 - jest-cli: 30.5.2(@types/node@26.6.2)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.2)(typescript@6.0.3)) + jest-cli: 30.5.2(@types/node@26.6.5)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -8196,12 +8196,12 @@ snapshots: dependencies: typescript: 6.0.3 - ts-jest@29.4.14(@babel/core@7.29.7(supports-color@8.1.1))(@jest/transform@30.5.2(supports-color@8.1.1))(@jest/types@30.5.1)(babel-jest@30.5.2(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(esbuild@0.28.2)(jest-util@30.5.1)(jest@30.5.2(@types/node@26.6.2)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.2)(typescript@6.0.3)))(typescript@6.0.3): + ts-jest@29.4.14(@babel/core@7.29.7(supports-color@8.1.1))(@jest/transform@30.5.2(supports-color@8.1.1))(@jest/types@30.5.1)(babel-jest@30.5.2(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(esbuild@0.28.2)(jest-util@30.5.1)(jest@30.5.2(@types/node@26.6.5)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)))(typescript@6.0.3): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 handlebars: 4.7.10 - jest: 30.5.2(@types/node@26.6.2)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.2)(typescript@6.0.3)) + jest: 30.5.2(@types/node@26.6.5)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)) json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 @@ -8217,14 +8217,14 @@ snapshots: esbuild: 0.28.2 jest-util: 30.5.1 - ts-node@10.9.2(@types/node@26.6.2)(typescript@6.0.3): + ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.12 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 26.6.2 + '@types/node': 26.6.5 acorn: 8.18.0 acorn-walk: 8.3.5 arg: 4.1.3 @@ -8311,7 +8311,7 @@ snapshots: verkit@0.3.2: {} - vite@8.3.5(@types/node@26.6.2)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1): + vite@8.3.5(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1): dependencies: lightningcss: 1.33.0 picomatch: 4.0.7 @@ -8319,7 +8319,7 @@ snapshots: rolldown: 1.2.15 tinyglobby: 0.2.17 optionalDependencies: - '@types/node': 26.6.2 + '@types/node': 26.6.5 esbuild: 0.28.2 fsevents: 2.3.3 jiti: 2.7.0 From bfb8b9076b932c7390f77e1c8790f1b884ad76ec Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Nov 2026 21:23:09 +0000 Subject: [PATCH 24/44] Chore(deps-dev): Bump prettier from 3.9.9 to 3.9.10 in /src-ui (#14645) Bumps [prettier](https://github.com/prettier/prettier) from 3.9.9 to 3.9.10. - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/prettier/compare/3.9.9...3.9.10) --- updated-dependencies: - dependency-name: prettier dependency-version: 3.9.10 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src-ui/package.json | 2 +- src-ui/pnpm-lock.yaml | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src-ui/package.json b/src-ui/package.json index 8a8ddcae72..4e0599c44a 100644 --- a/src-ui/package.json +++ b/src-ui/package.json @@ -68,7 +68,7 @@ "jest-junit": "^17.0.0", "jest-preset-angular": "^17.0.3", "jest-websocket-mock": "^2.5.0", - "prettier": "^3.9.9", + "prettier": "^3.9.10", "prettier-plugin-organize-imports": "^4.3.0", "ts-node": "~10.9.2", "typescript": "^6.0.3" diff --git a/src-ui/pnpm-lock.yaml b/src-ui/pnpm-lock.yaml index c0f0489440..d9123dfd6e 100644 --- a/src-ui/pnpm-lock.yaml +++ b/src-ui/pnpm-lock.yaml @@ -167,11 +167,11 @@ importers: specifier: ^2.5.0 version: 2.5.0 prettier: - specifier: ^3.9.9 - version: 3.9.9 + specifier: ^3.9.10 + version: 3.9.10 prettier-plugin-organize-imports: specifier: ^4.3.0 - version: 4.3.0(prettier@3.9.9)(typescript@6.0.3) + version: 4.3.0(prettier@3.9.10)(typescript@6.0.3) ts-node: specifier: ~10.9.2 version: 10.9.2(@types/node@26.6.5)(typescript@6.0.3) @@ -3636,8 +3636,8 @@ packages: vue-tsc: optional: true - prettier@3.9.9: - resolution: {integrity: sha512-Z/CJHIkdujO/OtN7nXUii0Rf3VT5SRuhjBA82Xvu2XhBUgX3nhP67T0LHceBdQLex7OOFGTox+Q5Yg8Jk2Qivg==} + prettier@3.9.10: + resolution: {integrity: sha512-skGHTH1Yb9QvaTC4hWnRTzEYtCpApF0UMBPz+t/0ZPzP8ihefo/btKd+QA7pUE0fEwA1SbS/NmhyEcstdXOIdA==} engines: {node: '>=14'} hasBin: true @@ -7850,12 +7850,12 @@ snapshots: prelude-ls@1.2.1: {} - prettier-plugin-organize-imports@4.3.0(prettier@3.9.9)(typescript@6.0.3): + prettier-plugin-organize-imports@4.3.0(prettier@3.9.10)(typescript@6.0.3): dependencies: - prettier: 3.9.9 + prettier: 3.9.10 typescript: 6.0.3 - prettier@3.9.9: {} + prettier@3.9.10: {} pretty-format@29.7.0: dependencies: From f8dc15c43d0f027604d86388e71b47fd8c66d62e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Nov 2026 21:42:04 +0000 Subject: [PATCH 25/44] Chore(deps): Bump marked from 18.0.14 to 18.1.1 in /src-ui (#14643) Bumps [marked](https://github.com/markedjs/marked) from 18.0.14 to 18.1.1. - [Release notes](https://github.com/markedjs/marked/releases) - [Commits](https://github.com/markedjs/marked/compare/v18.0.14...v18.1.1) --- updated-dependencies: - dependency-name: marked dependency-version: 18.1.1 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src-ui/package.json | 2 +- src-ui/pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src-ui/package.json b/src-ui/package.json index 4e0599c44a..4d268070e3 100644 --- a/src-ui/package.json +++ b/src-ui/package.json @@ -30,7 +30,7 @@ "bootstrap": "^5.3.8", "file-saver": "^2.0.5", "lodash-es": "^4.18.1", - "marked": "~18.0.14", + "marked": "~18.1.1", "mime-names": "^1.0.0", "ngx-bootstrap-icons": "^1.9.3", "ngx-color": "^10.1.0", diff --git a/src-ui/pnpm-lock.yaml b/src-ui/pnpm-lock.yaml index d9123dfd6e..6b74bbb503 100644 --- a/src-ui/pnpm-lock.yaml +++ b/src-ui/pnpm-lock.yaml @@ -58,8 +58,8 @@ importers: specifier: ^4.18.1 version: 4.18.1 marked: - specifier: ~18.0.14 - version: 18.0.14 + specifier: ~18.1.1 + version: 18.1.1 mime-names: specifier: ^1.0.0 version: 1.0.0 @@ -3314,8 +3314,8 @@ packages: make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - marked@18.0.14: - resolution: {integrity: sha512-mBHK6FBHuBAlhgRe88w9F0O1AbwwXJUcQibUbC/QcdTbVGAD7aWza+xt3N6oT/jCZx3/OMeS+8rnuiHZcQ9s7A==} + marked@18.1.1: + resolution: {integrity: sha512-zEGgrtUG8crk+TrMacJSVABU4DYDDkS8uqgU3ohrn/2fW9C2AEfUrO3m6IhpIpQpl7YcVpiXXC9cSMWDANT3dg==} engines: {node: '>= 20'} hasBin: true @@ -7539,7 +7539,7 @@ snapshots: make-error@1.3.6: {} - marked@18.0.14: {} + marked@18.1.1: {} material-colors@1.2.6: {} From 3586c5747b83e36395e006c3dba63c034eb1d654 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 1 Nov 2026 21:43:29 +0000 Subject: [PATCH 26/44] Auto translate strings --- src-ui/messages.xlf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src-ui/messages.xlf b/src-ui/messages.xlf index 60101620f8..cffd086640 100644 --- a/src-ui/messages.xlf +++ b/src-ui/messages.xlf @@ -10,7 +10,7 @@ - Slide of + Slide of node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/carousel/carousel.ts 386,393 From ef3c9f69fec3decb186739fd0a1c4282a506a11b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Nov 2026 21:58:49 +0000 Subject: [PATCH 27/44] Chore(deps-dev): Bump the frontend-eslint-dependencies group (#14638) Bumps the frontend-eslint-dependencies group in /src-ui with 4 updates: [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin), [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser), [@typescript-eslint/utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/utils) and [eslint](https://github.com/eslint/eslint). Updates `@typescript-eslint/eslint-plugin` from 8.70.1 to 8.72.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.72.0/packages/eslint-plugin) Updates `@typescript-eslint/parser` from 8.70.1 to 8.72.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.72.0/packages/parser) Updates `@typescript-eslint/utils` from 8.70.1 to 8.72.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/utils/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.72.0/packages/utils) Updates `eslint` from 10.11.0 to 10.13.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/compare/v10.11.0...v10.13.0) --- updated-dependencies: - dependency-name: "@typescript-eslint/eslint-plugin" dependency-version: 8.72.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: frontend-eslint-dependencies - dependency-name: "@typescript-eslint/parser" dependency-version: 8.72.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: frontend-eslint-dependencies - dependency-name: "@typescript-eslint/utils" dependency-version: 8.72.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: frontend-eslint-dependencies - dependency-name: eslint dependency-version: 10.13.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: frontend-eslint-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src-ui/package.json | 8 +- src-ui/pnpm-lock.yaml | 227 ++++++++++++++++++++++-------------------- 2 files changed, 121 insertions(+), 114 deletions(-) diff --git a/src-ui/package.json b/src-ui/package.json index 4d268070e3..1553f4b0d3 100644 --- a/src-ui/package.json +++ b/src-ui/package.json @@ -59,10 +59,10 @@ "@playwright/test": "^1.62.1", "@types/jest": "^30.0.0", "@types/node": "^26.6.5", - "@typescript-eslint/eslint-plugin": "^8.70.1", - "@typescript-eslint/parser": "^8.70.1", - "@typescript-eslint/utils": "^8.70.1", - "eslint": "^10.11.0", + "@typescript-eslint/eslint-plugin": "^8.72.0", + "@typescript-eslint/parser": "^8.72.0", + "@typescript-eslint/utils": "^8.72.0", + "eslint": "^10.13.0", "jest": "30.5.2", "jest-environment-jsdom": "^30.5.2", "jest-junit": "^17.0.0", diff --git a/src-ui/pnpm-lock.yaml b/src-ui/pnpm-lock.yaml index 6b74bbb503..742ad19345 100644 --- a/src-ui/pnpm-lock.yaml +++ b/src-ui/pnpm-lock.yaml @@ -108,19 +108,19 @@ importers: version: 22.2.2(chokidar@5.0.0) '@angular-eslint/builder': specifier: 22.6.0 - version: 22.6.0(chokidar@5.0.0)(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3) + version: 22.6.0(chokidar@5.0.0)(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3) '@angular-eslint/eslint-plugin': specifier: 22.6.0 - version: 22.6.0(@typescript-eslint/utils@8.70.1(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3) + version: 22.6.0(@typescript-eslint/utils@8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3) '@angular-eslint/eslint-plugin-template': specifier: 22.6.0 - version: 22.6.0(@angular-eslint/template-parser@22.6.0(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3))(@typescript-eslint/types@8.70.1)(@typescript-eslint/utils@8.70.1(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3) + version: 22.6.0(@angular-eslint/template-parser@22.6.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3))(@typescript-eslint/types@8.72.0)(@typescript-eslint/utils@8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3) '@angular-eslint/schematics': specifier: 22.6.0 - version: 22.6.0(@angular-eslint/template-parser@22.6.0(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3))(@typescript-eslint/types@8.70.1)(@typescript-eslint/utils@8.70.1(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(chokidar@5.0.0)(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3) + version: 22.6.0(@angular-eslint/template-parser@22.6.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3))(@typescript-eslint/types@8.72.0)(@typescript-eslint/utils@8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(chokidar@5.0.0)(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3) '@angular-eslint/template-parser': specifier: 22.6.0 - version: 22.6.0(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3) + version: 22.6.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3) '@angular/build': specifier: 22.2.2 version: 22.2.2(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/compiler@22.2.2)(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/localize@22.2.2(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/compiler@22.2.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(@types/node@26.6.5)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(postcss@8.5.28)(supports-color@8.1.1)(tslib@2.8.1)(typescript@6.0.3) @@ -140,17 +140,17 @@ importers: specifier: ^26.6.5 version: 26.6.5 '@typescript-eslint/eslint-plugin': - specifier: ^8.70.1 - version: 8.70.1(@typescript-eslint/parser@8.70.1(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) + specifier: ^8.72.0 + version: 8.72.0(@typescript-eslint/parser@8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) '@typescript-eslint/parser': - specifier: ^8.70.1 - version: 8.70.1(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) + specifier: ^8.72.0 + version: 8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) '@typescript-eslint/utils': - specifier: ^8.70.1 - version: 8.70.1(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) + specifier: ^8.72.0 + version: 8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) eslint: - specifier: ^10.11.0 - version: 10.11.0(jiti@2.7.0)(supports-color@8.1.1) + specifier: ^10.13.0 + version: 10.13.0(jiti@2.7.0)(supports-color@8.1.1) jest: specifier: 30.5.2 version: 30.5.2(@types/node@26.6.5)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)) @@ -2049,63 +2049,63 @@ packages: '@types/yargs@17.0.35': resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} - '@typescript-eslint/eslint-plugin@8.70.1': - resolution: {integrity: sha512-nDNrUQ/4ruSNYbu749TRY7cfrzPtoLHEXSNBI8aaNY32LlZCajixqRf3FqcKC4p5Cam4VOHYx/t+i5+nKXvrqA==} + '@typescript-eslint/eslint-plugin@8.72.0': + resolution: {integrity: sha512-aysKgysPX9XOv/dk95UkvUDe++Q3n3dJPG9CEWT3RUccxfkPJ+Qn6nhKPDhZXU6Ofo9kgwGWwKyQCnZIXTgngg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.70.1 + '@typescript-eslint/parser': ^8.72.0 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/parser@8.70.1': - resolution: {integrity: sha512-nO974WLllwhSFWQXnMLj6nDGa8f0khKEz1JzpPJ1u7Vm/4X1X6ZHajpoknU4bb41vJyMB0HHVyS2GqdhWfIXZw==} + '@typescript-eslint/parser@8.72.0': + resolution: {integrity: sha512-0O+x3ynciD6zuXb1CKSu165haQV6ey53DKhHHUnujP7U+XlltJG+/keT0Xhd1HXCze+IHf7Tvt39ovyepX/LNw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/project-service@8.70.1': - resolution: {integrity: sha512-62xOgboPfwc3/IgPSX/W6oQR3ZbF04194FPGUGH8HL8iLFHbt/456/8Ph1wLNUgVF+s94FlHoipBsz+v7+LMnA==} + '@typescript-eslint/project-service@8.72.0': + resolution: {integrity: sha512-bzHngBbmIgzj6TsTjVUCntGx6FFLgE7mPjpO0PzHycOaZHXqS43XnrkFIHRS16LLr/xO6FHSXG3GJFo/F4bSBQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/scope-manager@8.70.1': - resolution: {integrity: sha512-Pa0EeSeAusQc1WbjQMac+YfenewYTBu0KjgYvkUKwhXaHUKbFog23Dm/rp0DX/6tyYOQ3Xl1a+3EcFNZynGHCw==} + '@typescript-eslint/scope-manager@8.72.0': + resolution: {integrity: sha512-JewPyJOYcXBSAS7PIgufscHOwZqhTGyBRiQJhhuDln66tMchxvvt7nJ90JKKIoOelmdHA3kAQbm9cEUHc4JSEA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.70.1': - resolution: {integrity: sha512-jumze1fPI+sDOaM2TWGQdn39PDxTr7TZGeuyLkAbNyx2vtMT3uRnVKChN0hfht5V2TugphJzF6bYXvBcE09qqg==} + '@typescript-eslint/tsconfig-utils@8.72.0': + resolution: {integrity: sha512-0vbxCf7xLVPSjcOdm6eQbgViH8EDJ8xnl1laLT9yoqSz2YmcSfSg5Vdl0JUvZf6rcuJ0ZivJIuMD4edTg8obaA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/type-utils@8.70.1': - resolution: {integrity: sha512-7zKTnyvaVWqzLZHPFQtX1hVHqgkMC+WebPWakNCSyrQVbIP1AM0L0TlBZtACldIRb6PptI8Odk+jyZ5kP3B1VA==} + '@typescript-eslint/type-utils@8.72.0': + resolution: {integrity: sha512-gEXxmmbSTSOVTC37IYYvremOM31v+UN2W772bJxmVYPhAOPSUxtacyb7wkm1EhkYKU6KzFJsdU44DCV4to0LWw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/types@8.70.1': - resolution: {integrity: sha512-Dm1ypdhhrGCTyyehxElhgJ6kgk8MVCv5qXdoOVqPr1uqk42jX8KjrZqhROvdShczA8qrDoYiOWn1ykWlx2k81Q==} + '@typescript-eslint/types@8.72.0': + resolution: {integrity: sha512-Adfoy59kxNEjT5E5fnyrp7GpHYuWs8ONbdohu4ez6IU46qDq8LltG90tLmkucZB2uhYL8mqBjtXqGd8yhfjXqQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.70.1': - resolution: {integrity: sha512-TU8PwyGN0PQJUcE96mw8eCQ44SmxGdQlJmlWakHaHQ15eIuuvye5yNtmh/i6oS88jzXVQB71xdNkbkB/fMwL0g==} + '@typescript-eslint/typescript-estree@8.72.0': + resolution: {integrity: sha512-gwLfFgWcw15tN2KXDCJvxEOQjPn+P3j/n3eSqkZ5sX4VpW9Cosodr+tWwBZRvJT3TcKx6HnPRGZMCNAiP1Xhug==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/utils@8.70.1': - resolution: {integrity: sha512-Esgul8MsnKnRLdYU2Eb2cRV9bS5HJYtKj1ByJnOzzG2M58DGdSUQ1jUuILxipqcpB2h9WLrbD5GijIWUjX/Tqw==} + '@typescript-eslint/utils@8.72.0': + resolution: {integrity: sha512-0up3oArJZBYnzOaEXKo8DmI43QvMZyPoFEt9LWzRJcyl/RcJjfKKPebknN1VbTgXBf3M/KggUh5uUMdURLnseg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/visitor-keys@8.70.1': - resolution: {integrity: sha512-Vwj9lUIW5Xq3wQ9w6gv3R86g1hMK8f2zNOdGTAgeXUMMXFK78G9ruCjjqutHMNJc0+CH7LYRnHeUB9IT8wFmcw==} + '@typescript-eslint/visitor-keys@8.72.0': + resolution: {integrity: sha512-E2mroviasaWecDzTGiGMtuEguuLVOeRggnrIn93CJuxYJzQBHbyymlT08aVQydbBal5538o+JkBKXh2sRuCyIA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.3.3': @@ -2251,6 +2251,11 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + acorn@8.19.0: + resolution: {integrity: sha512-oJlA3XiRm7Cyk6qFD2Jn8ak9B7jSy0qy00ADO3+8dpT0LSjFihQYv4C02LFCSYJV3Q37xYwwRy5m+IpIiUzqWw==} + engines: {node: '>=0.4.0'} + hasBin: true + agent-base@7.1.4: resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} engines: {node: '>= 14'} @@ -2634,8 +2639,8 @@ packages: resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - eslint@10.11.0: - resolution: {integrity: sha512-P7a6UEEqb9G95MYAtqkmsTbVXIYyzIfl6NGOIJk162PaahFxFyeGcrlXYFSiagECg4sEm8IseJdZBKR3rx6MsQ==} + eslint@10.13.0: + resolution: {integrity: sha512-UohDjD4zSzEwhf58M3O7vc/ycc8O1I7dNlhtD0WxE8Px8EHNJKtUwzBqrzeGhisRuv2ag4sAYswszCJRgKXYUg==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} hasBin: true peerDependencies: @@ -2857,14 +2862,14 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - ignore@7.0.10: - resolution: {integrity: sha512-HpbUakT7xp5miBUywCHf36ZEuAJNklBJDDsGpUIjMzOSmM8ELSfA9Sa/QDPeNeqeoN31u+UTCkL4klCOVvRm4Q==} - engines: {node: '>= 4'} - ignore@7.0.12: resolution: {integrity: sha512-/8UvqAPU9DGTI9k4mxtf49U37Isfwr8Uts96+SBHIkFxPJnHS0Ew4f00sM4Scd8V8EjM0jUNtVDdv1kPdt35lg==} engines: {node: '>= 4'} + ignore@7.0.14: + resolution: {integrity: sha512-wCBiZ77u1tuWde6G/nfOtLaCTYcFDU5yCzARzK10y+rLhzYoL7a7yEemcopcc2Mzow7gZOIjnV2ym1NYmdiJOQ==} + engines: {node: '>= 4'} + immutable@5.1.9: resolution: {integrity: sha512-m8nVez3rwrgmWxtLMt1ZYXB2Lv7OKYn/disyxAlSDYAlKSlFoPPfIAmAM/M5xqL4m4C/wAPw7S2/CNaUii1Hxg==} @@ -4414,44 +4419,44 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-eslint/builder@22.6.0(chokidar@5.0.0)(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3)': + '@angular-eslint/builder@22.6.0(chokidar@5.0.0)(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3)': dependencies: '@angular-devkit/architect': 0.2202.0(chokidar@5.0.0) '@angular-devkit/core': 22.2.0(chokidar@5.0.0) - eslint: 10.11.0(jiti@2.7.0)(supports-color@8.1.1) + eslint: 10.13.0(jiti@2.7.0)(supports-color@8.1.1) typescript: 6.0.3 transitivePeerDependencies: - chokidar '@angular-eslint/bundled-angular-compiler@22.6.0': {} - '@angular-eslint/eslint-plugin-template@22.6.0(@angular-eslint/template-parser@22.6.0(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3))(@typescript-eslint/types@8.70.1)(@typescript-eslint/utils@8.70.1(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3)': + '@angular-eslint/eslint-plugin-template@22.6.0(@angular-eslint/template-parser@22.6.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3))(@typescript-eslint/types@8.72.0)(@typescript-eslint/utils@8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3)': dependencies: '@angular-eslint/bundled-angular-compiler': 22.6.0 - '@angular-eslint/template-parser': 22.6.0(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3) - '@angular-eslint/utils': 22.6.0(@typescript-eslint/utils@8.70.1(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3) - '@typescript-eslint/types': 8.70.1 - '@typescript-eslint/utils': 8.70.1(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) + '@angular-eslint/template-parser': 22.6.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3) + '@angular-eslint/utils': 22.6.0(@typescript-eslint/utils@8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3) + '@typescript-eslint/types': 8.72.0 + '@typescript-eslint/utils': 8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) aria-query: 5.3.2 axobject-query: 4.1.0 - eslint: 10.11.0(jiti@2.7.0)(supports-color@8.1.1) + eslint: 10.13.0(jiti@2.7.0)(supports-color@8.1.1) typescript: 6.0.3 - '@angular-eslint/eslint-plugin@22.6.0(@typescript-eslint/utils@8.70.1(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3)': + '@angular-eslint/eslint-plugin@22.6.0(@typescript-eslint/utils@8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3)': dependencies: '@angular-eslint/bundled-angular-compiler': 22.6.0 - '@angular-eslint/utils': 22.6.0(@typescript-eslint/utils@8.70.1(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3) - '@typescript-eslint/utils': 8.70.1(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) - eslint: 10.11.0(jiti@2.7.0)(supports-color@8.1.1) + '@angular-eslint/utils': 22.6.0(@typescript-eslint/utils@8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3) + '@typescript-eslint/utils': 8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) + eslint: 10.13.0(jiti@2.7.0)(supports-color@8.1.1) ts-api-utils: 2.5.0(typescript@6.0.3) typescript: 6.0.3 - '@angular-eslint/schematics@22.6.0(@angular-eslint/template-parser@22.6.0(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3))(@typescript-eslint/types@8.70.1)(@typescript-eslint/utils@8.70.1(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(chokidar@5.0.0)(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3)': + '@angular-eslint/schematics@22.6.0(@angular-eslint/template-parser@22.6.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3))(@typescript-eslint/types@8.72.0)(@typescript-eslint/utils@8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(chokidar@5.0.0)(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3)': dependencies: '@angular-devkit/core': 22.2.0(chokidar@5.0.0) '@angular-devkit/schematics': 22.2.0(chokidar@5.0.0) - '@angular-eslint/eslint-plugin': 22.6.0(@typescript-eslint/utils@8.70.1(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3) - '@angular-eslint/eslint-plugin-template': 22.6.0(@angular-eslint/template-parser@22.6.0(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3))(@typescript-eslint/types@8.70.1)(@typescript-eslint/utils@8.70.1(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3) + '@angular-eslint/eslint-plugin': 22.6.0(@typescript-eslint/utils@8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3) + '@angular-eslint/eslint-plugin-template': 22.6.0(@angular-eslint/template-parser@22.6.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3))(@typescript-eslint/types@8.72.0)(@typescript-eslint/utils@8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3) ignore: 7.0.12 semver: 7.8.5 strip-json-comments: 3.1.1 @@ -4463,18 +4468,18 @@ snapshots: - eslint - typescript - '@angular-eslint/template-parser@22.6.0(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3)': + '@angular-eslint/template-parser@22.6.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3)': dependencies: '@angular-eslint/bundled-angular-compiler': 22.6.0 - eslint: 10.11.0(jiti@2.7.0)(supports-color@8.1.1) + eslint: 10.13.0(jiti@2.7.0)(supports-color@8.1.1) eslint-scope: 9.1.2 typescript: 6.0.3 - '@angular-eslint/utils@22.6.0(@typescript-eslint/utils@8.70.1(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3)': + '@angular-eslint/utils@22.6.0(@typescript-eslint/utils@8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3)': dependencies: '@angular-eslint/bundled-angular-compiler': 22.6.0 - '@typescript-eslint/utils': 8.70.1(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) - eslint: 10.11.0(jiti@2.7.0)(supports-color@8.1.1) + '@typescript-eslint/utils': 8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) + eslint: 10.13.0(jiti@2.7.0)(supports-color@8.1.1) typescript: 6.0.3 '@angular/build@22.2.2(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/compiler@22.2.2)(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/localize@22.2.2(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/compiler@22.2.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(@types/node@26.6.5)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(postcss@8.5.28)(supports-color@8.1.1)(tslib@2.8.1)(typescript@6.0.3)': @@ -5053,9 +5058,9 @@ snapshots: '@esbuild/win32-x64@0.28.2': optional: true - '@eslint-community/eslint-utils@4.10.1(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))': + '@eslint-community/eslint-utils@4.10.1(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))': dependencies: - eslint: 10.11.0(jiti@2.7.0)(supports-color@8.1.1) + eslint: 10.13.0(jiti@2.7.0)(supports-color@8.1.1) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.2': {} @@ -6052,72 +6057,72 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@8.70.1(@typescript-eslint/parser@8.70.1(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3)': + '@typescript-eslint/eslint-plugin@8.72.0(@typescript-eslint/parser@8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.70.1(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) - '@typescript-eslint/scope-manager': 8.70.1 - '@typescript-eslint/type-utils': 8.70.1(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) - '@typescript-eslint/utils': 8.70.1(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.70.1 - eslint: 10.11.0(jiti@2.7.0)(supports-color@8.1.1) - ignore: 7.0.10 + '@typescript-eslint/parser': 8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) + '@typescript-eslint/scope-manager': 8.72.0 + '@typescript-eslint/type-utils': 8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) + '@typescript-eslint/utils': 8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.72.0 + eslint: 10.13.0(jiti@2.7.0)(supports-color@8.1.1) + ignore: 7.0.14 natural-compare: 1.4.0 ts-api-utils: 2.5.0(typescript@6.0.3) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.70.1(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3)': + '@typescript-eslint/parser@8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3)': dependencies: - '@typescript-eslint/scope-manager': 8.70.1 - '@typescript-eslint/types': 8.70.1 - '@typescript-eslint/typescript-estree': 8.70.1(supports-color@8.1.1)(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.70.1 + '@typescript-eslint/scope-manager': 8.72.0 + '@typescript-eslint/types': 8.72.0 + '@typescript-eslint/typescript-estree': 8.72.0(supports-color@8.1.1)(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.72.0 debug: 4.4.3(supports-color@8.1.1) - eslint: 10.11.0(jiti@2.7.0)(supports-color@8.1.1) + eslint: 10.13.0(jiti@2.7.0)(supports-color@8.1.1) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.70.1(supports-color@8.1.1)(typescript@6.0.3)': + '@typescript-eslint/project-service@8.72.0(supports-color@8.1.1)(typescript@6.0.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.70.1(typescript@6.0.3) - '@typescript-eslint/types': 8.70.1 + '@typescript-eslint/tsconfig-utils': 8.72.0(typescript@6.0.3) + '@typescript-eslint/types': 8.72.0 debug: 4.4.3(supports-color@8.1.1) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.70.1': + '@typescript-eslint/scope-manager@8.72.0': dependencies: - '@typescript-eslint/types': 8.70.1 - '@typescript-eslint/visitor-keys': 8.70.1 + '@typescript-eslint/types': 8.72.0 + '@typescript-eslint/visitor-keys': 8.72.0 - '@typescript-eslint/tsconfig-utils@8.70.1(typescript@6.0.3)': + '@typescript-eslint/tsconfig-utils@8.72.0(typescript@6.0.3)': dependencies: typescript: 6.0.3 - '@typescript-eslint/type-utils@8.70.1(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3)': + '@typescript-eslint/type-utils@8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3)': dependencies: - '@typescript-eslint/types': 8.70.1 - '@typescript-eslint/typescript-estree': 8.70.1(supports-color@8.1.1)(typescript@6.0.3) - '@typescript-eslint/utils': 8.70.1(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) + '@typescript-eslint/types': 8.72.0 + '@typescript-eslint/typescript-estree': 8.72.0(supports-color@8.1.1)(typescript@6.0.3) + '@typescript-eslint/utils': 8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3) debug: 4.4.3(supports-color@8.1.1) - eslint: 10.11.0(jiti@2.7.0)(supports-color@8.1.1) + eslint: 10.13.0(jiti@2.7.0)(supports-color@8.1.1) ts-api-utils: 2.5.0(typescript@6.0.3) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.70.1': {} + '@typescript-eslint/types@8.72.0': {} - '@typescript-eslint/typescript-estree@8.70.1(supports-color@8.1.1)(typescript@6.0.3)': + '@typescript-eslint/typescript-estree@8.72.0(supports-color@8.1.1)(typescript@6.0.3)': dependencies: - '@typescript-eslint/project-service': 8.70.1(supports-color@8.1.1)(typescript@6.0.3) - '@typescript-eslint/tsconfig-utils': 8.70.1(typescript@6.0.3) - '@typescript-eslint/types': 8.70.1 - '@typescript-eslint/visitor-keys': 8.70.1 + '@typescript-eslint/project-service': 8.72.0(supports-color@8.1.1)(typescript@6.0.3) + '@typescript-eslint/tsconfig-utils': 8.72.0(typescript@6.0.3) + '@typescript-eslint/types': 8.72.0 + '@typescript-eslint/visitor-keys': 8.72.0 debug: 4.4.3(supports-color@8.1.1) minimatch: 10.2.6 semver: 7.8.5 @@ -6127,20 +6132,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.70.1(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3)': + '@typescript-eslint/utils@8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3)': dependencies: - '@eslint-community/eslint-utils': 4.10.1(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1)) - '@typescript-eslint/scope-manager': 8.70.1 - '@typescript-eslint/types': 8.70.1 - '@typescript-eslint/typescript-estree': 8.70.1(supports-color@8.1.1)(typescript@6.0.3) - eslint: 10.11.0(jiti@2.7.0)(supports-color@8.1.1) + '@eslint-community/eslint-utils': 4.10.1(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1)) + '@typescript-eslint/scope-manager': 8.72.0 + '@typescript-eslint/types': 8.72.0 + '@typescript-eslint/typescript-estree': 8.72.0(supports-color@8.1.1)(typescript@6.0.3) + eslint: 10.13.0(jiti@2.7.0)(supports-color@8.1.1) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.70.1': + '@typescript-eslint/visitor-keys@8.72.0': dependencies: - '@typescript-eslint/types': 8.70.1 + '@typescript-eslint/types': 8.72.0 eslint-visitor-keys: 5.0.1 '@ungap/structured-clone@1.3.3': {} @@ -6219,9 +6224,9 @@ snapshots: dependencies: vite: 8.3.5(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1) - acorn-jsx@5.3.2(acorn@8.18.0): + acorn-jsx@5.3.2(acorn@8.19.0): dependencies: - acorn: 8.18.0 + acorn: 8.19.0 acorn-walk@8.3.5: dependencies: @@ -6229,6 +6234,8 @@ snapshots: acorn@8.18.0: {} + acorn@8.19.0: {} + agent-base@7.1.4: {} agent-base@9.0.0: {} @@ -6606,9 +6613,9 @@ snapshots: eslint-visitor-keys@5.0.1: {} - eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1): + eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1): dependencies: - '@eslint-community/eslint-utils': 4.10.1(eslint@10.11.0(jiti@2.7.0)(supports-color@8.1.1)) + '@eslint-community/eslint-utils': 4.10.1(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1)) '@eslint-community/regexpp': 4.12.2 '@eslint/config-array': 0.23.5(supports-color@8.1.1) '@eslint/config-helpers': 0.7.0 @@ -6645,8 +6652,8 @@ snapshots: espree@11.2.0: dependencies: - acorn: 8.18.0 - acorn-jsx: 5.3.2(acorn@8.18.0) + acorn: 8.19.0 + acorn-jsx: 5.3.2(acorn@8.19.0) eslint-visitor-keys: 5.0.1 esprima@4.0.1: {} @@ -6864,10 +6871,10 @@ snapshots: ignore@5.3.2: {} - ignore@7.0.10: {} - ignore@7.0.12: {} + ignore@7.0.14: {} + immutable@5.1.9: {} import-local@3.2.0: From 37168b927e9a916d69ed2ff697e24c172c82dc9b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Nov 2026 22:10:22 +0000 Subject: [PATCH 28/44] Chore(deps): Bump uuid from 14.0.2 to 14.0.3 in /src-ui (#14640) Bumps [uuid](https://github.com/uuidjs/uuid) from 14.0.2 to 14.0.3. - [Release notes](https://github.com/uuidjs/uuid/releases) - [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md) - [Commits](https://github.com/uuidjs/uuid/compare/v14.0.2...v14.0.3) --- updated-dependencies: - dependency-name: uuid dependency-version: 14.0.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src-ui/package.json | 2 +- src-ui/pnpm-lock.yaml | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src-ui/package.json b/src-ui/package.json index 1553f4b0d3..89629978ff 100644 --- a/src-ui/package.json +++ b/src-ui/package.json @@ -42,7 +42,7 @@ "rxjs": "^7.8.2", "tslib": "^2.8.1", "utif": "^3.1.0", - "uuid": "^14.0.2" + "uuid": "^14.0.3" }, "devDependencies": { "@angular-builders/jest": "^22.0.1", diff --git a/src-ui/pnpm-lock.yaml b/src-ui/pnpm-lock.yaml index 742ad19345..dd562a6f80 100644 --- a/src-ui/pnpm-lock.yaml +++ b/src-ui/pnpm-lock.yaml @@ -94,8 +94,8 @@ importers: specifier: ^3.1.0 version: 3.1.0 uuid: - specifier: ^14.0.2 - version: 14.0.2 + specifier: ^14.0.3 + version: 14.0.3 devDependencies: '@angular-builders/jest': specifier: ^22.0.1 @@ -4105,8 +4105,8 @@ packages: utif@3.1.0: resolution: {integrity: sha512-WEo4D/xOvFW53K5f5QTaTbbiORcm2/pCL9P6qmJnup+17eYfKaEhDeX9PeQkuyEoIxlbGklDuGl8xwuXYMrrXQ==} - uuid@14.0.2: - resolution: {integrity: sha512-xZe/16rV4aa+HGSOCiY2YeLT1OybRLrrkL/Rqaq7p7GMVXjFh+6wN4oMYgjFmnSnhY8t6Xpdl2l9qmnHYuMHwQ==} + uuid@14.0.3: + resolution: {integrity: sha512-Sc5u1VVln93y1Xnz4R+CunOZc7R9LUcTmhj7Rc7Eg3HVcf7rVn2FOoa812fe0W8p3jD7xeoGSYbfqCGGH2B6xw==} hasBin: true v8-compile-cache-lib@3.0.1: @@ -7107,7 +7107,7 @@ snapshots: dependencies: mkdirp: 1.0.4 strip-ansi: 6.0.1 - uuid: 14.0.2 + uuid: 14.0.3 xml: 1.0.1 jest-leak-detector@30.5.1: @@ -8302,7 +8302,7 @@ snapshots: dependencies: pako: 1.0.11 - uuid@14.0.2: {} + uuid@14.0.3: {} v8-compile-cache-lib@3.0.1: {} From 0de2cb83727607297b5462f32cddd3c3115a41ff Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Nov 2026 15:44:37 -0800 Subject: [PATCH 29/44] Chore(deps): Bump pdfjs-dist from 6.3.289 to 6.4.299 in /src-ui (#14644) Bumps [pdfjs-dist](https://github.com/mozilla/pdf.js) from 6.3.289 to 6.4.299. - [Release notes](https://github.com/mozilla/pdf.js/releases) - [Commits](https://github.com/mozilla/pdf.js/compare/v6.3.289...v6.4.299) --- updated-dependencies: - dependency-name: pdfjs-dist dependency-version: 6.4.299 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src-ui/package.json | 2 +- src-ui/pnpm-lock.yaml | 106 +++++++++++++++++++++--------------------- 2 files changed, 54 insertions(+), 54 deletions(-) diff --git a/src-ui/package.json b/src-ui/package.json index 89629978ff..5b8db95b30 100644 --- a/src-ui/package.json +++ b/src-ui/package.json @@ -38,7 +38,7 @@ "ngx-device-detector": "^12.0.0", "ngx-ui-tour-ng-bootstrap": "^19.0.0", "normalize-diacritics": "^5.0.0", - "pdfjs-dist": "^6.3.289", + "pdfjs-dist": "^6.4.299", "rxjs": "^7.8.2", "tslib": "^2.8.1", "utif": "^3.1.0", diff --git a/src-ui/pnpm-lock.yaml b/src-ui/pnpm-lock.yaml index dd562a6f80..0b699447ca 100644 --- a/src-ui/pnpm-lock.yaml +++ b/src-ui/pnpm-lock.yaml @@ -82,8 +82,8 @@ importers: specifier: ^5.0.0 version: 5.0.0 pdfjs-dist: - specifier: ^6.3.289 - version: 6.3.289 + specifier: ^6.4.299 + version: 6.4.299 rxjs: specifier: ^7.8.2 version: 7.8.2 @@ -1303,79 +1303,79 @@ packages: cpu: [x64] os: [win32] - '@napi-rs/canvas-android-arm64@1.0.9': - resolution: {integrity: sha512-4LGXk2/0HVzE29K8SzML5WubgCp++B1FH3qgl35XmSZE+lLdr6P9VRQEnZ0MCLZMTSuJP41yyhtoiVNEuvrTIA==} + '@napi-rs/canvas-android-arm64@1.0.13': + resolution: {integrity: sha512-trn7AaDzQ+yeeA0ezhkC7cB1ZDPtp4UYk0EvB5F8qtYL9jEVWtVrU30WOpI52DszoTxaTsCgf5PP4ZVaOlOIHQ==} engines: {node: '>= 10'} cpu: [arm64] os: [android] - '@napi-rs/canvas-darwin-arm64@1.0.9': - resolution: {integrity: sha512-YNdfLBzY0W/Pep9fo2L6RmoNlNksnn05LRnX66W63R3ij58S25QOTcjdtEt2v8+PnCESzqZsYzUo+QPeIR44NA==} + '@napi-rs/canvas-darwin-arm64@1.0.13': + resolution: {integrity: sha512-6Y2djEetL8copxfNK6hg7oig/xqTwOchv19hBOm+zBNdKc/02Z3kjZN5wrLzv/l5O04/bAQS6I/AlQpwBlXgPg==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@napi-rs/canvas-darwin-x64@1.0.9': - resolution: {integrity: sha512-ceZQSknTEcy3dOXoekv59LTCkXjvnLsq+VW5PeNNDHEPQbRS5Ervkm1EaDa7WLAjiYWMLuSQTRTHao1dEX4prg==} + '@napi-rs/canvas-darwin-x64@1.0.13': + resolution: {integrity: sha512-OZoPwwu4TMMg8GTCFBrg8UFExwQTU/55i3uTC/izDat6PHE+ro9dimyQoOboFf91+NY7Pnn70ScR8f8I8+eZXw==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@napi-rs/canvas-linux-arm-gnueabihf@1.0.9': - resolution: {integrity: sha512-XhfI0Wwv4llhd6nnWDtY3kQKjq0r+y1i91PlJlJI24ag2U9WrnwbG1qS3+fDLEyouwEVFchiKkTEHozK+5iUNA==} + '@napi-rs/canvas-linux-arm-gnueabihf@1.0.13': + resolution: {integrity: sha512-dZSYaKROuswU2eUWG5aBKndNVe68elo1YX93xtRax7q658tj8rYE+HwduovWJgs6qwv1r1/CLR60nDeBbyjvyg==} engines: {node: '>= 10'} cpu: [arm] os: [linux] - '@napi-rs/canvas-linux-arm64-gnu@1.0.9': - resolution: {integrity: sha512-012oiYtKaE7i9oxc8q7nraT7kDOpLcaCmFLzVe9Ty34RHDdoDzbWLrVh827CNxYh/EADX1eSikA3ymLjo/nNuw==} + '@napi-rs/canvas-linux-arm64-gnu@1.0.13': + resolution: {integrity: sha512-W6FzYE8ADHI93In1vi80KBL6btDtAMuj50Ch5ptkWS8xuntyzbR4h5JDUmXoakxZn2yMInksudTEqVSWoFqFGg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [glibc] - '@napi-rs/canvas-linux-arm64-musl@1.0.9': - resolution: {integrity: sha512-Ls5UWYFFn63casTZEczbeyEg3vRDRkv9lscuGwfchtY5yLLQhgOB8SN4YGxmfJ5vTaBwZ2YUxBS3NtmjJmFXdA==} + '@napi-rs/canvas-linux-arm64-musl@1.0.13': + resolution: {integrity: sha512-+6fQ+rR49hkAa4voh2stLIwQ+4t+gmoseM8Bc53/DlMXb73IKymDPWK9A/NtWeqTW4ijWppYuyuxS2hPI8tzNA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [musl] - '@napi-rs/canvas-linux-riscv64-gnu@1.0.9': - resolution: {integrity: sha512-hLKEGxV7ZiRHqndePTokgDMdBlo/rDfzg7P4p4QIv9pUhuYobnu3R2NIFLCRghG0nwfo+s2sw+c1xZFeCmEAsw==} + '@napi-rs/canvas-linux-riscv64-gnu@1.0.13': + resolution: {integrity: sha512-17XEMO3t9RW/TtHtSFf2AkaSWuCWdzbPeidz7zrOFawHxoLSJCnpTI1hN5aUvrZNnkNNmt/vZVJCh0ryUaik3A==} engines: {node: '>= 10'} cpu: [riscv64] os: [linux] libc: [glibc] - '@napi-rs/canvas-linux-x64-gnu@1.0.9': - resolution: {integrity: sha512-6kaz3w0QMy77PDWk6rJ1ksIihdad3qzEyX2o2oGT8GwCaypfT5mhjr8buOO5hstyLxcWXDScuz56RsINLtBPIQ==} + '@napi-rs/canvas-linux-x64-gnu@1.0.13': + resolution: {integrity: sha512-lc48IwknVHBsNzXn9Xs5OkUsRX38Ml3Z1aOybQ51mMEzZckm8+4A0qROlyYHEoBPzr1kL3IU8ZUAqDb7wtdX8w==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [glibc] - '@napi-rs/canvas-linux-x64-musl@1.0.9': - resolution: {integrity: sha512-xrGvmS3v55hmZ86ls/kBLVNMUTYio3f6Ik0DireemG994VfPAwiA3ZXA0Uf1bByctkB3NQ1Sfb+H5bkdUnnzfQ==} + '@napi-rs/canvas-linux-x64-musl@1.0.13': + resolution: {integrity: sha512-bGY1r26S2bs8UNFJcPWcCSNdCFbKep5PATsvtgtC9A5u6SRgr2/jJE/RlhHL5m9ZpixNDhVkLY/5h16Kx5V9YA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [musl] - '@napi-rs/canvas-win32-arm64-msvc@1.0.9': - resolution: {integrity: sha512-yjmVS3ArZeRVCP7jqbPq4rpZa/BhTeI7ELE2XqJg3snICQBDevLZyArxswHkiTnT34KRic33/4fLirrHI+SY8A==} + '@napi-rs/canvas-win32-arm64-msvc@1.0.13': + resolution: {integrity: sha512-2vRPBZoaIvJrUkDhZTE2Hn0YrnpJRCWVM3EJACoBKjuWI6WgPxGtUoRMsxRviCsyks8bKTSFdyw14CellnG2qA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@napi-rs/canvas-win32-x64-msvc@1.0.9': - resolution: {integrity: sha512-QlSYQdMQslB81nlABo9wNfQ6npFhE7/O+saCZdqVGueGanyRk4jCogD5EwQenfP3kIq9e+mm6GreQBjX5MrA8g==} + '@napi-rs/canvas-win32-x64-msvc@1.0.13': + resolution: {integrity: sha512-DUlW3lZPz63kYsf8mxgyyZuevhlH0T3/BGP9l+NazhB0F1+gL6D4hqZdnhZpw24DlWmTpATDcyYSZlJOi+DdfQ==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - '@napi-rs/canvas@1.0.9': - resolution: {integrity: sha512-QviPdJImDi/jMAvBfqaw+19BndMd/sizXVW3NnpMd3VJGz++QXkOHcP9kWR/smHG0hNjHeyuHFyrx/5lD0oNcQ==} + '@napi-rs/canvas@1.0.13': + resolution: {integrity: sha512-b87ugZpQ5ViwqVBkjervxpwa0GmJPsKHLBNoZN6GpjWeHzTbDUGryriq+2DYW2XbB+xCqSIINQysC0/I87nPbw==} engines: {node: '>= 10'} '@napi-rs/nice-android-arm-eabi@1.1.1': @@ -3569,8 +3569,8 @@ packages: resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==} engines: {node: 18 || 20 || >=22} - pdfjs-dist@6.3.289: - resolution: {integrity: sha512-ZHjSVpDa3D6izMq8/04lvkhkATUmL9px6ChPaXc1k6nU2Mrhlg1/7F0bdUqCwUjw3NsPTfPZsMDUU6ZIcRaeQw==} + pdfjs-dist@6.4.299: + resolution: {integrity: sha512-AVl138zALtfaAPvADulE0PZThbYzCBS79nL4pOSL/6Sm/4AH5A21BD9VHt97OlCuzJuCpmeZtAtkinisF4Vb1g==} engines: {node: '>=22.13.0 || >=24'} picocolors@1.1.1: @@ -5559,52 +5559,52 @@ snapshots: '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.4': optional: true - '@napi-rs/canvas-android-arm64@1.0.9': + '@napi-rs/canvas-android-arm64@1.0.13': optional: true - '@napi-rs/canvas-darwin-arm64@1.0.9': + '@napi-rs/canvas-darwin-arm64@1.0.13': optional: true - '@napi-rs/canvas-darwin-x64@1.0.9': + '@napi-rs/canvas-darwin-x64@1.0.13': optional: true - '@napi-rs/canvas-linux-arm-gnueabihf@1.0.9': + '@napi-rs/canvas-linux-arm-gnueabihf@1.0.13': optional: true - '@napi-rs/canvas-linux-arm64-gnu@1.0.9': + '@napi-rs/canvas-linux-arm64-gnu@1.0.13': optional: true - '@napi-rs/canvas-linux-arm64-musl@1.0.9': + '@napi-rs/canvas-linux-arm64-musl@1.0.13': optional: true - '@napi-rs/canvas-linux-riscv64-gnu@1.0.9': + '@napi-rs/canvas-linux-riscv64-gnu@1.0.13': optional: true - '@napi-rs/canvas-linux-x64-gnu@1.0.9': + '@napi-rs/canvas-linux-x64-gnu@1.0.13': optional: true - '@napi-rs/canvas-linux-x64-musl@1.0.9': + '@napi-rs/canvas-linux-x64-musl@1.0.13': optional: true - '@napi-rs/canvas-win32-arm64-msvc@1.0.9': + '@napi-rs/canvas-win32-arm64-msvc@1.0.13': optional: true - '@napi-rs/canvas-win32-x64-msvc@1.0.9': + '@napi-rs/canvas-win32-x64-msvc@1.0.13': optional: true - '@napi-rs/canvas@1.0.9': + '@napi-rs/canvas@1.0.13': optionalDependencies: - '@napi-rs/canvas-android-arm64': 1.0.9 - '@napi-rs/canvas-darwin-arm64': 1.0.9 - '@napi-rs/canvas-darwin-x64': 1.0.9 - '@napi-rs/canvas-linux-arm-gnueabihf': 1.0.9 - '@napi-rs/canvas-linux-arm64-gnu': 1.0.9 - '@napi-rs/canvas-linux-arm64-musl': 1.0.9 - '@napi-rs/canvas-linux-riscv64-gnu': 1.0.9 - '@napi-rs/canvas-linux-x64-gnu': 1.0.9 - '@napi-rs/canvas-linux-x64-musl': 1.0.9 - '@napi-rs/canvas-win32-arm64-msvc': 1.0.9 - '@napi-rs/canvas-win32-x64-msvc': 1.0.9 + '@napi-rs/canvas-android-arm64': 1.0.13 + '@napi-rs/canvas-darwin-arm64': 1.0.13 + '@napi-rs/canvas-darwin-x64': 1.0.13 + '@napi-rs/canvas-linux-arm-gnueabihf': 1.0.13 + '@napi-rs/canvas-linux-arm64-gnu': 1.0.13 + '@napi-rs/canvas-linux-arm64-musl': 1.0.13 + '@napi-rs/canvas-linux-riscv64-gnu': 1.0.13 + '@napi-rs/canvas-linux-x64-gnu': 1.0.13 + '@napi-rs/canvas-linux-x64-musl': 1.0.13 + '@napi-rs/canvas-win32-arm64-msvc': 1.0.13 + '@napi-rs/canvas-win32-x64-msvc': 1.0.13 optional: true '@napi-rs/nice-android-arm-eabi@1.1.1': @@ -7807,9 +7807,9 @@ snapshots: lru-cache: 11.5.3 minipass: 7.1.3 - pdfjs-dist@6.3.289: + pdfjs-dist@6.4.299: optionalDependencies: - '@napi-rs/canvas': 1.0.9 + '@napi-rs/canvas': 1.0.13 picocolors@1.1.1: {} From 90bddfcb88485c8c692ec125b325a87fb268a289 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Nov 2026 23:59:06 +0000 Subject: [PATCH 30/44] Chore(deps-dev): Bump @playwright/test from 1.62.1 to 1.64.1 in /src-ui (#14641) * Chore(deps-dev): Bump @playwright/test from 1.62.1 to 1.64.1 in /src-ui Bumps [@playwright/test](https://github.com/microsoft/playwright) from 1.62.1 to 1.64.1. - [Release notes](https://github.com/microsoft/playwright/releases) - [Commits](https://github.com/microsoft/playwright/compare/v1.62.1...v1.64.1) --- updated-dependencies: - dependency-name: "@playwright/test" dependency-version: 1.64.1 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * Bump Playwright CI image to v1.64.1 also --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com> --- .github/workflows/ci-frontend.yml | 2 +- src-ui/package.json | 2 +- src-ui/pnpm-lock.yaml | 36 +++++++++++-------------------- 3 files changed, 15 insertions(+), 25 deletions(-) diff --git a/.github/workflows/ci-frontend.yml b/.github/workflows/ci-frontend.yml index 4935a767b6..2cead59c59 100644 --- a/.github/workflows/ci-frontend.yml +++ b/.github/workflows/ci-frontend.yml @@ -191,7 +191,7 @@ jobs: runs-on: ubuntu-26.04 permissions: contents: read - container: mcr.microsoft.com/playwright:v1.62.1-resolute + container: mcr.microsoft.com/playwright:v1.64.1-resolute env: PLAYWRIGHT_BROWSERS_PATH: /ms-playwright PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1 diff --git a/src-ui/package.json b/src-ui/package.json index 5b8db95b30..a43cd94676 100644 --- a/src-ui/package.json +++ b/src-ui/package.json @@ -56,7 +56,7 @@ "@angular/build": "22.2.2", "@angular/cli": "22.2.2", "@angular/compiler-cli": "~22.2.2", - "@playwright/test": "^1.62.1", + "@playwright/test": "^1.64.1", "@types/jest": "^30.0.0", "@types/node": "^26.6.5", "@typescript-eslint/eslint-plugin": "^8.72.0", diff --git a/src-ui/pnpm-lock.yaml b/src-ui/pnpm-lock.yaml index 0b699447ca..92cfdf87a4 100644 --- a/src-ui/pnpm-lock.yaml +++ b/src-ui/pnpm-lock.yaml @@ -131,8 +131,8 @@ importers: specifier: ~22.2.2 version: 22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3) '@playwright/test': - specifier: ^1.62.1 - version: 1.62.1 + specifier: ^1.64.1 + version: 1.64.1 '@types/jest': specifier: ^30.0.0 version: 30.0.0 @@ -1747,8 +1747,8 @@ packages: resolution: {integrity: sha512-SEeaJLb3qBNF/OaXnaR1NmmBbFYk1zC0ZH/52fATcRPLFg/p791YrcyFFy44Bo9sLaGuSuLp5Q6axbb/O+v/RA==} engines: {node: ^14.18.0 || >=16.0.0} - '@playwright/test@1.62.1': - resolution: {integrity: sha512-DTcUc8qii+cpHvtOwggMtBRMjKZHXYWdw8syRYu2vtzuq4Wxphqq4NfCs5Zt44L6mA8rfDfj+PHnxFc/FeK6mQ==} + '@playwright/test@1.64.1': + resolution: {integrity: sha512-IaYGml/nSOiZWROfPtuIL7neuu9qDOZ3TNvNljUIrhDMxiGTgPjzj/g9p9RxpS2tSepPDRY+UwAaEeiKtUvIAg==} engines: {node: '>=20'} hasBin: true @@ -2751,11 +2751,6 @@ packages: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} - fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -3600,13 +3595,13 @@ packages: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} - playwright-core@1.62.1: - resolution: {integrity: sha512-wPYSwEBJY9GHraISXqyqtx0na0LpO3XEX7jNDhntbex7tzUS7kLnZsOlFruFJB4Hi/rhDMjXGqHewDZ68nYZVw==} + playwright-core@1.64.1: + resolution: {integrity: sha512-BC4s8y6SEVA6Q1rSxZTto8hI1KUI3xXlHGZgvGqP4IqPdI/a6FX9H29IDNz7vKo9l21b6LfYosScPL6M3xxyDQ==} engines: {node: '>=20'} hasBin: true - playwright@1.62.1: - resolution: {integrity: sha512-0M+L3LAD8/nm554LOla9Ayx0j0tmFZ0FBcoQ7F1VuVHpM/XpiC8RcDzBQB8W5+hA8L22THxELzeF+2WcUzvcLg==} + playwright@1.64.1: + resolution: {integrity: sha512-HCrVhHr5QQuwYoswEUGTb7gGp522yflbv/ST8nF4sFWGuLjQCt17Q/EubpGGSNKYn1tsTCPZxqHhHCfVURu7UA==} engines: {node: '>=20'} hasBin: true @@ -5837,9 +5832,9 @@ snapshots: '@pkgr/core@0.3.6': {} - '@playwright/test@1.62.1': + '@playwright/test@1.64.1': dependencies: - playwright: 1.62.1 + playwright: 1.64.1 '@popperjs/core@2.11.8': {} @@ -6759,9 +6754,6 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 - fsevents@2.3.2: - optional: true - fsevents@2.3.3: optional: true @@ -7829,13 +7821,11 @@ snapshots: dependencies: find-up: 4.1.0 - playwright-core@1.62.1: {} + playwright-core@1.64.1: {} - playwright@1.62.1: + playwright@1.64.1: dependencies: - playwright-core: 1.62.1 - optionalDependencies: - fsevents: 2.3.2 + playwright-core: 1.64.1 postcss-media-query-parser@0.2.3: {} From 4d2c733f21bf28bf0ef4a300155928ff22a7151d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Nov 2026 00:14:45 +0000 Subject: [PATCH 31/44] Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 13 updates (#14637) Bumps the frontend-angular-dependencies group with 13 updates in the /src-ui directory: | Package | From | To | | --- | --- | --- | | [@angular/cdk](https://github.com/angular/components) | `22.2.2` | `22.2.4` | | [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `22.2.2` | `22.2.3` | | [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `22.2.2` | `22.2.3` | | [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `22.2.2` | `22.2.3` | | [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `22.2.2` | `22.2.3` | | [@angular/localize](https://github.com/angular/angular) | `22.2.2` | `22.2.3` | | [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `22.2.2` | `22.2.3` | | [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `22.2.2` | `22.2.3` | | [@angular-devkit/core](https://github.com/angular/angular-cli) | `22.2.2` | `22.2.4` | | [@angular-devkit/schematics](https://github.com/angular/angular-cli) | `22.2.2` | `22.2.4` | | [@angular/build](https://github.com/angular/angular-cli) | `22.2.2` | `22.2.4` | | [@angular/cli](https://github.com/angular/angular-cli) | `22.2.2` | `22.2.4` | | [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `22.2.2` | `22.2.3` | Updates `@angular/cdk` from 22.2.2 to 22.2.4 - [Release notes](https://github.com/angular/components/releases) - [Changelog](https://github.com/angular/components/blob/main/CHANGELOG.md) - [Commits](https://github.com/angular/components/compare/v22.2.2...v22.2.4) Updates `@angular/common` from 22.2.2 to 22.2.3 - [Release notes](https://github.com/angular/angular/releases) - [Commits](https://github.com/angular/angular/commits/v22.2.3/packages/common) Updates `@angular/compiler` from 22.2.2 to 22.2.3 - [Release notes](https://github.com/angular/angular/releases) - [Commits](https://github.com/angular/angular/commits/v22.2.3/packages/compiler) Updates `@angular/core` from 22.2.2 to 22.2.3 - [Release notes](https://github.com/angular/angular/releases) - [Commits](https://github.com/angular/angular/commits/v22.2.3/packages/core) Updates `@angular/forms` from 22.2.2 to 22.2.3 - [Release notes](https://github.com/angular/angular/releases) - [Commits](https://github.com/angular/angular/commits/v22.2.3/packages/forms) Updates `@angular/localize` from 22.2.2 to 22.2.3 - [Release notes](https://github.com/angular/angular/releases) - [Commits](https://github.com/angular/angular/compare/v22.2.2...v22.2.3) Updates `@angular/platform-browser` from 22.2.2 to 22.2.3 - [Release notes](https://github.com/angular/angular/releases) - [Commits](https://github.com/angular/angular/commits/v22.2.3/packages/platform-browser) Updates `@angular/router` from 22.2.2 to 22.2.3 - [Release notes](https://github.com/angular/angular/releases) - [Commits](https://github.com/angular/angular/commits/v22.2.3/packages/router) Updates `@angular-devkit/core` from 22.2.2 to 22.2.4 - [Release notes](https://github.com/angular/angular-cli/releases) - [Changelog](https://github.com/angular/angular-cli/blob/v22.2.4/CHANGELOG.md) - [Commits](https://github.com/angular/angular-cli/compare/v22.2.2...v22.2.4) Updates `@angular-devkit/schematics` from 22.2.2 to 22.2.4 - [Release notes](https://github.com/angular/angular-cli/releases) - [Changelog](https://github.com/angular/angular-cli/blob/v22.2.4/CHANGELOG.md) - [Commits](https://github.com/angular/angular-cli/compare/v22.2.2...v22.2.4) Updates `@angular/build` from 22.2.2 to 22.2.4 - [Release notes](https://github.com/angular/angular-cli/releases) - [Changelog](https://github.com/angular/angular-cli/blob/v22.2.4/CHANGELOG.md) - [Commits](https://github.com/angular/angular-cli/compare/v22.2.2...v22.2.4) Updates `@angular/cli` from 22.2.2 to 22.2.4 - [Release notes](https://github.com/angular/angular-cli/releases) - [Changelog](https://github.com/angular/angular-cli/blob/v22.2.4/CHANGELOG.md) - [Commits](https://github.com/angular/angular-cli/compare/v22.2.2...v22.2.4) Updates `@angular/compiler-cli` from 22.2.2 to 22.2.3 - [Release notes](https://github.com/angular/angular/releases) - [Commits](https://github.com/angular/angular/commits/v22.2.3/packages/compiler-cli) --- updated-dependencies: - dependency-name: "@angular-devkit/core" dependency-version: 22.2.4 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: frontend-angular-dependencies - dependency-name: "@angular-devkit/schematics" dependency-version: 22.2.4 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: frontend-angular-dependencies - dependency-name: "@angular/build" dependency-version: 22.2.4 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: frontend-angular-dependencies - dependency-name: "@angular/cdk" dependency-version: 22.2.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: frontend-angular-dependencies - dependency-name: "@angular/cli" dependency-version: 22.2.4 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: frontend-angular-dependencies - dependency-name: "@angular/common" dependency-version: 22.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: frontend-angular-dependencies - dependency-name: "@angular/compiler" dependency-version: 22.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: frontend-angular-dependencies - dependency-name: "@angular/compiler-cli" dependency-version: 22.2.3 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: frontend-angular-dependencies - dependency-name: "@angular/core" dependency-version: 22.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: frontend-angular-dependencies - dependency-name: "@angular/forms" dependency-version: 22.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: frontend-angular-dependencies - dependency-name: "@angular/localize" dependency-version: 22.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: frontend-angular-dependencies - dependency-name: "@angular/platform-browser" dependency-version: 22.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: frontend-angular-dependencies - dependency-name: "@angular/router" dependency-version: 22.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: frontend-angular-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src-ui/package.json | 26 +- src-ui/pnpm-lock.yaml | 791 ++++++++++++++++++++++-------------------- 2 files changed, 433 insertions(+), 384 deletions(-) diff --git a/src-ui/package.json b/src-ui/package.json index a43cd94676..a1ce49eed4 100644 --- a/src-ui/package.json +++ b/src-ui/package.json @@ -15,14 +15,14 @@ }, "private": true, "dependencies": { - "@angular/cdk": "^22.2.2", - "@angular/common": "~22.2.2", - "@angular/compiler": "~22.2.2", - "@angular/core": "~22.2.2", - "@angular/forms": "~22.2.2", - "@angular/localize": "~22.2.2", - "@angular/platform-browser": "~22.2.2", - "@angular/router": "~22.2.2", + "@angular/cdk": "^22.2.4", + "@angular/common": "~22.2.3", + "@angular/compiler": "~22.2.3", + "@angular/core": "~22.2.3", + "@angular/forms": "~22.2.3", + "@angular/localize": "~22.2.3", + "@angular/platform-browser": "~22.2.3", + "@angular/router": "~22.2.3", "@ng-bootstrap/ng-bootstrap": "^21.0.0", "@ng-select/ng-select": "~24.2.1", "@ngneat/dirty-check-forms": "^3.0.3", @@ -46,16 +46,16 @@ }, "devDependencies": { "@angular-builders/jest": "^22.0.1", - "@angular-devkit/core": "^22.2.2", - "@angular-devkit/schematics": "^22.2.2", + "@angular-devkit/core": "^22.2.4", + "@angular-devkit/schematics": "^22.2.4", "@angular-eslint/builder": "22.6.0", "@angular-eslint/eslint-plugin": "22.6.0", "@angular-eslint/eslint-plugin-template": "22.6.0", "@angular-eslint/schematics": "22.6.0", "@angular-eslint/template-parser": "22.6.0", - "@angular/build": "22.2.2", - "@angular/cli": "22.2.2", - "@angular/compiler-cli": "~22.2.2", + "@angular/build": "22.2.4", + "@angular/cli": "22.2.4", + "@angular/compiler-cli": "~22.2.3", "@playwright/test": "^1.64.1", "@types/jest": "^30.0.0", "@types/node": "^26.6.5", diff --git a/src-ui/pnpm-lock.yaml b/src-ui/pnpm-lock.yaml index 92cfdf87a4..bcbc11d953 100644 --- a/src-ui/pnpm-lock.yaml +++ b/src-ui/pnpm-lock.yaml @@ -13,38 +13,38 @@ importers: .: dependencies: '@angular/cdk': - specifier: ^22.2.2 - version: 22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/forms@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2) + specifier: ^22.2.4 + version: 22.2.4(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/forms@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(rxjs@7.8.2))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(rxjs@7.8.2) '@angular/common': - specifier: ~22.2.2 - version: 22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2) + specifier: ~22.2.3 + version: 22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2) '@angular/compiler': - specifier: ~22.2.2 - version: 22.2.2 + specifier: ~22.2.3 + version: 22.2.3 '@angular/core': - specifier: ~22.2.2 - version: 22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2) + specifier: ~22.2.3 + version: 22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2) '@angular/forms': - specifier: ~22.2.2 - version: 22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2) + specifier: ~22.2.3 + version: 22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(rxjs@7.8.2) '@angular/localize': - specifier: ~22.2.2 - version: 22.2.2(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/compiler@22.2.2) + specifier: ~22.2.3 + version: 22.2.3(@angular/compiler-cli@22.2.3(@angular/compiler@22.2.3)(typescript@6.0.3))(@angular/compiler@22.2.3) '@angular/platform-browser': - specifier: ~22.2.2 - version: 22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)) + specifier: ~22.2.3 + version: 22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)) '@angular/router': - specifier: ~22.2.2 - version: 22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2) + specifier: ~22.2.3 + version: 22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(rxjs@7.8.2) '@ng-bootstrap/ng-bootstrap': specifier: ^21.0.0 - version: 21.0.0(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/forms@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2))(@angular/localize@22.2.2(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/compiler@22.2.2))(@popperjs/core@2.11.8)(rxjs@7.8.2) + version: 21.0.0(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/forms@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(rxjs@7.8.2))(@angular/localize@22.2.3(@angular/compiler-cli@22.2.3(@angular/compiler@22.2.3)(typescript@6.0.3))(@angular/compiler@22.2.3))(@popperjs/core@2.11.8)(rxjs@7.8.2) '@ng-select/ng-select': specifier: ~24.2.1 - version: 24.2.1(c16a4205ea3b15ef29cd8e705c42dd79) + version: 24.2.1(d7ded77d8feaf04f34fcbbfccfbace9a) '@ngneat/dirty-check-forms': specifier: ^3.0.3 - version: 3.0.3(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/forms@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2))(@angular/router@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2))(lodash-es@4.18.1)(rxjs@7.8.2) + version: 3.0.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/forms@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(rxjs@7.8.2))(@angular/router@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(rxjs@7.8.2))(lodash-es@4.18.1)(rxjs@7.8.2) '@popperjs/core': specifier: ^2.11.8 version: 2.11.8 @@ -65,19 +65,19 @@ importers: version: 1.0.0 ngx-bootstrap-icons: specifier: ^1.9.3 - version: 1.9.3(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)) + version: 1.9.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)) ngx-color: specifier: ^10.1.0 - version: 10.1.0(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)) + version: 10.1.0(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)) ngx-cookie-service: specifier: ^22.0.0 - version: 22.0.0(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)) + version: 22.0.0(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)) ngx-device-detector: specifier: ^12.0.0 - version: 12.0.0(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)) + version: 12.0.0(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)) ngx-ui-tour-ng-bootstrap: specifier: ^19.0.0 - version: 19.0.0(d24c501c8e7de67195a408ce535a0d0a) + version: 19.0.0(80c1a049efae7c5d8e1cd8a5316ff6b2) normalize-diacritics: specifier: ^5.0.0 version: 5.0.0 @@ -99,13 +99,13 @@ importers: devDependencies: '@angular-builders/jest': specifier: ^22.0.1 - version: 22.0.1(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(@babel/core@7.29.7(supports-color@8.1.1))(@jest/transform@30.5.2(supports-color@8.1.1))(@jest/types@30.5.1)(@types/jsdom@21.1.7)(babel-jest@30.5.2(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(chokidar@5.0.0)(jest@30.5.2(@types/node@26.6.5)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)))(jsdom@26.1.0(supports-color@8.1.1))(rxjs@7.8.2)(typescript@6.0.3) + version: 22.0.1(@angular/compiler-cli@22.2.3(@angular/compiler@22.2.3)(typescript@6.0.3))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(@babel/core@7.29.7(supports-color@8.1.1))(@jest/transform@30.5.2(supports-color@8.1.1))(@jest/types@30.5.1)(@types/jsdom@21.1.7)(babel-jest@30.5.2(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(chokidar@5.0.0)(jest@30.5.2(@types/node@26.6.5)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)))(jsdom@26.1.0(supports-color@8.1.1))(rxjs@7.8.2)(typescript@6.0.3) '@angular-devkit/core': - specifier: ^22.2.2 - version: 22.2.2(chokidar@5.0.0) + specifier: ^22.2.4 + version: 22.2.4(chokidar@5.0.0) '@angular-devkit/schematics': - specifier: ^22.2.2 - version: 22.2.2(chokidar@5.0.0) + specifier: ^22.2.4 + version: 22.2.4(chokidar@5.0.0) '@angular-eslint/builder': specifier: 22.6.0 version: 22.6.0(chokidar@5.0.0)(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3) @@ -122,14 +122,14 @@ importers: specifier: 22.6.0 version: 22.6.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3) '@angular/build': - specifier: 22.2.2 - version: 22.2.2(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/compiler@22.2.2)(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/localize@22.2.2(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/compiler@22.2.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(@types/node@26.6.5)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(postcss@8.5.28)(supports-color@8.1.1)(tslib@2.8.1)(typescript@6.0.3) + specifier: 22.2.4 + version: 22.2.4(@angular/compiler-cli@22.2.3(@angular/compiler@22.2.3)(typescript@6.0.3))(@angular/compiler@22.2.3)(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/localize@22.2.3(@angular/compiler-cli@22.2.3(@angular/compiler@22.2.3)(typescript@6.0.3))(@angular/compiler@22.2.3))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(@types/node@26.6.5)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(postcss@8.5.31)(supports-color@8.1.1)(tslib@2.8.1)(typescript@6.0.3) '@angular/cli': - specifier: 22.2.2 - version: 22.2.2(@types/node@26.6.5)(chokidar@5.0.0) + specifier: 22.2.4 + version: 22.2.4(@types/node@26.6.5)(chokidar@5.0.0) '@angular/compiler-cli': - specifier: ~22.2.2 - version: 22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3) + specifier: ~22.2.3 + version: 22.2.3(@angular/compiler@22.2.3)(typescript@6.0.3) '@playwright/test': specifier: ^1.64.1 version: 1.64.1 @@ -162,7 +162,7 @@ importers: version: 17.0.0 jest-preset-angular: specifier: ^17.0.3 - version: 17.0.3(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(@babel/core@7.29.7(supports-color@8.1.1))(@jest/transform@30.5.2(supports-color@8.1.1))(@jest/types@30.5.1)(@types/jsdom@21.1.7)(babel-jest@30.5.2(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(jest@30.5.2(@types/node@26.6.5)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)))(jsdom@26.1.0(supports-color@8.1.1))(typescript@6.0.3) + version: 17.0.3(@angular/compiler-cli@22.2.3(@angular/compiler@22.2.3)(typescript@6.0.3))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(@babel/core@7.29.7(supports-color@8.1.1))(@jest/transform@30.5.2(supports-color@8.1.1))(@jest/types@30.5.1)(@types/jsdom@21.1.7)(babel-jest@30.5.2(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(jest@30.5.2(@types/node@26.6.5)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)))(jsdom@26.1.0(supports-color@8.1.1))(typescript@6.0.3) jest-websocket-mock: specifier: ^2.5.0 version: 2.5.0 @@ -210,8 +210,8 @@ packages: engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular-devkit/architect@0.2202.2': - resolution: {integrity: sha512-7ScBo47haHyRGG5M5ZEpbhwHgO2LEDbCLwNCjpjwhtRFDIEmAFbULM1OQjIybN3x+wOyY1kWRK7KvihCbs371g==} + '@angular-devkit/architect@0.2202.4': + resolution: {integrity: sha512-hafew1tft3+bnv+DjAtLDEq/Yx5/UyAz/+M4VC5EWQQhcFCN81X47szTX3F9dNeiZIQb8d/WmCnmlbHz6CyupA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true @@ -242,18 +242,27 @@ packages: chokidar: optional: true + '@angular-devkit/core@22.2.4': + resolution: {integrity: sha512-HDlsVK/qN7p5ttKgPvVLo87yrN0UcHR7OyQo1n/lvvMQcYrA0n01E+ix4t+q4C04ifpMbNQtrK0I1222OKi99w==} + engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + peerDependencies: + chokidar: ^5.0.0 + peerDependenciesMeta: + chokidar: + optional: true + '@angular-devkit/schematics@22.1.3': resolution: {integrity: sha512-ebY5bwZVB0onxxyTbJch//VidVVV8jo/F13n+TV5s/3ZywsC3/XZsfMHaxlFmpvP/G17+/C9JVoEXT+uwjT+/Q==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - '@angular-devkit/schematics@22.2.0': - resolution: {integrity: sha512-yhp/LRzKHJOzo2gFm9+H5DKnsT9adi+ItO2pW0pW2B455sqZYE8RJaSku+TSlv+PvWSmbtFsPXNgSRLA6pSk8Q==} - engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - '@angular-devkit/schematics@22.2.2': resolution: {integrity: sha512-uCpFZbQgFUrOjKHLeYSCaYCJdufauYom8yFGggm67yetMAGKPbmRvUEko8i8auNFoBQ+1w1CivjSTwtmXQzZkA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + '@angular-devkit/schematics@22.2.4': + resolution: {integrity: sha512-9pRNtcZN87yM7KQX+HTxGatrm86y30JxVwkF2WNG1pR0e9yeiYWc1KQ5hRS1Nq1LULoP95HApc+TBXqUXzF4Ag==} + engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + '@angular-eslint/builder@22.6.0': resolution: {integrity: sha512-Zn9yjLtUYKd9HF5UZXKqLKuvdYFejVuTJHQ0gFt4pjWDRvb16Lgc8EzeGyYTsc9MNnyFAmHeDTs2dtlFITSDBg==} peerDependencies: @@ -295,8 +304,8 @@ packages: eslint: ^9.0.0 || ^10.0.0 typescript: '*' - '@angular/build@22.2.2': - resolution: {integrity: sha512-QHJWkZdEWTqqb3+HiSp8lnuS4iQJCa7yTK9gg5TaMIjCoZzP9mD9L417stiVDZGj2J3Y9mrml044nEVvSbW0ig==} + '@angular/build@22.2.4': + resolution: {integrity: sha512-Emb3pxRkvf749NQ5cz4ux2h9Cnbxx3FmcupdXIaoRxIyNXM8JxjFDCLZTe0yGGOWv5+hSaoR7XESOcN134vBPw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: '@angular/compiler': ^22.0.0 @@ -306,7 +315,7 @@ packages: '@angular/platform-browser': ^22.0.0 '@angular/platform-server': ^22.0.0 '@angular/service-worker': ^22.0.0 - '@angular/ssr': ^22.2.2 + '@angular/ssr': ^22.2.4 istanbul-lib-instrument: ^6.0.0 karma: ^6.4.0 less: ^4.2.0 @@ -347,8 +356,8 @@ packages: vitest: optional: true - '@angular/cdk@22.2.2': - resolution: {integrity: sha512-d5PWfIargIEV0rlwZea2pYDGb8FhF9df6a6XFRLThla6NKiJRs8utqW+7pyY9wCPFR3SSCGHC05xFh7qv91hdw==} + '@angular/cdk@22.2.4': + resolution: {integrity: sha512-c/DSWyCnN17f/EIl9Y1zVmSEWCAEdp4yeS53WWiHghIPg3kDX32Qbe/9b0/hlYfxcBSdPxtcgZMLSvqtu6hvkA==} peerDependencies: '@angular/common': ^22.0.0 || ^23.0.0 '@angular/core': ^22.0.0 || ^23.0.0 @@ -356,38 +365,38 @@ packages: '@angular/platform-browser': ^22.0.0 || ^23.0.0 rxjs: ^6.5.3 || ^7.4.0 - '@angular/cli@22.2.2': - resolution: {integrity: sha512-AALIN+zai0CiA7HgSCGVPHyZyiw3yFWliCfbaS4ueHDJHVZ8QhVjRUrnfGZc3EJnigcyQ0w2DKeTxjwqpDjKew==} + '@angular/cli@22.2.4': + resolution: {integrity: sha512-luD9gNbMV7ME7mv9cUatVE+WF8Ecqa8v9Zo47YZK/6EPQUKdLxeosGWlHtrvBXElK1YehHItrUbawtZQmQwwlg==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular/common@22.2.2': - resolution: {integrity: sha512-d+mbF1UQLpsoJiC7h4pl58G7XeLHKU8DdLbq9u7TuOK0AnC1t2rrphi8M8WqUrZ+bfmFKCU4i1i4+vOF1N5GtA==} + '@angular/common@22.2.3': + resolution: {integrity: sha512-sRzcvxzurbkCDVFJMguNVgsHds3NvDj5qbZ44NHjH7J9MBk5oZYXHppdHVm8AolBhCXAWvMk0vx+NO8Bt4rS7A==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0} peerDependencies: - '@angular/core': 22.2.2 + '@angular/core': 22.2.3 rxjs: ^6.5.3 || ^7.4.0 - '@angular/compiler-cli@22.2.2': - resolution: {integrity: sha512-7PCIBTVIzG4oyAkDeBRPJpGcgSDLBCKn+2Pp9+gXnXOEETdWhV34so1fpWZ2GWBZsxXav7Ry0K93vFwF93yWoQ==} + '@angular/compiler-cli@22.2.3': + resolution: {integrity: sha512-em7Ht0Dv7cN7vZgvl2fl1yscAs+zUG2Vr2YKpVZ/rOWuTL2JZyT1qIfKhC4wQoo/3lN8fiUIwQMpflSGzIEPng==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0} hasBin: true peerDependencies: - '@angular/compiler': 22.2.2 + '@angular/compiler': 22.2.3 typescript: '>=6.0 <6.1' peerDependenciesMeta: typescript: optional: true - '@angular/compiler@22.2.2': - resolution: {integrity: sha512-hg8Kvhq29w97vs3O5KsSeqA+oobrAKpr/GvsWBIqjRzfrxxeFdjRRoEv1/MVgMSJK36VLigNCjB1qPF3MB17uA==} + '@angular/compiler@22.2.3': + resolution: {integrity: sha512-GjDkmOBqW+6RJTeW5mlLRivf6Zy7Ed0auVh+DYD67d4UF4Sk17F1vIt8puF4CQ2PIezlHh7oOnermCBNHAOGkQ==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0} - '@angular/core@22.2.2': - resolution: {integrity: sha512-mFiSoAs7Gp/7VlbdSxDyV2I/FEyYeNZRaHH7QrMWSB9t+k7wm37uCaYOt9fy6fgXU/UbCgBESp09fV9bUTQcmA==} + '@angular/core@22.2.3': + resolution: {integrity: sha512-ponarFrAZsPutT+htRt3PEmkt2/IB7DyrBy2f48sxsIx3ZA6xw09i2HOEBo+VBphlN6B/ynK9q+o04HPhdJ+dQ==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0} peerDependencies: - '@angular/compiler': 22.2.2 + '@angular/compiler': 22.2.3 rxjs: ^6.5.3 || ^7.4.0 zone.js: ~0.15.0 || ~0.16.0 peerDependenciesMeta: @@ -396,41 +405,41 @@ packages: zone.js: optional: true - '@angular/forms@22.2.2': - resolution: {integrity: sha512-Fgh+EnDoULSFzuDy44da/5Chi+4Sd2Qc4SLjFj23bktvMJ1yfuBPWkvpR9xgWg9Auq+9x84wJVK6WyNwIjXYWA==} + '@angular/forms@22.2.3': + resolution: {integrity: sha512-TKP8FpeRCY/++vKWsY8GC1J2sNtEkdNNBPdgnMAMLTwheW5JzjwVatuQlbuZEx3WaAjbll1Ux3d+eHeqAVrtQg==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0} peerDependencies: - '@angular/common': 22.2.2 - '@angular/core': 22.2.2 - '@angular/platform-browser': 22.2.2 + '@angular/common': 22.2.3 + '@angular/core': 22.2.3 + '@angular/platform-browser': 22.2.3 rxjs: ^6.5.3 || ^7.4.0 - '@angular/localize@22.2.2': - resolution: {integrity: sha512-pHahnD4xcv5Znsg/JY6eRtG6FEhe1E2pSqaoxeGfDoMZOp2GZq0+7zhzHE6oq2eXqQcSMIlUAWFXMH/KByNqDw==} + '@angular/localize@22.2.3': + resolution: {integrity: sha512-PAiV/k8ps4Qosu0VFk5/HIhjfQa0w4Y28+rx3aPIFei3d+kSak4yG5X9SiPWJQaSXr+YamS5pE/BipLYLNvwqA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0} hasBin: true peerDependencies: - '@angular/compiler': 22.2.2 - '@angular/compiler-cli': 22.2.2 + '@angular/compiler': 22.2.3 + '@angular/compiler-cli': 22.2.3 - '@angular/platform-browser@22.2.2': - resolution: {integrity: sha512-DnAyZTLty5bVNeDhcSPNQABqb9SmNvYfYhvgU3dKoGEpONrrECfYo/X4MN0g7Z9Dn/DkgBCNRoC9AZWxbO9HDQ==} + '@angular/platform-browser@22.2.3': + resolution: {integrity: sha512-eWZGsbG4bSrSg9UB/NE8wORGVrh1u+x6rirPGpMWqq/mTi6q+nS+pnPxAxmiEs8wmPH5nCz5b2pRKQeYUkhAGA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0} peerDependencies: - '@angular/animations': 22.2.2 - '@angular/common': 22.2.2 - '@angular/core': 22.2.2 + '@angular/animations': 22.2.3 + '@angular/common': 22.2.3 + '@angular/core': 22.2.3 peerDependenciesMeta: '@angular/animations': optional: true - '@angular/router@22.2.2': - resolution: {integrity: sha512-45HP/henqbPRTCBHzwF4ZV8JU75u2TmBMR4BtwcXcKF5SWragKWE0rMz4NpHnCQIy3bIy5SVTvawpf7EJ/kRyw==} + '@angular/router@22.2.3': + resolution: {integrity: sha512-h4C3iJ3OXM9HItErmTo9fFrFRDj1DSqbvweHAWl8eYJvyuhDD80gBNgdpN8/5gpt9K1HV+PXk0YbyjyQ0zMfPA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0} peerDependencies: - '@angular/common': 22.2.2 - '@angular/core': 22.2.2 - '@angular/platform-browser': 22.2.2 + '@angular/common': 22.2.3 + '@angular/core': 22.2.3 + '@angular/platform-browser': 22.2.3 rxjs: ^6.5.3 || ^7.4.0 '@asamuzakjp/css-color@3.2.0': @@ -476,8 +485,8 @@ packages: resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@8.0.6': - resolution: {integrity: sha512-HTrtZ4+iA0+kzdbCgvdSk1U4pEl3BvpGnlUbualCGNbrVhhQvhgBzurTUmqpWyvyHbWYWaIfdx2mOlL9LJjsew==} + '@babel/helper-compilation-targets@8.0.7': + resolution: {integrity: sha512-ilAZCdOOlOVA7dQbaFNw2f/59p6GW33NxTopc3DvEE3efp3ZXTrGX/yZScaKw8/vd9bq31Ag0EcXiLw32bAgJg==} engines: {node: ^22.18.0 || >=24.11.0} '@babel/helper-globals@7.29.7': @@ -506,8 +515,8 @@ packages: resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@8.0.6': - resolution: {integrity: sha512-+6HYEBnsDRZHJtUTAEfMQd0zMDqdFHS7C+5vAsEZqBUr3vEMWOWlHJ0Jz1gS8jJIlCvLsuA6ivmeoqzH936YcA==} + '@babel/helper-string-parser@8.0.8': + resolution: {integrity: sha512-fVM+gSuKbdv9cpmyRNh5EvsDHUZCdxQH3FdnFKSkNYHpbsn95bbrxm+ES3MVeQjcqwi2O5ur/DjLfmTQaO60ng==} engines: {node: ^22.18.0 || >=24.11.0} '@babel/helper-validator-identifier@7.29.7': @@ -530,8 +539,8 @@ packages: resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} engines: {node: '>=6.9.0'} - '@babel/helpers@8.0.5': - resolution: {integrity: sha512-fQtPOXjYOYv85PIdwotp2TJGVYOycX0PQq+l844fFAxOULtBy8BVF35GyeueX0r4KvDthqPH5xAI1clQPk/2uA==} + '@babel/helpers@8.0.8': + resolution: {integrity: sha512-FBmhiDWs625wHg03OKiLQDeT6LOc2lWBbW97Yqs2iI1tZcucjpmYnO29NHsQ83XxKvredcvUymW/AAn2UtnakA==} engines: {node: ^22.18.0 || >=24.11.0} '@babel/parser@7.29.8': @@ -539,8 +548,8 @@ packages: engines: {node: '>=6.0.0'} hasBin: true - '@babel/parser@8.0.6': - resolution: {integrity: sha512-LpGDIYJAzc3Y3PT9x+FxBrGYu2PlWxLmyN7SwPTzaX0LSwEmFJBsRnPBqmaXF2r1v+Zhz6lNiEJ+7yKtM5+Ugg==} + '@babel/parser@8.0.8': + resolution: {integrity: sha512-Gq65JogAr0S2p0BzvfSJboyuiRnxDQApyOqHkKmkrvm+VlLK4gC3pKsiOKEdnhFBemrFbSnOu90mZZWDpiJnmQ==} engines: {node: ^22.18.0 || >=24.11.0} hasBin: true @@ -647,23 +656,23 @@ packages: resolution: {integrity: sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg==} engines: {node: '>=6.9.0'} - '@babel/traverse@8.0.6': - resolution: {integrity: sha512-ilYV+qLStGzSKLipJlETdvdtpK3rAuwfCmCoGKv15MU4EoeIuLkespSNoNLFGOPSciEHx9TLWtN5mv0fz5w5mQ==} + '@babel/traverse@8.0.7': + resolution: {integrity: sha512-bVV0brinsTWgc6ptSIoQo3GbITtl0VZAqEUJbHHcyfDPEu+q/fEvlYEa+6H85HoK8IdksKBFtKJbJFZ6Kff+zg==} engines: {node: ^22.18.0 || >=24.11.0} '@babel/types@7.29.8': resolution: {integrity: sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==} engines: {node: '>=6.9.0'} - '@babel/types@8.0.6': - resolution: {integrity: sha512-c+xgSWboV2pdwXP67BUWDVRHi2BO5Q3KwxyFVs7taVTY+fsK47/L51ZXQoV9rozHJDNHvJ4v4WEsI/IlxV2l2A==} + '@babel/types@8.0.8': + resolution: {integrity: sha512-iXSSZAKQWmaeAwGtFw10v9fg5hUiUs0L+w+Z2K11kym3pDNK+SF0VcAQPsEFvWcTSZ7LMgClMXDBvTbH0IlICg==} engines: {node: ^22.18.0 || >=24.11.0} '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - '@bufbuild/protobuf@2.15.0': - resolution: {integrity: sha512-DAheWUkVr/SJTWCc+lg9dhY0eN4SaWlf4+bG1KzHeXbnqt0AfB/NX0Z+VunGlM1ki1B4zVvye27MpKh/svySUA==} + '@bufbuild/protobuf@2.16.0': + resolution: {integrity: sha512-FWa0sPlqYGJgpTs6OxBRcL/AW4JT0OIO+W1ajerluoTVh8CV0B7XM1qsNCRgnkSCkRCgOICKHRQlY17jrsm0+Q==} '@cacheable/memory@2.2.0': resolution: {integrity: sha512-CTLKqLItRCEixEAewD3/j9DB3/o96gpTPD4eJ1v+DGOlxZRZncRQkGYqqnAGCscYd6RNeXfGeiuCphsPtqyIfQ==} @@ -902,8 +911,8 @@ packages: resolution: {integrity: sha512-IkO+/KEUvwbVpiURZg+P7zF74z5Jxe0UgJxVni+RtoHQ6IZieXaO02kmadomap/q+l6bc/jdPGGqTjhuZnuz1Q==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@harperfast/extended-iterable@1.0.3': - resolution: {integrity: sha512-sSAYhQca3rDWtQUHSAPeO7axFIUJOI6hn1gjRC5APVE1a90tuyT8f5WIgRsFhhWA7htNkju2veB9eWL6YHi/Lw==} + '@harperfast/extended-iterable@1.0.5': + resolution: {integrity: sha512-4ScXlphaKEa49RpHmqwATq9QI9aUTdWVYDlJkzxhsD7ShJP+pHCYLznMO9n/wREY8jPjRZ59wLJY6HM5yB5Gkw==} '@humanfs/core@0.19.2': resolution: {integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==} @@ -925,12 +934,12 @@ packages: resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} - '@inquirer/ansi@2.0.8': - resolution: {integrity: sha512-WpQM+Ti6Z40EFwwt+uL2p4UabT+W179zHp6HhLVOzfbwnVn05IPO/eXIZXGNqcT1jbQ15SujNLzQ39k4QPPxBQ==} + '@inquirer/ansi@2.0.9': + resolution: {integrity: sha512-0Ywt3S8tqM6TWUcsRlBFQ1x+X3/o8kktX0ZiKAnByYb9GFDknnOhse1PVtfiD2BXPI8ar+BWx9PV9R0lQIcygw==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} - '@inquirer/checkbox@5.2.5': - resolution: {integrity: sha512-bRt8J8m+Fot9CXv+zNQGXUq2ET0MggR1fPz7v6edN6MFYmsbfGnMmkmWZJEegMKqrAC8ej/o1sqisHZXZJMAfQ==} + '@inquirer/checkbox@5.2.7': + resolution: {integrity: sha512-/+QmGE/9bvE/EobaZDnzYe+T+QWoJrnmxwBQNtoi2OVSUR9d1znYsNyEoUrOZvFSxDYttrhzRIpXpaLkN+iIsg==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' @@ -947,8 +956,8 @@ packages: '@types/node': optional: true - '@inquirer/core@12.0.3': - resolution: {integrity: sha512-wsSy0sznmXwkty+2PzZwx00Cazc/E0r0B7mAzdGROz2Ct+DFZXaK7WDjGZvgjRldxH5ZhFVfF2lgkYrqgOw2KA==} + '@inquirer/confirm@6.3.4': + resolution: {integrity: sha512-ZwnaZZDa1zxsyVrN32s447ydMnKcw7e8WWNT+R+Qsu0zAn8Rs6yi9d1B80Kob1Ul2cfUi7t8JD2t4/K7uEZpqA==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' @@ -956,8 +965,8 @@ packages: '@types/node': optional: true - '@inquirer/editor@5.3.3': - resolution: {integrity: sha512-YsKkS2q63IiLtaDK/9nqzdComN97SDQrmKiyNggN+ceP4ty+Z6VwyTz3FpjeUWeW1Efss2xHFKCC9sx7hnrsxg==} + '@inquirer/core@12.0.5': + resolution: {integrity: sha512-c0ZSnO9oVk/IlEGoZK3u8b3IZQeu9I6jUkXJSQnQEVRXsjKvtAq3AGqFL2LgfJhlzMZne08pZHWRWasIcI3Rew==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' @@ -965,8 +974,8 @@ packages: '@types/node': optional: true - '@inquirer/expand@5.1.5': - resolution: {integrity: sha512-uHuXLmXW+TtIfT/9vSBotypAkqn1n34Ul+CLGPos/xANyO4Ff5xZzkYhbKR4NEcfVK4a9mHQOpwVZzluSHFRGw==} + '@inquirer/editor@5.3.5': + resolution: {integrity: sha512-6lU3/pPx5z3lHWejFW061MV4qZooBQYv/+EeGhNOPiP/i+hrYsHfxxBnnDGsAfg8YdLUd69YckoeOjtr3QuAUg==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' @@ -974,8 +983,17 @@ packages: '@types/node': optional: true - '@inquirer/external-editor@3.0.5': - resolution: {integrity: sha512-f3QQJRIX5ZEneBHNUIuPjmbdzHnmRFJA8r2dkcb8q+OM5Uv5KtnuAttQumnrjcBVBM3mcTX1CkmtAkU58VRZxg==} + '@inquirer/expand@5.1.7': + resolution: {integrity: sha512-eiJ31YFCaB6fLoJCqLIn8S6eqUyME6vwr8KcP5h8cxmA+bV9RRVPO+kywoxb7G63HduDXV6sN/SM7o2R+ahEcQ==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/external-editor@3.0.6': + resolution: {integrity: sha512-rWmw6WG8JZ7LMn/srXEylYGhL6EXXJeROE7/4x4GREh6NgzqJBDbIgpNGsYoLPfobeb4VZtEYzPGnT5EFNYhiQ==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' @@ -987,8 +1005,8 @@ packages: resolution: {integrity: sha512-EAWgUTGQ/Umgga51dE3B2PUHbufuXarDfg86uVgoSgNHNNQnyFKcOrQLWVqYMghuSyHh8+2HUH0Js9cTC1WAdg==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} - '@inquirer/input@5.1.6': - resolution: {integrity: sha512-HtcJhB2QFVXbLuJ5S3syhNbTUVxYvwqV4VRBDkQceBloC9bmTViUoRFP5PbSaDZb3HzfPmpuU/gG4ybVBz4FHA==} + '@inquirer/input@5.1.8': + resolution: {integrity: sha512-psOSTgkL8y/OtgJJYbqJ0oISr2QBE0U1Ro/qQdA/EKjeJiwiUTQgQmq8o4ESNzVOWthIeh3YLD7BCUR9dKnR5g==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' @@ -996,8 +1014,8 @@ packages: '@types/node': optional: true - '@inquirer/number@4.2.3': - resolution: {integrity: sha512-6Yuwh1NGSbu1Lo4N1EWjXs1jKRntLg/ZCwhmeorEHde90v1XxAozdbd4Iu30eOQLW+6h1hp2O9ujNfLSbTPJnA==} + '@inquirer/number@4.2.5': + resolution: {integrity: sha512-lEy7LWsdF5qHx5QjHZqabUqM9P7i5uTMCt8GRzqxmwXXKbapKJDA+ucVflVVPAyj4snD5DTAD4L+sct85XOlOQ==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' @@ -1005,8 +1023,8 @@ packages: '@types/node': optional: true - '@inquirer/password@5.2.2': - resolution: {integrity: sha512-W9zYdyzogK+6110mqwaSJWCBu2yA5Q/OfnGSjjZB1bNpHlmUozXxTl0+QOZBNeVd6Qo81/qT75gW05gLAtITxw==} + '@inquirer/password@5.2.4': + resolution: {integrity: sha512-T7ir3fflSSVCYEVqNyMBq+pIMsilQRtbZcD5gxn6Ewsin5TJWBxrGBdXveWtmeXVAeoInfhS+BhBUZaL4sFSDg==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' @@ -1023,8 +1041,8 @@ packages: '@types/node': optional: true - '@inquirer/rawlist@5.3.5': - resolution: {integrity: sha512-1oHky1ONfCOwNrnkQGDE1oaSij/3fI6HFMSf2H/WsGO2lEyDX9My82iggITSy9ddSZ8yk8j9v41OI0fVoSIoaA==} + '@inquirer/rawlist@5.3.7': + resolution: {integrity: sha512-XveEe8v3BHj9ec00n+9i8FHjWhXjS6+jCTizYvXCqKUKtgkrq9xid8S5j3mYGW96qfxG3mwNoud3m3v8GDk9Pw==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' @@ -1032,8 +1050,8 @@ packages: '@types/node': optional: true - '@inquirer/search@4.3.3': - resolution: {integrity: sha512-fyuIU1Nbpvwlikjg3gXwJFDI11+EFjqQ7P+iByfmivIKQ1vmaykNrD/vy5unHuUqUpsOsnvJ25//tPF7E/RBRA==} + '@inquirer/search@4.3.5': + resolution: {integrity: sha512-kIUecMugEN2YTvTmff+uYz0nAE0f9RFNDVZknfrh264vAQM9P8tnsXiUp7z8XbGuNIBEtFMJhvc9QquawpC46A==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' @@ -1041,8 +1059,8 @@ packages: '@types/node': optional: true - '@inquirer/select@5.2.5': - resolution: {integrity: sha512-9kc15hr8r/kI+3DO/xLog5nOzTz1jqsHXa6JBFzmQKhkoJ8Slda1I1L/uD8ZSZ9tF1yp79wwXe7mclvX1rqR2Q==} + '@inquirer/select@5.2.7': + resolution: {integrity: sha512-pRDWO4dTqSAvFQdO8yclKMtXNDm9K9HmvWB5UZmT3clw2OlOBNXveHzhyFmO/0d0yJMqlPcNITus1Jtpm6t8VQ==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' @@ -1059,6 +1077,15 @@ packages: '@types/node': optional: true + '@inquirer/type@4.2.0': + resolution: {integrity: sha512-2rnHX8RPo4glJYqnFc/v3nQeIhDcjyRRyaT7MGcfL/8xv/8K03SXYoA2tX06WVSKywWOE/ncbG3dtuzLjR5TCQ==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -1954,14 +1981,14 @@ packages: resolution: {integrity: sha512-5f5f0tKp3d25hjNGkvw2dtGgTN4wxPNhv1AXnhFkh+mLinQK9Qwzr2iEXDDrAuJEkvz1ACHq631IURWph0lqew==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - '@schematics/angular@22.2.0': - resolution: {integrity: sha512-IOD+T+S5LyVVuLAtLq/5k+WxnT9UpJecyDPvIT+AWug+mZJkd+HKVVHryenNJBaW29tIxNfoDuVFPEsZ4UKcNw==} - engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - '@schematics/angular@22.2.2': resolution: {integrity: sha512-JxpXKpxdmQcRsJbriWJOhB7HeVTzz9CEsPNw6fQ0LOuPFnvtyUIXLxyFbKv/LfoFUz8wFADCtNU5sjowME5Mvg==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + '@schematics/angular@22.2.4': + resolution: {integrity: sha512-3yXpeDsn780rk/Pm+2QjoGpvS03doyuB2i8jUt/tNtDatIIVoXUJak3kjPOK3TVorOJX/fTNMjMxDwQzvec2+w==} + engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + '@sinclair/typebox@0.27.12': resolution: {integrity: sha512-hhyNJ+nbR6ZR7pToHvllEFun9TL0sbL+tk/ON75lo+Xas054uez98qRbsuNt7MBCyZKK4+8Yli/OAGZhmfBZ/g==} @@ -2285,8 +2312,8 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-regex@6.3.0: - resolution: {integrity: sha512-WpDfL7NO6j7tH88IDBNVdUJxDh9nmCteAVW9dsep846XdwF4naCBK+/tGLX3KJgcpgMRXCFlTM2hKGoK9FsdrQ==} + ansi-regex@6.4.0: + resolution: {integrity: sha512-KzTVk2tCWAHtYrvvvaP8bJKJq2pVinhLcGEQdtLIYPbmNGNyYe8QwNaTUYQp2J7/vIsUKt5QCqAfUkYyG9DkOw==} engines: {node: '>=12'} ansi-styles@4.3.0: @@ -2351,8 +2378,8 @@ packages: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} - baseline-browser-mapping@2.11.26: - resolution: {integrity: sha512-GLQdD3y6UF8iVuMJl5fHgE4jdn/ua7n+toKfLgNlg3BqQtOZjpy68T8Tup8/wGWZCDlm7KMg7tPb4MPn7oN0TQ==} + baseline-browser-mapping@2.11.33: + resolution: {integrity: sha512-yiVKDX+qCMRKBE084lXvq9EcwFUhKZ2nU8TK1EQQuOgPNR/lmbGxXOeDdlGUqC2Zz11Cs9rk1d/8NfgBmlkt0w==} engines: {node: '>=6.0.0'} hasBin: true @@ -2376,8 +2403,8 @@ packages: resolution: {integrity: sha512-YovQ3rzhaLMIrDjNDMkNS01tea93qhEhG5xy8f6+R0l+dw3Ki+5sCoIoI942iuLZTHWogWktgwVDhU09iNEimQ==} engines: {node: 20 || >=22} - browserslist@4.29.1: - resolution: {integrity: sha512-AUdjuRyCNGUYtqpqfTmWyM4fXay8yIQhmLnvYe/THMGfT9B/34X7xQd3ifKxwyNPPpowVBjLb+64BN9Rn1mizw==} + browserslist@4.29.4: + resolution: {integrity: sha512-2TcbbiwXEq+N0kD36tykpCfyyQigUXmuwNQbnPp4Xk4PX9JOqVIKjJlIDjpH7uY6tmRGoAd+apeT1p60T8wsdA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -2406,8 +2433,8 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - caniuse-lite@1.0.30001812: - resolution: {integrity: sha512-qN+QNNBr93TCmFrmte0bBCjSDMuRvt78VlHT99qIGPszm4QsqCX8lnyWUFkHi8B7ZBAPq8SH+UqyXNy/odMdng==} + caniuse-lite@1.0.30001819: + resolution: {integrity: sha512-LFUqIIAwpzsIuevnKnsR9qnStBcgzPShTX61lBwN9uFkkf8o8zLiebEjbW8AYtZiF+1YKDWfdt/pWDtMuG8Xwg==} chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} @@ -2567,8 +2594,8 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - electron-to-chromium@1.5.439: - resolution: {integrity: sha512-qu6QIPXhsb+CRcAiTMNjR4A1y/7tCYKkKjr5CZXRVih6qkDf79peZ2BpEU3qoDBNCRrcy3Mra3X9nG5oruuA7Q==} + electron-to-chromium@1.5.464: + resolution: {integrity: sha512-nRa65aFge40viPAKxMKULIY8tcXKwKboJWNn4RoKwyWXJ6SP7BnrDGKUTzc64818jIciH0PK7LSF8QzZes19GA==} emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} @@ -3378,11 +3405,6 @@ packages: resolution: {integrity: sha512-dkEJPVvun4FryqBmZ5KhDo0K9iDXAwn08tMLDinNdRBNPcYEDiWYysLcc6k3mjTMlbP9KyylvRpd4wFtwrT9rw==} engines: {node: ^20.17.0 || >=22.9.0} - nanoid@3.3.18: - resolution: {integrity: sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - nanoid@3.3.20: resolution: {integrity: sha512-uKdg2G3GNCKQn9byYOpxbGqrT2fGO5KRt5J/8b3pok8rT6qxGWF6hxMyJiEYtAf+FVyYuD9hRaDqX5uPFYJ4ZQ==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -3452,8 +3474,8 @@ packages: node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - node-releases@2.0.57: - resolution: {integrity: sha512-kQK9LGGFiHtrWiNhZtA7Qbw17AQz+dmsEKODRIVTXA9+e5MS/2gZEBhYJt13GrAz5/IOZKddH/0Z3TP/Zgo+yw==} + node-releases@2.0.60: + resolution: {integrity: sha512-OmO8+GM1JUZqXET720VrJCwkjUCXmCMQm0Z3UDDRbfNLHS4NEAvY60j5jiFv0tkKw2PNNlqOLhahVmwJIOLDIQ==} engines: {node: '>=18'} normalize-diacritics@5.0.0: @@ -3483,6 +3505,10 @@ packages: resolution: {integrity: sha512-XrsrhT5sybtKI6wakr2SPOlGZWWYbUXZ7a0jT8/QOeAPau+1X/bSegNe5YR75oJmEZQbKningirmGOEJCIk61Q==} engines: {node: '>=12.20.0'} + obug@3.0.0: + resolution: {integrity: sha512-5vvB5+W7ePv+p3uqxi+RcW1XAzLW0/hxt3/4X4Lc4qHudzOhmBiBwOY6DRob4WnanAEGvNcLjF+KNOufrUoEQw==} + engines: {node: '>=12.20.0'} + onetime@5.1.2: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} @@ -3499,8 +3525,8 @@ packages: resolution: {integrity: sha512-6VlU9MLXbjVQD04AZCMX28hVtA5bUoadvUqO76MUCVA0ilwJbMiHsITRPfyVm6p/BC0Av/BXMujx39WCe1LEqw==} engines: {node: '>=20'} - ordered-binary@1.6.2: - resolution: {integrity: sha512-BY+qgDArmYpvvmij141xbkB4Cw8RFLBQM5Zj4MODFb1SyXBRE/xO4Xj/QWbR7aUEBxbkjuNdsFVCL2TmbYrlNg==} + ordered-binary@1.6.3: + resolution: {integrity: sha512-Bc8LnA2x4ZHRQ9LjCm/NOdD3+CTQPhGNu8m7/6+ERtiB6Bb/fn7nCySwcmAC+5WCqwelpSAQgo1VX9BGpsC0tQ==} oxc-parser@0.150.0: resolution: {integrity: sha512-zwajKw1GUa57IOdafIS7/yOObGF2NihwIfZfs5yJTRprMSkiwhWOc/k+n8bwnUPbHr2/XsjfBO8KyTPaW3VpWg==} @@ -3614,10 +3640,6 @@ packages: peerDependencies: postcss: ^8.4.31 - postcss@8.5.28: - resolution: {integrity: sha512-RRuzqDtt5Y9h3quz5hWhK+TPnsmVs6WwSU6LkJMeY4HstUEDuYTG8UJSdawMRzmzAtV+KEoG8N3Qg2qLy5vM/A==} - engines: {node: ^10 || ^12 || >=14} - postcss@8.5.31: resolution: {integrity: sha512-YUbWYCgErwnMAVkjUnYa+KlMBzGpHwiIt/DE7f0G33AuX2LH9UcTk6KgWxd3zRU+pN3u/C+Xl3EnMLM4Hea7Sg==} engines: {node: ^10 || ^12 || >=14} @@ -3971,8 +3993,8 @@ packages: symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - sync-child-process@1.0.2: - resolution: {integrity: sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA==} + sync-child-process@1.1.0: + resolution: {integrity: sha512-1LMf/x0kU0CKFSesh5DfYktvj1KhiqYi5LAh5HU2G4SkKk1TGDhsMFBOL47g/E+mNfYpgs365pVNlIYOIHPvlQ==} engines: {node: '>=16.0.0'} sync-message-port@1.2.0: @@ -4088,8 +4110,8 @@ packages: unrs-resolver@1.12.2: resolution: {integrity: sha512-dmlRxBJJayXjqTwC+JtF1HhJmgf3ftQ3YejFcZrf4+KKtJv0qDsK1pjqaaVjG7wJ5NJ6UVP1OqRMQ71Z4C3rxQ==} - update-browserslist-db@1.3.3: - resolution: {integrity: sha512-pJ2sYawQS0R/WI928Gj5GlPhTGzbMelq0+4INtSYNDV9ErKJcX6xjGWkoG/VnB3dpUm00zALaqkrUD77pO5TDQ==} + update-browserslist-db@1.3.4: + resolution: {integrity: sha512-t8wonIOdQyOjtPd2VktlBu6QjTVTks6v8bSi7kd0r2Vll8TK1JYDZtRRdbmCHOAMphkZgrzK+L+vXK4pyZ8t4A==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -4122,6 +4144,10 @@ packages: resolution: {integrity: sha512-zj/ob3UsvJGN0whEAKFp53REA5X66hvffVqoCtVQAakJKnKlH+/PcOfMoFwIG/o4rElqLv/ycAFlx8ZlXUorCg==} engines: {node: '>=18.12.0'} + verkit@0.5.0: + resolution: {integrity: sha512-u4J1hr6Y+C/hit34GwL3eIcUf3wngT8TlYUjK7tk0jxydKLAq3sYvifjdTDA6U3KCKRcQCQDGf/srjxfZF3l7g==} + engines: {node: '>=18.12.0'} + vite@8.3.5: resolution: {integrity: sha512-z1YpjieJ9g0ebTmQpLBv/oq9E3F9EIlOe+7LahW8SrE3LTiG3udBRUXQOlYXP9b+IC2q2phHeVxj9xGlw34OEQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -4285,6 +4311,9 @@ packages: resolution: {integrity: sha512-xYqdZFUK/VYazNl/oCDYN+3WloWQwMfZxBoiNt6qNyk+xfOdi598muWE42rNZFp1kNOiqW936q5RhUdnpqElSg==} engines: {node: '>=18'} + zod@4.6.6: + resolution: {integrity: sha512-4UmzQUF5fxvfcYHlbjBmejU+w+hbDnWFx4aS8kBx7nPBHcO2SqPbpAG8snbdg+Xse4pRefR98hgjFgIMCI/UhA==} + zod@4.6.7: resolution: {integrity: sha512-g8W2D2kU6a8untc053fX1uVBKzM7yqAxW/3zwk83+6RyF2+SKOuV+c0wBDhUwzV1PaGapmZH+rmcUzPf+3CGwg==} @@ -4297,25 +4326,25 @@ snapshots: '@angular-builders/common@6.0.1(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.2.2(chokidar@5.0.0) - '@angular-devkit/schematics': 22.2.2(chokidar@5.0.0) - '@schematics/angular': 22.2.0(chokidar@5.0.0) + '@angular-devkit/core': 22.2.4(chokidar@5.0.0) + '@angular-devkit/schematics': 22.2.4(chokidar@5.0.0) + '@schematics/angular': 22.2.2(chokidar@5.0.0) get-tsconfig: 4.14.1 jiti: 2.7.0 transitivePeerDependencies: - chokidar - '@angular-builders/jest@22.0.1(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(@babel/core@7.29.7(supports-color@8.1.1))(@jest/transform@30.5.2(supports-color@8.1.1))(@jest/types@30.5.1)(@types/jsdom@21.1.7)(babel-jest@30.5.2(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(chokidar@5.0.0)(jest@30.5.2(@types/node@26.6.5)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)))(jsdom@26.1.0(supports-color@8.1.1))(rxjs@7.8.2)(typescript@6.0.3)': + '@angular-builders/jest@22.0.1(@angular/compiler-cli@22.2.3(@angular/compiler@22.2.3)(typescript@6.0.3))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(@babel/core@7.29.7(supports-color@8.1.1))(@jest/transform@30.5.2(supports-color@8.1.1))(@jest/types@30.5.1)(@types/jsdom@21.1.7)(babel-jest@30.5.2(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(chokidar@5.0.0)(jest@30.5.2(@types/node@26.6.5)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)))(jsdom@26.1.0(supports-color@8.1.1))(rxjs@7.8.2)(typescript@6.0.3)': dependencies: '@angular-builders/common': 6.0.1(chokidar@5.0.0) '@angular-devkit/architect': 0.2201.3(chokidar@5.0.0) - '@angular-devkit/core': 22.2.2(chokidar@5.0.0) - '@angular-devkit/schematics': 22.2.2(chokidar@5.0.0) - '@angular/compiler-cli': 22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3) - '@angular/core': 22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2) + '@angular-devkit/core': 22.2.4(chokidar@5.0.0) + '@angular-devkit/schematics': 22.2.4(chokidar@5.0.0) + '@angular/compiler-cli': 22.2.3(@angular/compiler@22.2.3)(typescript@6.0.3) + '@angular/core': 22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2) '@schematics/angular': 22.1.3(chokidar@5.0.0) jest: 30.5.2(@types/node@26.6.5)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)) - jest-preset-angular: 17.0.3(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(@babel/core@7.29.7(supports-color@8.1.1))(@jest/transform@30.5.2(supports-color@8.1.1))(@jest/types@30.5.1)(@types/jsdom@21.1.7)(babel-jest@30.5.2(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(jest@30.5.2(@types/node@26.6.5)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)))(jsdom@26.1.0(supports-color@8.1.1))(typescript@6.0.3) + jest-preset-angular: 17.0.3(@angular/compiler-cli@22.2.3(@angular/compiler@22.2.3)(typescript@6.0.3))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(@babel/core@7.29.7(supports-color@8.1.1))(@jest/transform@30.5.2(supports-color@8.1.1))(@jest/types@30.5.1)(@types/jsdom@21.1.7)(babel-jest@30.5.2(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(jest@30.5.2(@types/node@26.6.5)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)))(jsdom@26.1.0(supports-color@8.1.1))(typescript@6.0.3) lodash: 4.18.1 rxjs: 7.8.2 transitivePeerDependencies: @@ -4344,9 +4373,9 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-devkit/architect@0.2202.2(chokidar@5.0.0)': + '@angular-devkit/architect@0.2202.4(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.2.2(chokidar@5.0.0) + '@angular-devkit/core': 22.2.4(chokidar@5.0.0) rxjs: 7.8.2 transitivePeerDependencies: - chokidar @@ -4384,6 +4413,17 @@ snapshots: optionalDependencies: chokidar: 5.0.0 + '@angular-devkit/core@22.2.4(chokidar@5.0.0)': + dependencies: + ajv: 8.20.0 + ajv-formats: 3.0.1 + jsonc-parser: 3.3.1 + picomatch: 4.0.7 + rxjs: 7.8.2 + source-map: 0.8.0 + optionalDependencies: + chokidar: 5.0.0 + '@angular-devkit/schematics@22.1.3(chokidar@5.0.0)': dependencies: '@angular-devkit/core': 22.1.3(chokidar@5.0.0) @@ -4394,16 +4434,6 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-devkit/schematics@22.2.0(chokidar@5.0.0)': - dependencies: - '@angular-devkit/core': 22.2.0(chokidar@5.0.0) - jsonc-parser: 3.3.1 - magic-string: 1.4.1 - ora: 9.4.1 - rxjs: 7.8.2 - transitivePeerDependencies: - - chokidar - '@angular-devkit/schematics@22.2.2(chokidar@5.0.0)': dependencies: '@angular-devkit/core': 22.2.2(chokidar@5.0.0) @@ -4414,10 +4444,20 @@ snapshots: transitivePeerDependencies: - chokidar + '@angular-devkit/schematics@22.2.4(chokidar@5.0.0)': + dependencies: + '@angular-devkit/core': 22.2.4(chokidar@5.0.0) + jsonc-parser: 3.3.1 + magic-string: 1.4.1 + ora: 9.4.1 + rxjs: 7.8.2 + transitivePeerDependencies: + - chokidar + '@angular-eslint/builder@22.6.0(chokidar@5.0.0)(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3)': dependencies: '@angular-devkit/architect': 0.2202.0(chokidar@5.0.0) - '@angular-devkit/core': 22.2.0(chokidar@5.0.0) + '@angular-devkit/core': 22.2.4(chokidar@5.0.0) eslint: 10.13.0(jiti@2.7.0)(supports-color@8.1.1) typescript: 6.0.3 transitivePeerDependencies: @@ -4448,8 +4488,8 @@ snapshots: '@angular-eslint/schematics@22.6.0(@angular-eslint/template-parser@22.6.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3))(@typescript-eslint/types@8.72.0)(@typescript-eslint/utils@8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(chokidar@5.0.0)(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3)': dependencies: - '@angular-devkit/core': 22.2.0(chokidar@5.0.0) - '@angular-devkit/schematics': 22.2.0(chokidar@5.0.0) + '@angular-devkit/core': 22.2.4(chokidar@5.0.0) + '@angular-devkit/schematics': 22.2.4(chokidar@5.0.0) '@angular-eslint/eslint-plugin': 22.6.0(@typescript-eslint/utils@8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3) '@angular-eslint/eslint-plugin-template': 22.6.0(@angular-eslint/template-parser@22.6.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3))(@typescript-eslint/types@8.72.0)(@typescript-eslint/utils@8.72.0(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(supports-color@8.1.1)(typescript@6.0.3))(eslint@10.13.0(jiti@2.7.0)(supports-color@8.1.1))(typescript@6.0.3) ignore: 7.0.12 @@ -4477,18 +4517,18 @@ snapshots: eslint: 10.13.0(jiti@2.7.0)(supports-color@8.1.1) typescript: 6.0.3 - '@angular/build@22.2.2(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/compiler@22.2.2)(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/localize@22.2.2(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/compiler@22.2.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(@types/node@26.6.5)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(postcss@8.5.28)(supports-color@8.1.1)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.2.4(@angular/compiler-cli@22.2.3(@angular/compiler@22.2.3)(typescript@6.0.3))(@angular/compiler@22.2.3)(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/localize@22.2.3(@angular/compiler-cli@22.2.3(@angular/compiler@22.2.3)(typescript@6.0.3))(@angular/compiler@22.2.3))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(@types/node@26.6.5)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(postcss@8.5.31)(supports-color@8.1.1)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2202.2(chokidar@5.0.0) - '@angular/compiler': 22.2.2 - '@angular/compiler-cli': 22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3) + '@angular-devkit/architect': 0.2202.4(chokidar@5.0.0) + '@angular/compiler': 22.2.3 + '@angular/compiler-cli': 22.2.3(@angular/compiler@22.2.3)(typescript@6.0.3) '@babel/core': 8.0.5 '@inquirer/confirm': 6.3.2(@types/node@26.6.5) '@parcel/watcher': 2.6.0 '@vitejs/plugin-basic-ssl': 2.3.0(vite@8.3.5(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1)) beasties: 0.5.4 - browserslist: 4.29.1 + browserslist: 4.29.4 chokidar: 5.0.0 esbuild: 0.28.2 https-proxy-agent: 9.1.0(supports-color@8.1.1) @@ -4511,12 +4551,12 @@ snapshots: vite: 8.3.5(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1) xxhash-wasm: 1.1.0 optionalDependencies: - '@angular/core': 22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2) - '@angular/localize': 22.2.2(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/compiler@22.2.2) - '@angular/platform-browser': 22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)) + '@angular/core': 22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2) + '@angular/localize': 22.2.3(@angular/compiler-cli@22.2.3(@angular/compiler@22.2.3)(typescript@6.0.3))(@angular/compiler@22.2.3) + '@angular/platform-browser': 22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)) istanbul-lib-instrument: 6.0.3(supports-color@8.1.1) lmdb: 3.5.6 - postcss: 8.5.28 + postcss: 8.5.31 transitivePeerDependencies: - '@types/node' - '@vitejs/devtools' @@ -4529,45 +4569,45 @@ snapshots: - tsx - yaml - '@angular/cdk@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/forms@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2)': + '@angular/cdk@22.2.4(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/forms@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(rxjs@7.8.2))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(rxjs@7.8.2)': dependencies: - '@angular/common': 22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2) - '@angular/core': 22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2) - '@angular/forms': 22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2) - '@angular/platform-browser': 22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)) + '@angular/common': 22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/core': 22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2) + '@angular/forms': 22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(rxjs@7.8.2) + '@angular/platform-browser': 22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)) parse5: 8.0.1 rxjs: 7.8.2 tslib: 2.8.1 - '@angular/cli@22.2.2(@types/node@26.6.5)(chokidar@5.0.0)': + '@angular/cli@22.2.4(@types/node@26.6.5)(chokidar@5.0.0)': dependencies: - '@angular-devkit/architect': 0.2202.2(chokidar@5.0.0) - '@angular-devkit/core': 22.2.2(chokidar@5.0.0) - '@angular-devkit/schematics': 22.2.2(chokidar@5.0.0) + '@angular-devkit/architect': 0.2202.4(chokidar@5.0.0) + '@angular-devkit/core': 22.2.4(chokidar@5.0.0) + '@angular-devkit/schematics': 22.2.4(chokidar@5.0.0) '@inquirer/prompts': 8.7.2(@types/node@26.6.5) '@listr2/prompt-adapter-inquirer': 4.2.7(@inquirer/prompts@8.7.2(@types/node@26.6.5))(@types/node@26.6.5)(listr2@11.1.0) '@modelcontextprotocol/server': 2.3.1 - '@schematics/angular': 22.2.2(chokidar@5.0.0) + '@schematics/angular': 22.2.4(chokidar@5.0.0) jsonc-parser: 3.3.1 listr2: 11.1.0 npm-package-arg: 14.0.0 parse5-html-rewriting-stream: 8.0.1 semver: 7.8.5 yargs: 18.1.0 - zod: 4.6.7 + zod: 4.6.6 transitivePeerDependencies: - '@types/node' - chokidar - '@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2)': + '@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2)': dependencies: - '@angular/core': 22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2) + '@angular/core': 22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2) rxjs: 7.8.2 tslib: 2.8.1 - '@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3)': + '@angular/compiler-cli@22.2.3(@angular/compiler@22.2.3)(typescript@6.0.3)': dependencies: - '@angular/compiler': 22.2.2 + '@angular/compiler': 22.2.3 '@babel/core': 8.0.1 '@jridgewell/sourcemap-codec': 1.6.0 chokidar: 5.0.0 @@ -4579,46 +4619,46 @@ snapshots: optionalDependencies: typescript: 6.0.3 - '@angular/compiler@22.2.2': + '@angular/compiler@22.2.3': dependencies: tslib: 2.8.1 - '@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)': + '@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)': dependencies: rxjs: 7.8.2 tslib: 2.8.1 optionalDependencies: - '@angular/compiler': 22.2.2 + '@angular/compiler': 22.2.3 - '@angular/forms@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2)': + '@angular/forms@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(rxjs@7.8.2)': dependencies: - '@angular/common': 22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2) - '@angular/core': 22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2) - '@angular/platform-browser': 22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)) + '@angular/common': 22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/core': 22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2) + '@angular/platform-browser': 22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)) '@standard-schema/spec': 1.1.0 rxjs: 7.8.2 tslib: 2.8.1 zod: 4.6.7 - '@angular/localize@22.2.2(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/compiler@22.2.2)': + '@angular/localize@22.2.3(@angular/compiler-cli@22.2.3(@angular/compiler@22.2.3)(typescript@6.0.3))(@angular/compiler@22.2.3)': dependencies: - '@angular/compiler': 22.2.2 - '@angular/compiler-cli': 22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3) + '@angular/compiler': 22.2.3 + '@angular/compiler-cli': 22.2.3(@angular/compiler@22.2.3)(typescript@6.0.3) '@babel/core': 8.0.1 tinyglobby: 0.2.17 yargs: 18.2.0 - '@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))': + '@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))': dependencies: - '@angular/common': 22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2) - '@angular/core': 22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2) + '@angular/common': 22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/core': 22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2) tslib: 2.8.1 - '@angular/router@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2)': + '@angular/router@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(rxjs@7.8.2)': dependencies: - '@angular/common': 22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2) - '@angular/core': 22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2) - '@angular/platform-browser': 22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)) + '@angular/common': 22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/core': 22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2) + '@angular/platform-browser': 22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)) rxjs: 7.8.2 tslib: 2.8.1 @@ -4669,12 +4709,12 @@ snapshots: dependencies: '@babel/code-frame': 8.0.6 '@babel/generator': 8.0.6 - '@babel/helper-compilation-targets': 8.0.6 - '@babel/helpers': 8.0.5 - '@babel/parser': 8.0.6 + '@babel/helper-compilation-targets': 8.0.7 + '@babel/helpers': 8.0.8 + '@babel/parser': 8.0.8 '@babel/template': 8.0.0 - '@babel/traverse': 8.0.6 - '@babel/types': 8.0.6 + '@babel/traverse': 8.0.7 + '@babel/types': 8.0.8 '@types/gensync': 1.0.5 convert-source-map: 2.0.0 empathic: 2.1.0 @@ -4688,12 +4728,12 @@ snapshots: dependencies: '@babel/code-frame': 8.0.6 '@babel/generator': 8.0.6 - '@babel/helper-compilation-targets': 8.0.6 - '@babel/helpers': 8.0.5 - '@babel/parser': 8.0.6 + '@babel/helper-compilation-targets': 8.0.7 + '@babel/helpers': 8.0.8 + '@babel/parser': 8.0.8 '@babel/template': 8.0.0 - '@babel/traverse': 8.0.6 - '@babel/types': 8.0.6 + '@babel/traverse': 8.0.7 + '@babel/types': 8.0.8 '@types/gensync': 1.0.5 convert-source-map: 2.0.0 empathic: 2.1.0 @@ -4713,8 +4753,8 @@ snapshots: '@babel/generator@8.0.6': dependencies: - '@babel/parser': 8.0.6 - '@babel/types': 8.0.6 + '@babel/parser': 8.0.8 + '@babel/types': 8.0.8 '@jridgewell/gen-mapping': 0.4.0-beta.0 '@jridgewell/trace-mapping': 0.3.31 '@types/jsesc': 2.5.1 @@ -4724,17 +4764,17 @@ snapshots: dependencies: '@babel/compat-data': 7.29.7 '@babel/helper-validator-option': 7.29.7 - browserslist: 4.29.1 + browserslist: 4.29.4 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-compilation-targets@8.0.6': + '@babel/helper-compilation-targets@8.0.7': dependencies: '@babel/compat-data': 8.0.5 '@babel/helper-validator-option': 8.0.0 - browserslist: 4.29.1 + browserslist: 4.29.4 flru: 1.0.2 - verkit: 0.3.2 + verkit: 0.5.0 '@babel/helper-globals@7.29.7': {} @@ -4760,7 +4800,7 @@ snapshots: '@babel/helper-string-parser@7.29.7': {} - '@babel/helper-string-parser@8.0.6': {} + '@babel/helper-string-parser@8.0.8': {} '@babel/helper-validator-identifier@7.29.7': {} @@ -4775,18 +4815,18 @@ snapshots: '@babel/template': 7.29.7 '@babel/types': 7.29.8 - '@babel/helpers@8.0.5': + '@babel/helpers@8.0.8': dependencies: '@babel/template': 8.0.0 - '@babel/types': 8.0.6 + '@babel/types': 8.0.8 '@babel/parser@7.29.8': dependencies: '@babel/types': 7.29.8 - '@babel/parser@8.0.6': + '@babel/parser@8.0.8': dependencies: - '@babel/types': 8.0.6 + '@babel/types': 8.0.8 '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.29.7(supports-color@8.1.1))': dependencies: @@ -4882,8 +4922,8 @@ snapshots: '@babel/template@8.0.0': dependencies: '@babel/code-frame': 8.0.6 - '@babel/parser': 8.0.6 - '@babel/types': 8.0.6 + '@babel/parser': 8.0.8 + '@babel/types': 8.0.8 '@babel/traverse@7.29.8(supports-color@8.1.1)': dependencies: @@ -4897,29 +4937,29 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/traverse@8.0.6': + '@babel/traverse@8.0.7': dependencies: '@babel/code-frame': 8.0.6 '@babel/generator': 8.0.6 '@babel/helper-globals': 8.0.6 - '@babel/parser': 8.0.6 + '@babel/parser': 8.0.8 '@babel/template': 8.0.0 - '@babel/types': 8.0.6 - obug: 2.2.1 + '@babel/types': 8.0.8 + obug: 3.0.0 '@babel/types@7.29.8': dependencies: '@babel/helper-string-parser': 7.29.7 '@babel/helper-validator-identifier': 7.29.7 - '@babel/types@8.0.6': + '@babel/types@8.0.8': dependencies: - '@babel/helper-string-parser': 8.0.6 + '@babel/helper-string-parser': 8.0.8 '@babel/helper-validator-identifier': 8.0.6 '@bcoe/v8-coverage@0.2.3': {} - '@bufbuild/protobuf@2.15.0': {} + '@bufbuild/protobuf@2.16.0': {} '@cacheable/memory@2.2.0': dependencies: @@ -5083,7 +5123,7 @@ snapshots: '@eslint/core': 1.2.1 levn: 0.4.1 - '@harperfast/extended-iterable@1.0.3': + '@harperfast/extended-iterable@1.0.5': optional: true '@humanfs/core@0.19.2': @@ -5102,29 +5142,36 @@ snapshots: '@humanwhocodes/retry@0.4.3': {} - '@inquirer/ansi@2.0.8': {} + '@inquirer/ansi@2.0.9': {} - '@inquirer/checkbox@5.2.5(@types/node@26.6.5)': + '@inquirer/checkbox@5.2.7(@types/node@26.6.5)': dependencies: - '@inquirer/ansi': 2.0.8 - '@inquirer/core': 12.0.3(@types/node@26.6.5) + '@inquirer/ansi': 2.0.9 + '@inquirer/core': 12.0.5(@types/node@26.6.5) '@inquirer/figures': 2.0.9 - '@inquirer/type': 4.1.1(@types/node@26.6.5) + '@inquirer/type': 4.2.0(@types/node@26.6.5) optionalDependencies: '@types/node': 26.6.5 '@inquirer/confirm@6.3.2(@types/node@26.6.5)': dependencies: - '@inquirer/core': 12.0.3(@types/node@26.6.5) + '@inquirer/core': 12.0.5(@types/node@26.6.5) '@inquirer/type': 4.1.1(@types/node@26.6.5) optionalDependencies: '@types/node': 26.6.5 - '@inquirer/core@12.0.3(@types/node@26.6.5)': + '@inquirer/confirm@6.3.4(@types/node@26.6.5)': dependencies: - '@inquirer/ansi': 2.0.8 + '@inquirer/core': 12.0.5(@types/node@26.6.5) + '@inquirer/type': 4.2.0(@types/node@26.6.5) + optionalDependencies: + '@types/node': 26.6.5 + + '@inquirer/core@12.0.5(@types/node@26.6.5)': + dependencies: + '@inquirer/ansi': 2.0.9 '@inquirer/figures': 2.0.9 - '@inquirer/type': 4.1.1(@types/node@26.6.5) + '@inquirer/type': 4.2.0(@types/node@26.6.5) cli-width: 4.1.0 fast-wrap-ansi: 0.2.2 mute-stream: 3.0.0 @@ -5132,22 +5179,22 @@ snapshots: optionalDependencies: '@types/node': 26.6.5 - '@inquirer/editor@5.3.3(@types/node@26.6.5)': + '@inquirer/editor@5.3.5(@types/node@26.6.5)': dependencies: - '@inquirer/core': 12.0.3(@types/node@26.6.5) - '@inquirer/external-editor': 3.0.5(@types/node@26.6.5) - '@inquirer/type': 4.1.1(@types/node@26.6.5) + '@inquirer/core': 12.0.5(@types/node@26.6.5) + '@inquirer/external-editor': 3.0.6(@types/node@26.6.5) + '@inquirer/type': 4.2.0(@types/node@26.6.5) optionalDependencies: '@types/node': 26.6.5 - '@inquirer/expand@5.1.5(@types/node@26.6.5)': + '@inquirer/expand@5.1.7(@types/node@26.6.5)': dependencies: - '@inquirer/core': 12.0.3(@types/node@26.6.5) - '@inquirer/type': 4.1.1(@types/node@26.6.5) + '@inquirer/core': 12.0.5(@types/node@26.6.5) + '@inquirer/type': 4.2.0(@types/node@26.6.5) optionalDependencies: '@types/node': 26.6.5 - '@inquirer/external-editor@3.0.5(@types/node@26.6.5)': + '@inquirer/external-editor@3.0.6(@types/node@26.6.5)': dependencies: chardet: 2.2.0 iconv-lite: 0.7.3 @@ -5156,64 +5203,64 @@ snapshots: '@inquirer/figures@2.0.9': {} - '@inquirer/input@5.1.6(@types/node@26.6.5)': + '@inquirer/input@5.1.8(@types/node@26.6.5)': dependencies: - '@inquirer/core': 12.0.3(@types/node@26.6.5) - '@inquirer/type': 4.1.1(@types/node@26.6.5) + '@inquirer/core': 12.0.5(@types/node@26.6.5) + '@inquirer/type': 4.2.0(@types/node@26.6.5) optionalDependencies: '@types/node': 26.6.5 - '@inquirer/number@4.2.3(@types/node@26.6.5)': + '@inquirer/number@4.2.5(@types/node@26.6.5)': dependencies: - '@inquirer/core': 12.0.3(@types/node@26.6.5) - '@inquirer/type': 4.1.1(@types/node@26.6.5) + '@inquirer/core': 12.0.5(@types/node@26.6.5) + '@inquirer/type': 4.2.0(@types/node@26.6.5) optionalDependencies: '@types/node': 26.6.5 - '@inquirer/password@5.2.2(@types/node@26.6.5)': + '@inquirer/password@5.2.4(@types/node@26.6.5)': dependencies: - '@inquirer/ansi': 2.0.8 - '@inquirer/core': 12.0.3(@types/node@26.6.5) - '@inquirer/type': 4.1.1(@types/node@26.6.5) + '@inquirer/ansi': 2.0.9 + '@inquirer/core': 12.0.5(@types/node@26.6.5) + '@inquirer/type': 4.2.0(@types/node@26.6.5) optionalDependencies: '@types/node': 26.6.5 '@inquirer/prompts@8.7.2(@types/node@26.6.5)': dependencies: - '@inquirer/checkbox': 5.2.5(@types/node@26.6.5) - '@inquirer/confirm': 6.3.2(@types/node@26.6.5) - '@inquirer/editor': 5.3.3(@types/node@26.6.5) - '@inquirer/expand': 5.1.5(@types/node@26.6.5) - '@inquirer/input': 5.1.6(@types/node@26.6.5) - '@inquirer/number': 4.2.3(@types/node@26.6.5) - '@inquirer/password': 5.2.2(@types/node@26.6.5) - '@inquirer/rawlist': 5.3.5(@types/node@26.6.5) - '@inquirer/search': 4.3.3(@types/node@26.6.5) - '@inquirer/select': 5.2.5(@types/node@26.6.5) + '@inquirer/checkbox': 5.2.7(@types/node@26.6.5) + '@inquirer/confirm': 6.3.4(@types/node@26.6.5) + '@inquirer/editor': 5.3.5(@types/node@26.6.5) + '@inquirer/expand': 5.1.7(@types/node@26.6.5) + '@inquirer/input': 5.1.8(@types/node@26.6.5) + '@inquirer/number': 4.2.5(@types/node@26.6.5) + '@inquirer/password': 5.2.4(@types/node@26.6.5) + '@inquirer/rawlist': 5.3.7(@types/node@26.6.5) + '@inquirer/search': 4.3.5(@types/node@26.6.5) + '@inquirer/select': 5.2.7(@types/node@26.6.5) optionalDependencies: '@types/node': 26.6.5 - '@inquirer/rawlist@5.3.5(@types/node@26.6.5)': + '@inquirer/rawlist@5.3.7(@types/node@26.6.5)': dependencies: - '@inquirer/core': 12.0.3(@types/node@26.6.5) - '@inquirer/type': 4.1.1(@types/node@26.6.5) + '@inquirer/core': 12.0.5(@types/node@26.6.5) + '@inquirer/type': 4.2.0(@types/node@26.6.5) optionalDependencies: '@types/node': 26.6.5 - '@inquirer/search@4.3.3(@types/node@26.6.5)': + '@inquirer/search@4.3.5(@types/node@26.6.5)': dependencies: - '@inquirer/core': 12.0.3(@types/node@26.6.5) + '@inquirer/core': 12.0.5(@types/node@26.6.5) '@inquirer/figures': 2.0.9 - '@inquirer/type': 4.1.1(@types/node@26.6.5) + '@inquirer/type': 4.2.0(@types/node@26.6.5) optionalDependencies: '@types/node': 26.6.5 - '@inquirer/select@5.2.5(@types/node@26.6.5)': + '@inquirer/select@5.2.7(@types/node@26.6.5)': dependencies: - '@inquirer/ansi': 2.0.8 - '@inquirer/core': 12.0.3(@types/node@26.6.5) + '@inquirer/ansi': 2.0.9 + '@inquirer/core': 12.0.5(@types/node@26.6.5) '@inquirer/figures': 2.0.9 - '@inquirer/type': 4.1.1(@types/node@26.6.5) + '@inquirer/type': 4.2.0(@types/node@26.6.5) optionalDependencies: '@types/node': 26.6.5 @@ -5221,6 +5268,10 @@ snapshots: optionalDependencies: '@types/node': 26.6.5 + '@inquirer/type@4.2.0(@types/node@26.6.5)': + optionalDependencies: + '@types/node': 26.6.5 + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -5501,7 +5552,7 @@ snapshots: '@listr2/prompt-adapter-inquirer@4.2.7(@inquirer/prompts@8.7.2(@types/node@26.6.5))(@types/node@26.6.5)(listr2@11.1.0)': dependencies: '@inquirer/prompts': 8.7.2(@types/node@26.6.5) - '@inquirer/type': 4.1.1(@types/node@26.6.5) + '@inquirer/type': 4.2.0(@types/node@26.6.5) listr2: 11.1.0 transitivePeerDependencies: - '@types/node' @@ -5681,29 +5732,29 @@ snapshots: '@tybys/wasm-util': 0.10.3 optional: true - '@ng-bootstrap/ng-bootstrap@21.0.0(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/forms@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2))(@angular/localize@22.2.2(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/compiler@22.2.2))(@popperjs/core@2.11.8)(rxjs@7.8.2)': + '@ng-bootstrap/ng-bootstrap@21.0.0(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/forms@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(rxjs@7.8.2))(@angular/localize@22.2.3(@angular/compiler-cli@22.2.3(@angular/compiler@22.2.3)(typescript@6.0.3))(@angular/compiler@22.2.3))(@popperjs/core@2.11.8)(rxjs@7.8.2)': dependencies: - '@angular/common': 22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2) - '@angular/core': 22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2) - '@angular/forms': 22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2) - '@angular/localize': 22.2.2(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/compiler@22.2.2) + '@angular/common': 22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/core': 22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2) + '@angular/forms': 22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(rxjs@7.8.2) + '@angular/localize': 22.2.3(@angular/compiler-cli@22.2.3(@angular/compiler@22.2.3)(typescript@6.0.3))(@angular/compiler@22.2.3) '@popperjs/core': 2.11.8 rxjs: 7.8.2 tslib: 2.8.1 - '@ng-select/ng-select@24.2.1(c16a4205ea3b15ef29cd8e705c42dd79)': + '@ng-select/ng-select@24.2.1(d7ded77d8feaf04f34fcbbfccfbace9a)': dependencies: - '@angular/cdk': 22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/forms@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2) - '@angular/common': 22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2) - '@angular/core': 22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2) - '@angular/forms': 22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2) + '@angular/cdk': 22.2.4(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/forms@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(rxjs@7.8.2))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(rxjs@7.8.2) + '@angular/common': 22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/core': 22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2) + '@angular/forms': 22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(rxjs@7.8.2) tslib: 2.8.1 - '@ngneat/dirty-check-forms@3.0.3(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/forms@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2))(@angular/router@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2))(lodash-es@4.18.1)(rxjs@7.8.2)': + '@ngneat/dirty-check-forms@3.0.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/forms@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(rxjs@7.8.2))(@angular/router@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(rxjs@7.8.2))(lodash-es@4.18.1)(rxjs@7.8.2)': dependencies: - '@angular/core': 22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2) - '@angular/forms': 22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2) - '@angular/router': 22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2) + '@angular/core': 22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2) + '@angular/forms': 22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(rxjs@7.8.2) + '@angular/router': 22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(rxjs@7.8.2) lodash-es: 4.18.1 rxjs: 7.8.2 tslib: 2.8.1 @@ -5939,20 +5990,20 @@ snapshots: transitivePeerDependencies: - chokidar - '@schematics/angular@22.2.0(chokidar@5.0.0)': + '@schematics/angular@22.2.2(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.2.0(chokidar@5.0.0) - '@angular-devkit/schematics': 22.2.0(chokidar@5.0.0) + '@angular-devkit/core': 22.2.2(chokidar@5.0.0) + '@angular-devkit/schematics': 22.2.2(chokidar@5.0.0) jsonc-parser: 3.3.1 oxc-parser: 0.150.0 typescript: 6.0.3 transitivePeerDependencies: - chokidar - '@schematics/angular@22.2.2(chokidar@5.0.0)': + '@schematics/angular@22.2.4(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.2.2(chokidar@5.0.0) - '@angular-devkit/schematics': 22.2.2(chokidar@5.0.0) + '@angular-devkit/core': 22.2.4(chokidar@5.0.0) + '@angular-devkit/schematics': 22.2.4(chokidar@5.0.0) jsonc-parser: 3.3.1 oxc-parser: 0.150.0 typescript: 6.0.3 @@ -6263,7 +6314,7 @@ snapshots: ansi-regex@5.0.1: {} - ansi-regex@6.3.0: {} + ansi-regex@6.4.0: {} ansi-styles@4.3.0: dependencies: @@ -6344,7 +6395,7 @@ snapshots: balanced-match@4.0.4: {} - baseline-browser-mapping@2.11.26: {} + baseline-browser-mapping@2.11.33: {} beasties@0.5.4: dependencies: @@ -6354,9 +6405,9 @@ snapshots: domhandler: 6.0.1 htmlparser2: 12.0.0 picocolors: 1.1.1 - postcss: 8.5.28 + postcss: 8.5.31 postcss-media-query-parser: 0.2.3 - postcss-safe-parser: 7.1.0(postcss@8.5.28) + postcss-safe-parser: 7.1.0(postcss@8.5.31) boolbase@2.0.0: {} @@ -6372,13 +6423,13 @@ snapshots: dependencies: balanced-match: 4.0.4 - browserslist@4.29.1: + browserslist@4.29.4: dependencies: - baseline-browser-mapping: 2.11.26 - caniuse-lite: 1.0.30001812 - electron-to-chromium: 1.5.439 - node-releases: 2.0.57 - update-browserslist-db: 1.3.3(browserslist@4.29.1) + baseline-browser-mapping: 2.11.33 + caniuse-lite: 1.0.30001819 + electron-to-chromium: 1.5.464 + node-releases: 2.0.60 + update-browserslist-db: 1.3.4(browserslist@4.29.4) bs-logger@0.2.6: dependencies: @@ -6404,7 +6455,7 @@ snapshots: camelcase@6.3.0: {} - caniuse-lite@1.0.30001812: {} + caniuse-lite@1.0.30001819: {} chalk@4.1.2: dependencies: @@ -6536,7 +6587,7 @@ snapshots: eastasianwidth@0.2.0: {} - electron-to-chromium@1.5.439: {} + electron-to-chromium@1.5.464: {} emittery@0.13.1: {} @@ -7160,11 +7211,11 @@ snapshots: '@types/node': 26.6.5 jest-util: 30.5.1 - jest-preset-angular@17.0.3(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(@babel/core@7.29.7(supports-color@8.1.1))(@jest/transform@30.5.2(supports-color@8.1.1))(@jest/types@30.5.1)(@types/jsdom@21.1.7)(babel-jest@30.5.2(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(jest@30.5.2(@types/node@26.6.5)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)))(jsdom@26.1.0(supports-color@8.1.1))(typescript@6.0.3): + jest-preset-angular@17.0.3(@angular/compiler-cli@22.2.3(@angular/compiler@22.2.3)(typescript@6.0.3))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(@babel/core@7.29.7(supports-color@8.1.1))(@jest/transform@30.5.2(supports-color@8.1.1))(@jest/types@30.5.1)(@types/jsdom@21.1.7)(babel-jest@30.5.2(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(jest@30.5.2(@types/node@26.6.5)(supports-color@8.1.1)(ts-node@10.9.2(@types/node@26.6.5)(typescript@6.0.3)))(jsdom@26.1.0(supports-color@8.1.1))(typescript@6.0.3): dependencies: - '@angular/compiler-cli': 22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3) - '@angular/core': 22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2) - '@angular/platform-browser': 22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)) + '@angular/compiler-cli': 22.2.3(@angular/compiler@22.2.3)(typescript@6.0.3) + '@angular/core': 22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2) + '@angular/platform-browser': 22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)) '@jest/environment-jsdom-abstract': 30.5.2(@types/jsdom@21.1.7)(jsdom@26.1.0(supports-color@8.1.1)) bs-logger: 0.2.6 esbuild-wasm: 0.28.2 @@ -7472,11 +7523,11 @@ snapshots: lmdb@3.5.6: dependencies: - '@harperfast/extended-iterable': 1.0.3 + '@harperfast/extended-iterable': 1.0.5 msgpackr: 1.12.1 node-addon-api: 6.1.0 node-gyp-build-optional-packages: 5.2.2 - ordered-binary: 1.6.2 + ordered-binary: 1.6.3 weak-lru-cache: 1.2.2 optionalDependencies: '@lmdb/lmdb-darwin-arm64': 3.5.6 @@ -7589,8 +7640,6 @@ snapshots: mute-stream@3.0.0: {} - nanoid@3.3.18: {} - nanoid@3.3.20: {} napi-postinstall@0.3.4: {} @@ -7599,46 +7648,46 @@ snapshots: neo-async@2.6.2: {} - ngx-bootstrap-icons@1.9.3(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)): + ngx-bootstrap-icons@1.9.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)): dependencies: - '@angular/common': 22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2) - '@angular/core': 22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2) + '@angular/common': 22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/core': 22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2) tslib: 2.8.1 - ngx-color@10.1.0(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)): + ngx-color@10.1.0(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)): dependencies: - '@angular/common': 22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2) - '@angular/core': 22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2) + '@angular/common': 22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/core': 22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2) '@ctrl/tinycolor': 4.2.0 material-colors: 1.2.6 tslib: 2.8.1 - ngx-cookie-service@22.0.0(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)): + ngx-cookie-service@22.0.0(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)): dependencies: - '@angular/common': 22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2) - '@angular/core': 22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2) + '@angular/common': 22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/core': 22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2) tslib: 2.8.1 - ngx-device-detector@12.0.0(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)): + ngx-device-detector@12.0.0(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)): dependencies: - '@angular/common': 22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2) - '@angular/core': 22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2) + '@angular/common': 22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/core': 22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2) tslib: 2.8.1 - ngx-ui-tour-core@17.0.0(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/router@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2))(rxjs@7.8.2): + ngx-ui-tour-core@17.0.0(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/router@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(rxjs@7.8.2))(rxjs@7.8.2): dependencies: - '@angular/common': 22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2) - '@angular/core': 22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2) - '@angular/router': 22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2) + '@angular/common': 22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/core': 22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2) + '@angular/router': 22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(rxjs@7.8.2) rxjs: 7.8.2 tslib: 2.8.1 - ngx-ui-tour-ng-bootstrap@19.0.0(d24c501c8e7de67195a408ce535a0d0a): + ngx-ui-tour-ng-bootstrap@19.0.0(80c1a049efae7c5d8e1cd8a5316ff6b2): dependencies: - '@angular/common': 22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2) - '@angular/core': 22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2) - '@ng-bootstrap/ng-bootstrap': 21.0.0(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/forms@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2))(@angular/localize@22.2.2(@angular/compiler-cli@22.2.2(@angular/compiler@22.2.2)(typescript@6.0.3))(@angular/compiler@22.2.2))(@popperjs/core@2.11.8)(rxjs@7.8.2) - ngx-ui-tour-core: 17.0.0(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/router@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(@angular/platform-browser@22.2.2(@angular/common@22.2.2(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.2(@angular/compiler@22.2.2)(rxjs@7.8.2)))(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/common': 22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/core': 22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2) + '@ng-bootstrap/ng-bootstrap': 21.0.0(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/forms@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(rxjs@7.8.2))(@angular/localize@22.2.3(@angular/compiler-cli@22.2.3(@angular/compiler@22.2.3)(typescript@6.0.3))(@angular/compiler@22.2.3))(@popperjs/core@2.11.8)(rxjs@7.8.2) + ngx-ui-tour-core: 17.0.0(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/router@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(@angular/platform-browser@22.2.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)))(rxjs@7.8.2))(rxjs@7.8.2) tslib: 2.8.1 transitivePeerDependencies: - '@angular/router' @@ -7656,7 +7705,7 @@ snapshots: node-int64@0.4.0: {} - node-releases@2.0.57: {} + node-releases@2.0.60: {} normalize-diacritics@5.0.0: dependencies: @@ -7683,6 +7732,8 @@ snapshots: obug@2.2.1: {} + obug@3.0.0: {} + onetime@5.1.2: dependencies: mimic-fn: 2.1.0 @@ -7711,7 +7762,7 @@ snapshots: stdin-discarder: 0.3.2 string-width: 8.3.0 - ordered-binary@1.6.2: + ordered-binary@1.6.3: optional: true oxc-parser@0.150.0: @@ -7829,15 +7880,9 @@ snapshots: postcss-media-query-parser@0.2.3: {} - postcss-safe-parser@7.1.0(postcss@8.5.28): + postcss-safe-parser@7.1.0(postcss@8.5.31): dependencies: - postcss: 8.5.28 - - postcss@8.5.28: - dependencies: - nanoid: 3.3.18 - picocolors: 1.1.1 - source-map-js: 1.2.2 + postcss: 8.5.31 postcss@8.5.31: dependencies: @@ -8021,12 +8066,12 @@ snapshots: sass-embedded@1.104.1: dependencies: - '@bufbuild/protobuf': 2.15.0 + '@bufbuild/protobuf': 2.16.0 colorjs.io: 0.7.1 immutable: 5.1.9 rxjs: 7.8.2 supports-color: 8.1.1 - sync-child-process: 1.0.2 + sync-child-process: 1.1.0 varint: 6.0.0 optionalDependencies: sass-embedded-all-unknown: 1.104.1 @@ -8136,7 +8181,7 @@ snapshots: strip-ansi@7.2.0: dependencies: - ansi-regex: 6.3.0 + ansi-regex: 6.4.0 strip-bom@4.0.0: {} @@ -8154,7 +8199,7 @@ snapshots: symbol-tree@3.2.4: {} - sync-child-process@1.0.2: + sync-child-process@1.1.0: dependencies: sync-message-port: 1.2.0 @@ -8278,9 +8323,9 @@ snapshots: '@unrs/resolver-binding-win32-ia32-msvc': 1.12.2 '@unrs/resolver-binding-win32-x64-msvc': 1.12.2 - update-browserslist-db@1.3.3(browserslist@4.29.1): + update-browserslist-db@1.3.4(browserslist@4.29.4): dependencies: - browserslist: 4.29.1 + browserslist: 4.29.4 escalade: 3.2.0 picocolors: 1.1.1 @@ -8308,6 +8353,8 @@ snapshots: verkit@0.3.2: {} + verkit@0.5.0: {} + vite@8.3.5(@types/node@26.6.5)(esbuild@0.28.2)(jiti@2.7.0)(sass-embedded@1.104.1)(sass@1.104.1): dependencies: lightningcss: 1.33.0 @@ -8431,4 +8478,6 @@ snapshots: yoctocolors@2.2.0: {} + zod@4.6.6: {} + zod@4.6.7: {} From 6ac609c64ea42fae5c86f161c8e0878758d91303 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 2 Nov 2026 00:16:23 +0000 Subject: [PATCH 32/44] Auto translate strings --- src-ui/messages.xlf | 70 ++++++++++++++++++++++----------------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/src-ui/messages.xlf b/src-ui/messages.xlf index cffd086640..73f34c769b 100644 --- a/src-ui/messages.xlf +++ b/src-ui/messages.xlf @@ -5,14 +5,14 @@ Close - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/alert/alert.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/alert/alert.ts 38,39 Slide of - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/carousel/carousel.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/carousel/carousel.ts 386,393 Currently selected slide number read by screen reader @@ -20,219 +20,219 @@ Previous - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/carousel/carousel.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/carousel/carousel.ts 425,426 Next - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/carousel/carousel.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/carousel/carousel.ts 452,453 Select month - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/datepicker/datepicker-navigation-select.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/datepicker/datepicker-navigation-select.ts 52 - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/datepicker/datepicker-navigation-select.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/datepicker/datepicker-navigation-select.ts 52 Select year - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/datepicker/datepicker-navigation-select.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/datepicker/datepicker-navigation-select.ts 52 - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/datepicker/datepicker-navigation-select.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/datepicker/datepicker-navigation-select.ts 52 Previous month - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/datepicker/datepicker-navigation.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/datepicker/datepicker-navigation.ts 73,76 - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/datepicker/datepicker-navigation.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/datepicker/datepicker-navigation.ts 73,76 Next month - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/datepicker/datepicker-navigation.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/datepicker/datepicker-navigation.ts 73,74 - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/datepicker/datepicker-navigation.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/datepicker/datepicker-navigation.ts 73,74 «« - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/pagination/pagination.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/pagination/pagination.ts 277,278 « - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/pagination/pagination.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/pagination/pagination.ts 277,278 » - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/pagination/pagination.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/pagination/pagination.ts 277 »» - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/pagination/pagination.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/pagination/pagination.ts 277 First - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/pagination/pagination.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/pagination/pagination.ts 277,278 Previous - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/pagination/pagination.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/pagination/pagination.ts 277,278 Next - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/pagination/pagination.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/pagination/pagination.ts 277,278 Last - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/pagination/pagination.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/pagination/pagination.ts 277,278 - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/progressbar/progressbar.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/progressbar/progressbar.ts 39,40 HH - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/timepicker/timepicker.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/timepicker/timepicker.ts 442 Hours - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/timepicker/timepicker.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/timepicker/timepicker.ts 442 MM - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/timepicker/timepicker.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/timepicker/timepicker.ts 442 Minutes - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/timepicker/timepicker.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/timepicker/timepicker.ts 442 Increment hours - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/timepicker/timepicker.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/timepicker/timepicker.ts 442 Decrement hours - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/timepicker/timepicker.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/timepicker/timepicker.ts 442 Increment minutes - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/timepicker/timepicker.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/timepicker/timepicker.ts 442 Decrement minutes - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/timepicker/timepicker.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/timepicker/timepicker.ts 442 SS - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/timepicker/timepicker.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/timepicker/timepicker.ts 442 Seconds - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/timepicker/timepicker.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/timepicker/timepicker.ts 442 Increment seconds - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/timepicker/timepicker.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/timepicker/timepicker.ts 442 Decrement seconds - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/timepicker/timepicker.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/timepicker/timepicker.ts 442 - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/timepicker/timepicker.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/timepicker/timepicker.ts 442 Close - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.2_@angular+core@22.2.2_@angular+_56804c6e9d763769999573a32671b982/node_modules/src/toast/toast.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.2.3_@angular+core@22.2.3_@angular+_2a970977f09c8afdd1f9933e219c8db5/node_modules/src/toast/toast.ts 80 From dddb1f901484725964a96bf8bf7cded9cccfc6c3 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun, 1 Nov 2026 16:24:42 -0800 Subject: [PATCH 33/44] Chore: keep main and dev CI runs from canceling (#14611) --- .github/workflows/ci-backend.yml | 3 ++- .github/workflows/ci-docker.yml | 3 ++- .github/workflows/ci-docs.yml | 3 ++- .github/workflows/ci-frontend.yml | 3 ++- .github/workflows/ci-lint.yml | 3 ++- .github/workflows/ci-static-analysis.yml | 3 ++- 6 files changed, 12 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci-backend.yml b/.github/workflows/ci-backend.yml index 6bac2c24f5..0c30f2b1c7 100644 --- a/.github/workflows/ci-backend.yml +++ b/.github/workflows/ci-backend.yml @@ -8,7 +8,8 @@ on: - 'translations**' workflow_dispatch: concurrency: - group: backend-${{ github.event.pull_request.number || github.ref }} + # Let dev/main commits finish, PR and feature-branch runs supersede older ones + group: backend-${{ github.event.pull_request.number || ((github.ref == 'refs/heads/dev' || github.ref == 'refs/heads/main') && github.run_id) || github.ref }} cancel-in-progress: true env: DEFAULT_UV_VERSION: "0.13.x" diff --git a/.github/workflows/ci-docker.yml b/.github/workflows/ci-docker.yml index 7b1c7f0ff5..2a6c5a7612 100644 --- a/.github/workflows/ci-docker.yml +++ b/.github/workflows/ci-docker.yml @@ -13,7 +13,8 @@ on: - main workflow_dispatch: concurrency: - group: docker-${{ github.event.pull_request.number || github.ref }} + # Let dev/main commits finish, PR and feature-branch runs supersede older ones + group: docker-${{ github.event.pull_request.number || ((github.ref == 'refs/heads/dev' || github.ref == 'refs/heads/main') && github.run_id) || github.ref }} cancel-in-progress: true env: REGISTRY: ghcr.io diff --git a/.github/workflows/ci-docs.yml b/.github/workflows/ci-docs.yml index 61c54b77fb..b471dd6d53 100644 --- a/.github/workflows/ci-docs.yml +++ b/.github/workflows/ci-docs.yml @@ -6,7 +6,8 @@ on: pull_request: workflow_dispatch: concurrency: - group: docs-${{ github.event.pull_request.number || github.ref }} + # Let dev/main commits finish, PR and feature-branch runs supersede older ones + group: docs-${{ github.event.pull_request.number || ((github.ref == 'refs/heads/dev' || github.ref == 'refs/heads/main') && github.run_id) || github.ref }} cancel-in-progress: true permissions: contents: read diff --git a/.github/workflows/ci-frontend.yml b/.github/workflows/ci-frontend.yml index 2cead59c59..bcf40223ab 100644 --- a/.github/workflows/ci-frontend.yml +++ b/.github/workflows/ci-frontend.yml @@ -8,7 +8,8 @@ on: - 'translations**' workflow_dispatch: concurrency: - group: frontend-${{ github.event.pull_request.number || github.ref }} + # Let dev/main commits finish, PR and feature-branch runs supersede older ones + group: frontend-${{ github.event.pull_request.number || ((github.ref == 'refs/heads/dev' || github.ref == 'refs/heads/main') && github.run_id) || github.ref }} cancel-in-progress: true permissions: {} jobs: diff --git a/.github/workflows/ci-lint.yml b/.github/workflows/ci-lint.yml index 0bef634370..5abeab41a0 100644 --- a/.github/workflows/ci-lint.yml +++ b/.github/workflows/ci-lint.yml @@ -7,7 +7,8 @@ on: branches-ignore: - 'translations**' concurrency: - group: lint-${{ github.event.pull_request.number || github.ref }} + # Let dev/main commits finish, PR and feature-branch runs supersede older ones + group: lint-${{ github.event.pull_request.number || ((github.ref == 'refs/heads/dev' || github.ref == 'refs/heads/main') && github.run_id) || github.ref }} cancel-in-progress: true permissions: contents: read diff --git a/.github/workflows/ci-static-analysis.yml b/.github/workflows/ci-static-analysis.yml index d774194e07..c534e75c05 100644 --- a/.github/workflows/ci-static-analysis.yml +++ b/.github/workflows/ci-static-analysis.yml @@ -8,7 +8,8 @@ on: - 'translations**' workflow_dispatch: concurrency: - group: static-analysis-${{ github.event.pull_request.number || github.ref }} + # Let dev/main commits finish, PR and feature-branch runs supersede older ones + group: static-analysis-${{ github.event.pull_request.number || ((github.ref == 'refs/heads/dev' || github.ref == 'refs/heads/main') && github.run_id) || github.ref }} cancel-in-progress: true permissions: contents: read From c2b25bdd939e6db20513637da3059a67ddf8145a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Nov 2026 03:37:27 +0000 Subject: [PATCH 34/44] docker-compose(deps): Bump nginx in /docker/compose (#14633) Bumps nginx from 1.31.6-alpine to 1.31.7-alpine. --- updated-dependencies: - dependency-name: nginx dependency-version: 1.31.7-alpine dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docker/compose/docker-compose.ci-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/compose/docker-compose.ci-test.yml b/docker/compose/docker-compose.ci-test.yml index 899cd94435..e5d02c6eb0 100644 --- a/docker/compose/docker-compose.ci-test.yml +++ b/docker/compose/docker-compose.ci-test.yml @@ -35,7 +35,7 @@ services: - "3143:3143" # IMAP restart: unless-stopped nginx: - image: docker.io/nginx:1.31.6-alpine + image: docker.io/nginx:1.31.7-alpine hostname: nginx container_name: nginx ports: From 1b8b861a6072fd85aad68847c0d312d7a9fd2ca0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Nov 2026 03:51:52 +0000 Subject: [PATCH 35/44] docker-compose(deps): bump greenmail/standalone in /docker/compose (#14631) Bumps greenmail/standalone from 2.1.14 to 2.1.15. --- updated-dependencies: - dependency-name: greenmail/standalone dependency-version: 2.1.15 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docker/compose/docker-compose.ci-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/compose/docker-compose.ci-test.yml b/docker/compose/docker-compose.ci-test.yml index e5d02c6eb0..6af773225f 100644 --- a/docker/compose/docker-compose.ci-test.yml +++ b/docker/compose/docker-compose.ci-test.yml @@ -24,7 +24,7 @@ services: network_mode: host restart: unless-stopped greenmail: - image: docker.io/greenmail/standalone:2.1.14 + image: docker.io/greenmail/standalone:2.1.15 hostname: greenmail container_name: greenmail environment: From 936f9363a0bccc056206d1f1a934ea36c1d3bc24 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 2 Nov 2026 07:59:27 -0800 Subject: [PATCH 36/44] Fix: ensure import bulk_edit tasks in Celery workers (#14653) --- src/paperless/settings/__init__.py | 3 +++ src/paperless/tests/test_celery.py | 39 ++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/src/paperless/settings/__init__.py b/src/paperless/settings/__init__.py index b3e2b71ab2..62188336d1 100644 --- a/src/paperless/settings/__init__.py +++ b/src/paperless/settings/__init__.py @@ -690,6 +690,9 @@ logging.config.dictConfig(LOGGING) # https://docs.celeryq.dev/en/stable/userguide/configuration.html +# Tasks outside tasks.py must be loaded even when Django skips checks +CELERY_IMPORTS = ("documents.bulk_edit",) + CELERY_BROKER_URL = _CELERY_REDIS_URL CELERY_RESULT_BACKEND = _CELERY_REDIS_URL CELERY_RESULT_SERIALIZER = "signed-pickle" diff --git a/src/paperless/tests/test_celery.py b/src/paperless/tests/test_celery.py index 83a2e9a84a..56ecf57484 100644 --- a/src/paperless/tests/test_celery.py +++ b/src/paperless/tests/test_celery.py @@ -1,5 +1,8 @@ import hmac +import os import pickle +import subprocess +import sys from hashlib import sha256 from pathlib import Path @@ -11,6 +14,42 @@ from paperless.celery import signed_pickle_loads from paperless.signed_pickle import HMAC_SIZE +def test_tasks_registered_without_system_checks() -> None: + # Use a fresh interpreter: Django checks and other tests can import views, + # hiding tasks that the worker would otherwise never register. + result = subprocess.run( + [ + sys.executable, + "-c", + """ +import sys + +from paperless.celery import app + +app.loader.import_default_modules() +expected = { + "documents.bulk_edit.delete", + "documents.bulk_edit.restore_archive_serial_numbers_task", + "documents.signals.handlers.process_cf_select_update", + "documents.workflows.webhooks.send_webhook", + "paperless_mail.mail.apply_mail_action", + "paperless_mail.mail.error_callback", +} +missing = expected - set(app.tasks) +assert not missing, f"Unregistered tasks: {sorted(missing)}" +assert "paperless.urls" not in sys.modules +""", + ], + env={**os.environ, "CELERY_SKIP_CHECKS": "1"}, + cwd=Path(__file__).resolve().parents[2], + capture_output=True, + text=True, + timeout=60, + check=False, + ) + assert result.returncode == 0, result.stdout + result.stderr + + class TestSignedPickleSerializer: def test_roundtrip_simple_types(self) -> None: """Signed pickle can round-trip basic JSON-like types.""" From fefe4e5802f03584d0522d949671cd597d080f87 Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Mon, 2 Nov 2026 08:53:17 -0800 Subject: [PATCH 37/44] Fix: Bumps filelock to 4.2.6 to pick up ACL related fixes (#14656) --- uv.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/uv.lock b/uv.lock index ca7166b566..0d146cb12d 100644 --- a/uv.lock +++ b/uv.lock @@ -1332,11 +1332,11 @@ wheels = [ [[package]] name = "filelock" -version = "4.2.4" +version = "4.2.6" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d8/28/3893324bcadf8f89b1616637468d766af3f625008c0735bf704fdfa86617/filelock-4.2.4.tar.gz", hash = "sha256:c6d8663535e1650ee430507b4ffbac7b464dd64b7647ea0112a9f406499d163d", size = 652444, upload-time = "2026-10-19T01:57:51.001Z" } +sdist = { url = "https://files.pythonhosted.org/packages/35/6c/730b340182f1fd74d4ef8d3f35431ce84f8f97b1a1f2afd145174b7bb047/filelock-4.2.6.tar.gz", hash = "sha256:ee7af8ede36dcaf12e1016d9f7c3a63ecd5497d46f85dab21b8c779b8f944e97", size = 661339, upload-time = "2026-10-31T15:10:16.889Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e0/1b/5e74289a1878e666bb4b65fe5805a04cafcac2aa5f519ef1ead67ef91c56/filelock-4.2.4-py3-none-any.whl", hash = "sha256:301241438c57936ef93f4243a94f2559022268bfcf9b375a9a72eb0f8db8358e", size = 162475, upload-time = "2026-10-19T01:57:49.419Z" }, + { url = "https://files.pythonhosted.org/packages/b7/8d/3f849fcb79359259737bc2d8ddcaee6149ffb773239a260c9ff20179736f/filelock-4.2.6-py3-none-any.whl", hash = "sha256:fd7d4fca497bf3e3d0945a13261f8e684f2aef12ce7cf76aef26e13bf7388b88", size = 164378, upload-time = "2026-10-31T15:10:15.322Z" }, ] [[package]] From 5486fa7c4073bf04b0c374521ae8c0c1beb4c3d0 Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Mon, 2 Nov 2026 13:47:27 -0800 Subject: [PATCH 38/44] chore(deps): bump Django, django-guardian, django-filter, drf-spectacular-sidecar (#14661) - django 5.2.17 -> 5.2.18 (security release: DoS fixes in language variant lookup and header parameter parsing, plus other security fixes) - django-guardian 3.5.0 -> 3.5.2 (GHSA-5729-mvhf-9gq4: get_objects_for_user could return objects missing required permissions; also fixes global permission handling in get_objects_for_group and get_40x_or_None) - django-filter 26.1 -> 26.2 (LinkWidget label escaping hardening) - drf-spectacular-sidecar 2026.9.1 -> 2026.10.1 --- pyproject.toml | 8 ++++---- uv.lock | 32 ++++++++++++++++---------------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 7c39550733..8559a9e180 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,22 +26,22 @@ dependencies = [ "dateparser~=1.4", # WARNING: django does not use semver. # Only patch versions are guaranteed to not introduce breaking changes. - "django~=5.2.13", + "django~=5.2.18", "django-allauth[mfa,socialaccount]~=65.20.0", "django-auditlog~=3.4.1", "django-cachalot~=2.9.0", "django-compression-middleware~=0.5.0", "django-cors-headers~=4.9.0", "django-extensions~=4.1", - "django-filter>=25.1,<27", - "django-guardian>=3.3.3,<3.6", + "django-filter>=26.2,<27", + "django-guardian>=3.5.2,<3.6", "django-multiselectfield~=1.0.1", "django-rich~=2.2.0", "django-soft-delete~=1.0.18", "django-treenode>=0.24", "djangorestframework~=3.16", "drf-spectacular~=0.30", - "drf-spectacular-sidecar>=2026.7.1,<2026.10", + "drf-spectacular-sidecar>=2026.10.1,<2026.11", "drf-writable-nested~=0.7.1", "filelock>=3.32,<4.3", "flower>=2.0.1,<2.3", diff --git a/uv.lock b/uv.lock index 0d146cb12d..799927e961 100644 --- a/uv.lock +++ b/uv.lock @@ -1001,15 +1001,15 @@ wheels = [ [[package]] name = "django" -version = "5.2.17" +version = "5.2.18" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "asgiref" }, { name = "sqlparse" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d5/d8/43e9d000519adceb189620b6869ff88031e046df91c2e9da72f8f6918399/django-5.2.17.tar.gz", hash = "sha256:9d4d93be539a18ab80d058eb515900e10951e04c537c5a6b394fc49528d3251f", size = 10889740, upload-time = "2026-08-04T15:04:03.173Z" } +sdist = { url = "https://files.pythonhosted.org/packages/85/fe/79e692b430c7721bf4b812c328bfe687e73e3f28f56611a6a18a97e887cc/django-5.2.18.tar.gz", hash = "sha256:461c5dd06d2ea16bd5ca37d3f46e4def1d6b0fe7588c6f4e2119517bb0af8b2d", size = 10910238, upload-time = "2026-10-06T13:01:09.371Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/df/f8/ce120525ca78f12b07daf65786679c5d0b54a75285a8958d3ae55e39da35/django-5.2.17-py3-none-any.whl", hash = "sha256:f04fb3b36ee119e1af4fa1d397d5fd6cf12700f49321e84d4f4c642c5b1973db", size = 8315563, upload-time = "2026-08-04T15:03:59.1Z" }, + { url = "https://files.pythonhosted.org/packages/d6/01/6568ec52b26548ca1b83d33249f7274db3bf74698f42c0da42ec9db1a24a/django-5.2.18-py3-none-any.whl", hash = "sha256:92ed81d500be6408ecd704d7bd1366c534f30427bffcc63c5fefb129561aec7c", size = 8316071, upload-time = "2026-10-06T13:01:04.413Z" }, ] [[package]] @@ -1102,14 +1102,14 @@ wheels = [ [[package]] name = "django-filter" -version = "26.1" +version = "26.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "django" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/cb/3e/563965173d4cbb5fc308087e7b3d11a115b7b67273d093622480b1e31f78/django_filter-26.1.tar.gz", hash = "sha256:66ea04031b068c77c86e1ac26ced7a3f8f13ce797f5795751707e3deefc58054", size = 144299, upload-time = "2026-07-11T09:27:02.767Z" } +sdist = { url = "https://files.pythonhosted.org/packages/07/ee/c0f950fe24f3e0b69d054ad957f9229632b50bdc78e968f966d8b4efe16a/django_filter-26.2.tar.gz", hash = "sha256:fd5cc83995fbe9f5f07fb5dcda16fde0f04de1ecf8ef82628b6c0ec921b751af", size = 144828, upload-time = "2026-10-03T12:01:01.007Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1f/01/afffed1e3c4540fb75bf550a18b6176a9f6371b5f3e52b69a28995b6480c/django_filter-26.1-py3-none-any.whl", hash = "sha256:7d98ef2899218e6242619b532cb1b95af14e09dfcf74844aecb550ad27b59ff2", size = 94069, upload-time = "2026-07-11T09:27:01.012Z" }, + { url = "https://files.pythonhosted.org/packages/4a/92/6b098caa5b980a9d13a8db4825b7670410fa572e9195e39648f7700f2a37/django_filter-26.2-py3-none-any.whl", hash = "sha256:df8f737841d6359df00b84dda9b5ab59067fe60292091f1bdae1e3e6281cedb0", size = 94077, upload-time = "2026-10-03T12:00:59.162Z" }, ] [[package]] @@ -1129,15 +1129,15 @@ wheels = [ [[package]] name = "django-guardian" -version = "3.5.0" +version = "3.5.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "django" }, { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/63/36/0d3eb841f9d6404fc74fdbc3b4d74b9217a0fcede406ab26cc9840506bf5/django_guardian-3.5.0.tar.gz", hash = "sha256:d80b8ab86c28f92adef816996f4341fbea6790aa1f09006c5afc1ef0ea394871", size = 115602, upload-time = "2026-09-12T18:03:27.082Z" } +sdist = { url = "https://files.pythonhosted.org/packages/84/ed/d31c3befa315d8cf52efea39078ab4871b866f03dddfa01f2ab630a8182d/django_guardian-3.5.2.tar.gz", hash = "sha256:ca14b7c9cc37bc852f3749f8a998a76cfd0ebbd66ac85726ef331289a712d389", size = 124548, upload-time = "2026-10-20T10:51:23.355Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/89/c7/57463fa92db5d472d5be9209b255c901f7e64e4631ebf16818cb04ad0ac4/django_guardian-3.5.0-py3-none-any.whl", hash = "sha256:926eb17caf4991d467fd75d412a3040857bc4e111fc70bfe42e1c021826727e4", size = 151912, upload-time = "2026-09-12T18:03:25.045Z" }, + { url = "https://files.pythonhosted.org/packages/1b/5c/be6e4a9391fb0a87770ad210df9fa1e3ac523ef2e70cb906376c28200aad/django_guardian-3.5.2-py3-none-any.whl", hash = "sha256:545ea01d528830d936c129a125dc2f1aba581da4c3f3daa5d4d1e31654e276a8", size = 159192, upload-time = "2026-10-20T10:51:21.771Z" }, ] [[package]] @@ -1270,14 +1270,14 @@ wheels = [ [[package]] name = "drf-spectacular-sidecar" -version = "2026.9.1" +version = "2026.10.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "django" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/67/87/ef9f1693499ac2c1bf3c33ce57e72c423aed51ab51f7ebd5d3a38f20c606/drf_spectacular_sidecar-2026.9.1.tar.gz", hash = "sha256:99c2b845d0a52b01a7a8e96736a48ef2099dc3dedea103012dfea41a9e4e9ecc", size = 2605997, upload-time = "2026-09-01T15:27:00.127Z" } +sdist = { url = "https://files.pythonhosted.org/packages/23/7f/e95c51746e66cae4b6ca35912ad2a211dee979647e9fce4f3b5aca780630/drf_spectacular_sidecar-2026.10.1.tar.gz", hash = "sha256:ec8d20b2594e8a10ebf22e5bab62ec313c7cf8793753a050290b209e16e81c9c", size = 2633804, upload-time = "2026-10-01T17:20:35.255Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/19/3b/c4866e6304d09d8813883774dadc5ff70a355279fc2527af3a4004fdb5f0/drf_spectacular_sidecar-2026.9.1-py3-none-any.whl", hash = "sha256:1e521d0ff78c7ab1a873423fc6e6b82ef6bae863f170762e7410ac63b2c7b72f", size = 2628532, upload-time = "2026-09-01T15:26:58.472Z" }, + { url = "https://files.pythonhosted.org/packages/55/09/13509939a12e953759fa2f281b28dc14813c8c331addf3838fccdc71b364/drf_spectacular_sidecar-2026.10.1-py3-none-any.whl", hash = "sha256:fe1d005d8ac9b5d0472f2fe5deeb2e7d6dcffaa24118044f22578b4b8c4b31f2", size = 2656316, upload-time = "2026-10-01T17:20:33.813Z" }, ] [[package]] @@ -3246,22 +3246,22 @@ requires-dist = [ { name = "channels-redis", specifier = "~=4.2" }, { name = "concurrent-log-handler", specifier = "~=0.9.25" }, { name = "dateparser", specifier = "~=1.4" }, - { name = "django", specifier = "~=5.2.13" }, + { name = "django", specifier = "~=5.2.18" }, { name = "django-allauth", extras = ["mfa", "socialaccount"], specifier = "~=65.20.0" }, { name = "django-auditlog", specifier = "~=3.4.1" }, { name = "django-cachalot", specifier = "~=2.9.0" }, { name = "django-compression-middleware", specifier = "~=0.5.0" }, { name = "django-cors-headers", specifier = "~=4.9.0" }, { name = "django-extensions", specifier = "~=4.1" }, - { name = "django-filter", specifier = ">=25.1,<27" }, - { name = "django-guardian", specifier = ">=3.3.3,<3.6" }, + { name = "django-filter", specifier = ">=26.2,<27" }, + { name = "django-guardian", specifier = ">=3.5.2,<3.6" }, { name = "django-multiselectfield", specifier = "~=1.0.1" }, { name = "django-rich", specifier = "~=2.2.0" }, { name = "django-soft-delete", specifier = "~=1.0.18" }, { name = "django-treenode", specifier = ">=0.24" }, { name = "djangorestframework", specifier = "~=3.16" }, { name = "drf-spectacular", specifier = "~=0.30" }, - { name = "drf-spectacular-sidecar", specifier = ">=2026.7.1,<2026.10" }, + { name = "drf-spectacular-sidecar", specifier = ">=2026.10.1,<2026.11" }, { name = "drf-writable-nested", specifier = "~=0.7.1" }, { name = "filelock", specifier = ">=3.32,<4.3" }, { name = "flower", specifier = ">=2.0.1,<2.3" }, From 2c82b06b93064afb4df86a62bb12820d8d6bab69 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Nov 2026 23:11:43 +0000 Subject: [PATCH 39/44] docker-compose(deps): bump gotenberg/gotenberg in /docker/compose (#14634) Bumps gotenberg/gotenberg from 8.37 to 8.38. --- updated-dependencies: - dependency-name: gotenberg/gotenberg dependency-version: '8.38' dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docker/compose/docker-compose.ci-test.yml | 2 +- docker/compose/docker-compose.mariadb-tika.yml | 2 +- docker/compose/docker-compose.postgres-tika.yml | 2 +- docker/compose/docker-compose.sqlite-tika.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docker/compose/docker-compose.ci-test.yml b/docker/compose/docker-compose.ci-test.yml index 6af773225f..9c7c58b1cb 100644 --- a/docker/compose/docker-compose.ci-test.yml +++ b/docker/compose/docker-compose.ci-test.yml @@ -4,7 +4,7 @@ # correct networking for the tests services: gotenberg: - image: docker.io/gotenberg/gotenberg:8.37 + image: docker.io/gotenberg/gotenberg:8.38 hostname: gotenberg container_name: gotenberg network_mode: host diff --git a/docker/compose/docker-compose.mariadb-tika.yml b/docker/compose/docker-compose.mariadb-tika.yml index 7e48f80c06..c39c5ecfac 100644 --- a/docker/compose/docker-compose.mariadb-tika.yml +++ b/docker/compose/docker-compose.mariadb-tika.yml @@ -71,7 +71,7 @@ services: PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000 PAPERLESS_TIKA_ENDPOINT: http://tika:9998 gotenberg: - image: docker.io/gotenberg/gotenberg:8.37 + image: docker.io/gotenberg/gotenberg:8.38 restart: unless-stopped # The gotenberg chromium route is used to convert .eml files. We do not # want to allow external content like tracking pixels or even javascript. diff --git a/docker/compose/docker-compose.postgres-tika.yml b/docker/compose/docker-compose.postgres-tika.yml index 9f7003caca..353cf1a1e2 100644 --- a/docker/compose/docker-compose.postgres-tika.yml +++ b/docker/compose/docker-compose.postgres-tika.yml @@ -67,7 +67,7 @@ services: PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000 PAPERLESS_TIKA_ENDPOINT: http://tika:9998 gotenberg: - image: docker.io/gotenberg/gotenberg:8.37 + image: docker.io/gotenberg/gotenberg:8.38 restart: unless-stopped # The gotenberg chromium route is used to convert .eml files. We do not # want to allow external content like tracking pixels or even javascript. diff --git a/docker/compose/docker-compose.sqlite-tika.yml b/docker/compose/docker-compose.sqlite-tika.yml index 6fad60ff84..1349c47a85 100644 --- a/docker/compose/docker-compose.sqlite-tika.yml +++ b/docker/compose/docker-compose.sqlite-tika.yml @@ -56,7 +56,7 @@ services: PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000 PAPERLESS_TIKA_ENDPOINT: http://tika:9998 gotenberg: - image: docker.io/gotenberg/gotenberg:8.37 + image: docker.io/gotenberg/gotenberg:8.38 restart: unless-stopped # The gotenberg chromium route is used to convert .eml files. We do not # want to allow external content like tracking pixels or even javascript. From cd58cffd89e2dd2cd5098f18da6ec659509c2a15 Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Mon, 2 Nov 2026 16:15:36 -0800 Subject: [PATCH 40/44] chore(deps): bump turbohtml to 1.15.3 (#14662) turbohtml 1.10.0 -> 1.15.3. Includes sanitizer hardening (GHSA-9x48-74fj-x342, GHSA-wh2c-9vrv-w597, GHSA-pjrh-5m66-3wwf, URL schemes hidden behind character references in the bleach shim). Only the bleach clean shim and linkify are used, in the mail parser. --- pyproject.toml | 2 +- uv.lock | 85 ++++++++++++++++++++++++++------------------------ 2 files changed, 45 insertions(+), 42 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 8559a9e180..a113732408 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -76,7 +76,7 @@ dependencies = [ "tantivy~=0.26.0", "tika-client[httpx]~=1.0", "torch>=2.13,<2.15", - "turbohtml~=1.10.0", + "turbohtml~=1.15.3", "watchfiles>=1.2", "whitenoise~=6.11", "whoosh-compat[tantivy]==0.3", diff --git a/uv.lock b/uv.lock index 799927e961..d2774e9080 100644 --- a/uv.lock +++ b/uv.lock @@ -3305,7 +3305,7 @@ requires-dist = [ { name = "tantivy", specifier = "~=0.26.0" }, { name = "tika-client", extras = ["httpx"], specifier = "~=1.0" }, { name = "torch", specifier = ">=2.13,<2.15", index = "https://download.pytorch.org/whl/cpu" }, - { name = "turbohtml", specifier = "~=1.10.0" }, + { name = "turbohtml", specifier = "~=1.15.3" }, { name = "watchfiles", specifier = ">=1.2" }, { name = "whitenoise", specifier = "~=6.11" }, { name = "whoosh-compat", extras = ["tantivy"], specifier = "==0.3" }, @@ -5384,48 +5384,51 @@ wheels = [ [[package]] name = "turbohtml" -version = "1.10.0" +version = "1.15.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/30/0b/94e323028f3aa652a5fb924681ed9c17537921716ac8b8267f03078c617f/turbohtml-1.10.0.tar.gz", hash = "sha256:a5f59f1f74b6b9060bc98751b1c7f68f5e74fd11e6252559eb838f948c8fc76d", size = 3497676, upload-time = "2026-09-24T21:58:12.43Z" } +sdist = { url = "https://files.pythonhosted.org/packages/af/72/f6139dafed27fc89ffacc790278ee4c36ae3f9e241f37f74c175ca20f738/turbohtml-1.15.3.tar.gz", hash = "sha256:b36566753737693c5f8d64ebedac3aab7f89c88ce763991d7e6fd4a45b7b668e", size = 4553593, upload-time = "2026-10-19T03:00:47.233Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/cb/13/a92f25cdfc64e333f3248fbf4ced0e65364be60279b90806670a8e78d0d9/turbohtml-1.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e61c74a0bab25f00ac000f7a4aac00db9834938dbda3dc364307a1f11f6a60c0", size = 1435697, upload-time = "2026-09-24T21:58:12.27Z" }, - { url = "https://files.pythonhosted.org/packages/52/7b/3577e58777d837317dd57c65140f3a4e52cc5a1fac99a30ba9dc5c0b26c3/turbohtml-1.10.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:8ccb3c078e5300079e5b2a5cdd9bab6f866dad4818d4508679d71a8ad05f8a81", size = 1569438, upload-time = "2026-09-24T21:58:36.289Z" }, - { url = "https://files.pythonhosted.org/packages/24/e1/b55930f6cb69ccb0ccb3877ff67c7ced8dc01cf2782a8c53264bbaaea532/turbohtml-1.10.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:26502bcbea0926c9c9e468cfcf50381a5820a48e0c16b472271fe584abefd0f7", size = 1617559, upload-time = "2026-09-24T21:58:38.531Z" }, - { url = "https://files.pythonhosted.org/packages/21/ec/a2aef28eb3dfceecc387b406aff28ee3c409ec6723b7c72d001b1a093708/turbohtml-1.10.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8363bc65c1671a013b8d7a3b3e5e54fa72d6b65630c11a08eac6a83556c64602", size = 1583921, upload-time = "2026-09-24T21:58:40.004Z" }, - { url = "https://files.pythonhosted.org/packages/7c/43/87fb508686714638ad8419dca027ca6e22977fc42dd66a98d2b4f2eefe90/turbohtml-1.10.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:84f40701d0a52a5b581f31e86223e2d40f311c9bc9d89264c730101ccd1f14a1", size = 1615781, upload-time = "2026-09-24T21:58:42.441Z" }, - { url = "https://files.pythonhosted.org/packages/c0/a8/2156eeb17eff5ee5d5f3f90cc634593010cd8282fb813025d6489301102b/turbohtml-1.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9addb768f79f93658030a128344b5458b242fa39cfa8611bc6e2cda3241e1deb", size = 1437483, upload-time = "2026-09-24T21:58:13.919Z" }, - { url = "https://files.pythonhosted.org/packages/81/87/bbe8a0750c32e99bcefff6a6d98129599ebad68670013281bceeb748fc1a/turbohtml-1.10.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:423f589598a09bad4d4230ab8667363fccd0ae81cdd0e7bf7b02ad39d5923761", size = 1571298, upload-time = "2026-09-24T21:58:44Z" }, - { url = "https://files.pythonhosted.org/packages/07/97/8759f26fb77e66ca76408798a390c078f76cba30b3fef895b83716394eb0/turbohtml-1.10.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:4030eb81946491bb6d1a039a8beb8cc9455af6449d77a25db98b471929edb58b", size = 1619769, upload-time = "2026-09-24T21:58:47.551Z" }, - { url = "https://files.pythonhosted.org/packages/c8/9b/2dd565c20e7a962b26f2f1feb2a7513682551c4cbf7619480c3faa49999c/turbohtml-1.10.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:288b41d8e73466d0353f780acf30910ff39f82357d95752f9a85b0f09a71048f", size = 1586146, upload-time = "2026-09-24T21:58:51.198Z" }, - { url = "https://files.pythonhosted.org/packages/39/25/174a1ba40cb738e8d06bc59d1884e95a955e16f02d9e81f020b55306c490/turbohtml-1.10.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a13ea122aaff4b78e1f7042f104f133ee88b8f48bf0c4cbf9dafd8f73ac47722", size = 1622290, upload-time = "2026-09-24T21:58:50.444Z" }, - { url = "https://files.pythonhosted.org/packages/fb/c2/d41f69814a0a217db1fd184da90ac3573094859b37aa8b73558fc2e1ac4a/turbohtml-1.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b9b6171d883daf85bb6374aeae6f7c19c489e3fc61e0643a7f2f1da9822a0679", size = 1437198, upload-time = "2026-09-24T21:58:15.536Z" }, - { url = "https://files.pythonhosted.org/packages/86/fe/99913911376f99ff34a18bef342db8c662eee9965205f0345f64f46cfdf0/turbohtml-1.10.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:662e6b0650aaf30e090cca967dbc81fd4f1f3045be481a5e5e2715bf52578ef9", size = 1572058, upload-time = "2026-09-24T21:58:53.885Z" }, - { url = "https://files.pythonhosted.org/packages/a2/e0/2d293264e67078ee6b08f1cb7c93dd71da945e243d65f69672e14f4497f8/turbohtml-1.10.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:70380c063355c98b5ce120d8f201c7def00143e1bb6563ededc60f62807f0fe8", size = 1619317, upload-time = "2026-09-24T21:58:53.274Z" }, - { url = "https://files.pythonhosted.org/packages/ff/49/20046efdcbb99c1c8cbe7445cee5a12f53141d500056973e1379b981bcb9/turbohtml-1.10.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bb5a788781d79099676bba5706973a65b75df9ed51ee3d069ef648a3dd0d6804", size = 1584857, upload-time = "2026-09-24T21:58:57.189Z" }, - { url = "https://files.pythonhosted.org/packages/96/49/281e656c86a056adc97c0d99273ed92bc9b17dfed090520515856d0e9b59/turbohtml-1.10.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:225613d470dfb580d5346c7446fdcbfa13ccb2f4da2dd8d19000103250e625ab", size = 1620185, upload-time = "2026-09-24T21:58:56.516Z" }, - { url = "https://files.pythonhosted.org/packages/54/c2/93b519997efdc353753945f053317b493648071b5b1be65f36e09f37bf61/turbohtml-1.10.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:fab89d0ce289c7636cb825fa170c4b52b4083a5eda963576caff4cffad7bf8f9", size = 1437862, upload-time = "2026-09-24T21:58:17.11Z" }, - { url = "https://files.pythonhosted.org/packages/6a/8e/ff1443ccdf61791103ff6b0ed669059769bd4e97e536f337fce72b9dda3a/turbohtml-1.10.0-cp314-cp314-manylinux_2_28_aarch64.whl", hash = "sha256:794f77b1dedcfb9eabfb4e17a1c0fafe047f54b7e2b6f3b920c45e9a36b5a885", size = 1572493, upload-time = "2026-09-24T21:58:59.198Z" }, - { url = "https://files.pythonhosted.org/packages/7e/8d/4917f89a01410ecfe66c785163f4c6e6f16cf1ce19de7cc8b9193fbf0c7a/turbohtml-1.10.0-cp314-cp314-manylinux_2_28_x86_64.whl", hash = "sha256:e85b2d554e5a45dd81a43d8e47996b445d8ab4aaaa777c894026a2cbc184a93e", size = 1620012, upload-time = "2026-09-24T21:58:58.449Z" }, - { url = "https://files.pythonhosted.org/packages/40/c2/5b07960f1429a7f66448d0631807113c0b6c1d7e54aeef043f3e06d3f552/turbohtml-1.10.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:3a0351e57de782a763a7a8c885fce8943e22b6facf72b0ecc95d5b44a681d3ab", size = 1587372, upload-time = "2026-09-24T21:59:01.314Z" }, - { url = "https://files.pythonhosted.org/packages/e2/8f/2a17171aeb3004f1c35aa0fdec0091e9f7b80282a7dbc2a647de69b6b094/turbohtml-1.10.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:be0ef006fb1b6099efe6d6591f09ae57d5bccc5faf2e6163ee6e3880424ef7f2", size = 1621259, upload-time = "2026-09-24T21:59:00.594Z" }, - { url = "https://files.pythonhosted.org/packages/0f/fb/bdc5a2fa1334f7878bbd72662445ca4f065af923229846786cca6fc317de/turbohtml-1.10.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:421f56edc437913379764ec58057d4f637e972e0b273ca808a091220c3cf7168", size = 1457281, upload-time = "2026-09-24T21:58:19.055Z" }, - { url = "https://files.pythonhosted.org/packages/ca/47/e8a585f1f0f05d20a6616aa73174bf8c9b65f5bf7c21b384ff854c480459/turbohtml-1.10.0-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:89c7d933c6e06b5977110680cb0ad01f8c1e7ee579c0539215831943ff65b4fd", size = 1564047, upload-time = "2026-09-24T21:59:04.097Z" }, - { url = "https://files.pythonhosted.org/packages/43/65/f881a937aef5020186f4a9795c13669e540471668019603c9a04157632b8/turbohtml-1.10.0-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:9b7164630c67d0ba241efe95651190b48de3b21d0d28f09c81405d6b6e4e3e3b", size = 1610056, upload-time = "2026-09-24T21:59:03.215Z" }, - { url = "https://files.pythonhosted.org/packages/d8/62/bb2654d5f826b8fccd3309b0d350724cc8ed77e2e0703d9a016182f0aed4/turbohtml-1.10.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:92175e361a7e79b357d069a180452c5fdab3e83dbc8fe82af147ffd850efcb51", size = 1585075, upload-time = "2026-09-24T21:59:06.118Z" }, - { url = "https://files.pythonhosted.org/packages/dc/7e/8e2315ef3d96e0f57cc0881e7160373e824d895890e7757b682818d7122e/turbohtml-1.10.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:a17ee91740811506c9d02b3c136d5676e6a328e243f026014bb813b484a5886c", size = 1625498, upload-time = "2026-09-24T21:59:05.501Z" }, - { url = "https://files.pythonhosted.org/packages/e0/5b/fef20b454ceaea7594550fbdd95377b0f7062cf34b7be45f52f85266c89b/turbohtml-1.10.0-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:8a89b5996149b43ff9b83a9db8609044ccd557c9bf109d2ee4b36076e1ba6102", size = 1437864, upload-time = "2026-09-24T21:58:29.029Z" }, - { url = "https://files.pythonhosted.org/packages/71/20/229e187d0e47eac34958313bdb4746feedb5f33c17f90da00573c82d8ec6/turbohtml-1.10.0-cp315-cp315-manylinux_2_28_aarch64.whl", hash = "sha256:4f385ad6e14e50d59964b177e20348461eccda9decd59935f721cc3fccd5a238", size = 1574234, upload-time = "2026-09-24T21:59:07.897Z" }, - { url = "https://files.pythonhosted.org/packages/dd/e3/1882db0fdc8760d172ef19c11d8d973e339f775f450ba20568efb6bb7e24/turbohtml-1.10.0-cp315-cp315-manylinux_2_28_x86_64.whl", hash = "sha256:01b9ef79d882e16402cefc19f78c0226f8b6f83c32588b8fe71733cd4bca83f1", size = 1618454, upload-time = "2026-09-24T21:59:07.158Z" }, - { url = "https://files.pythonhosted.org/packages/f8/53/ecd6314b50bc3683219be261259ec2e0585a301d910fdf4afa6b52b7af66/turbohtml-1.10.0-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:97bdde66856c1be748fd8cdb4c2a7840f578af7fcacd2e455bba390304b4cb0f", size = 1586289, upload-time = "2026-09-24T21:59:09.822Z" }, - { url = "https://files.pythonhosted.org/packages/c7/f8/264e99df411e1d8b0034cd606fac1145800b42547d8d44b508fa6857fcd0/turbohtml-1.10.0-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:ffe72bff195a479e4811fb704d0fdaa33717893ebcf246f337d91c96e49eb8e7", size = 1621608, upload-time = "2026-09-24T21:59:09.011Z" }, - { url = "https://files.pythonhosted.org/packages/a1/4d/d4b5ab6fe192c56db95de48389a5fc6aa857295df2c282c01977bb97c0e5/turbohtml-1.10.0-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:702cc0c00754eca0531a7fdb804d98e36cdb79192bebd0a174016acc00e6dbe8", size = 1457298, upload-time = "2026-09-24T21:58:33.144Z" }, - { url = "https://files.pythonhosted.org/packages/11/28/2c8eeea4ba04ab333a7c5911c52464952439785318d4781678281b50b176/turbohtml-1.10.0-cp315-cp315t-manylinux_2_28_aarch64.whl", hash = "sha256:5d45a01b10fd5eb4117e959f52349a621e7a154ba2d24ecbe25fb9c979abd9af", size = 1563687, upload-time = "2026-09-24T21:59:11.654Z" }, - { url = "https://files.pythonhosted.org/packages/7a/a9/399f4525643b7c4205359f26908487de1cbf8b520ff8ff38646342f01cab/turbohtml-1.10.0-cp315-cp315t-manylinux_2_28_x86_64.whl", hash = "sha256:08064d33db70a04231ef70cdf88fc038e778f9c6ef6c08e543244b2f7c40a156", size = 1610603, upload-time = "2026-09-24T21:59:10.984Z" }, - { url = "https://files.pythonhosted.org/packages/09/3d/91ac95593de11942e9021cd2d6a7219b6afc345118d4e8d71fae9b88b0b0/turbohtml-1.10.0-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:19528d9ac387ebd89c8083adf77c194d1fc553c01a777fc1158db437b1ee23b7", size = 1583422, upload-time = "2026-09-24T21:59:13.758Z" }, - { url = "https://files.pythonhosted.org/packages/33/b5/47a7b9abecd16df67addadb4ea01cc0cdb608b480234756b2a793731c0fa/turbohtml-1.10.0-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:8806189da106986e3d3df695eca250dc935fcfafc077bd3ae7e111cd99b29498", size = 1624867, upload-time = "2026-09-24T21:59:13Z" }, - { url = "https://files.pythonhosted.org/packages/ac/a6/6c0e7950d84306a470d523d3ec4cb6aee7942ed75056aa4fb3f0174d20f1/turbohtml-1.10.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:149e80b94b5a28b4799158306e7c8da2fca2cd55600374bb5c4d48403410d962", size = 1439722, upload-time = "2026-09-24T21:58:40.978Z" }, - { url = "https://files.pythonhosted.org/packages/ce/26/21425ccc18a0085cbc0f3ab7b9f0372273934ae3614b405a2a666eca4e3c/turbohtml-1.10.0-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:ab81284db98aa9a75e125dc88baf9b08ccd6ae628951435b31dccd65270a4e51", size = 1611998, upload-time = "2026-09-24T21:59:17.911Z" }, - { url = "https://files.pythonhosted.org/packages/0c/cf/ab65ae59b3c31add2cd4cddd6473720c5f6113fc9b3099fa80a119e9b9eb/turbohtml-1.10.0-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:47b2ec25547e5461cd9bef807701443588790c39472d0400d60f74ad6d2ba12f", size = 1664674, upload-time = "2026-09-24T21:59:16.917Z" }, + { url = "https://files.pythonhosted.org/packages/af/6b/728e9308f0617c07ea3f51791be273d05eb39f94ac665666a2f3010a6fcf/turbohtml-1.15.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:58f8c1d794bbea54395c6cbc47d735dce2b6b0c0770d25f474066e4f00997f55", size = 1693210, upload-time = "2026-10-19T03:00:48.16Z" }, + { url = "https://files.pythonhosted.org/packages/01/d2/2c60942e0cfb8451a135a926322a2882e49478075c0888046b6e15d83790/turbohtml-1.15.3-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:64e2a680990e89148d8ed2b3de070cc06fc61e49312bc725195a9b160b452289", size = 1804786, upload-time = "2026-10-19T03:00:47.12Z" }, + { url = "https://files.pythonhosted.org/packages/ac/ce/82e256b7509a3ca565a8e22e965fd17ebd5acf4308c6bf2b71ba59e3a159/turbohtml-1.15.3-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:ef796264cb2de67c026f2380abecbb3f1709fc5f4418c57213f875cdfe4a3867", size = 1861531, upload-time = "2026-10-19T03:00:52.506Z" }, + { url = "https://files.pythonhosted.org/packages/33/13/525ab8585f9e102ccbec46c3e8aeb6ce162fa4db572a06a1684d467910cc/turbohtml-1.15.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:743f0c0aee47d0447b011b6d2aabebb2003a0a0df20e0311fcf958f5e34590a0", size = 1818307, upload-time = "2026-10-19T03:00:44.809Z" }, + { url = "https://files.pythonhosted.org/packages/68/7b/d81ac5350463d19fa3337a262bd2f7a4ea3a0e5666a4906e8281a504b515/turbohtml-1.15.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0d56cacf2997833bc75b42d47257fb3b0f0fb0ea4b22c359eb77b638dc47e007", size = 1884435, upload-time = "2026-10-19T03:00:47.097Z" }, + { url = "https://files.pythonhosted.org/packages/ef/ea/07f26111658bc09f8c064fb6efceda838c79fbacb2a601d1b706693c78d9/turbohtml-1.15.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e3039d9a213c500ac73d9b7fcdafa2959fa9a8b8db76c2f89b7a7600f4a8dd60", size = 1694666, upload-time = "2026-10-19T03:00:52.931Z" }, + { url = "https://files.pythonhosted.org/packages/40/b6/815b1dec0725e79b55b4aed5f42d88605f5a33c73073d053f9aeffdc0b96/turbohtml-1.15.3-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:e3b310c8de4f1191f8fe2569727e18352fa8d455a36ce4e0e7efa29809a0dcfa", size = 1806672, upload-time = "2026-10-19T03:00:49.656Z" }, + { url = "https://files.pythonhosted.org/packages/43/b7/35f53427396006a01b7f32b8f3d9f99c7de2d0cea9d35e81212ae37726bc/turbohtml-1.15.3-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:91c25ebbff03485701829686bf6806887672d75797590ef0cf842172613a986f", size = 1864813, upload-time = "2026-10-19T03:00:56.577Z" }, + { url = "https://files.pythonhosted.org/packages/a5/50/db9a429e85b47d378f382f63cac0bcaf74dbb3223796fc4c44ff5b85b74f/turbohtml-1.15.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7260dd11d4fded9767feb5641469978d3ec17fd49841a9026ac1aa13a938c41a", size = 1822128, upload-time = "2026-10-19T03:00:47.116Z" }, + { url = "https://files.pythonhosted.org/packages/ea/c7/d0c0b02e78ee2af1429426c24cfb2613c94f1efacce2c25e8f80987ba459/turbohtml-1.15.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:03fed03c4cb5b0647f2ca8c16c1984e55795df1663e8ea519a5f35a845d34038", size = 1886522, upload-time = "2026-10-19T03:00:50.594Z" }, + { url = "https://files.pythonhosted.org/packages/d9/b0/c500bba0caf4efea605cd561716897d048cb0eb790093dc3080debc58486/turbohtml-1.15.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:367064595ba48c19afa93dd1917c4b3a4a48cbdb611a5e5fee0802ccf9b5b934", size = 1694555, upload-time = "2026-10-19T03:00:57.607Z" }, + { url = "https://files.pythonhosted.org/packages/d9/52/42031848a38e173ee059902d26c6a0fc7afbe4f4e7c5ffbc04b2ea20d82d/turbohtml-1.15.3-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:eae964f816476029051bc9f7512ff6c8e0b48d454d3a5ebdbfae19da7574417b", size = 1803910, upload-time = "2026-10-19T03:00:55.444Z" }, + { url = "https://files.pythonhosted.org/packages/6f/74/eae4d435c075dc22bff367edb5cf1af236e102eed495f10b5a0cba99932d/turbohtml-1.15.3-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:37b62c2645f5ee6f1a56541cf5b44c3d45c0b4a5f8ffa108cf1842378c06a5cd", size = 1864790, upload-time = "2026-10-19T03:01:00.871Z" }, + { url = "https://files.pythonhosted.org/packages/4d/18/2d8e8e98dcd6e8f304866a9d4870da9e8b831f73c7fdbb1493c304f9b31c/turbohtml-1.15.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:2c4f61ae127d9837c8686b014b312196e3029810e23d63ba2f6d547759452918", size = 1819300, upload-time = "2026-10-19T03:00:48.796Z" }, + { url = "https://files.pythonhosted.org/packages/ab/a6/5baca9d1db175c34d7f7ff9855b73891031a0023a578a9792bfba9127dfb/turbohtml-1.15.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0f79241240c0647bdac2d5e52e915f21479b1ac5c21730dd2724a5ccba97a65f", size = 1884554, upload-time = "2026-10-19T03:00:59.774Z" }, + { url = "https://files.pythonhosted.org/packages/e4/55/8ddca432adc5d78b873f2e1ccd2eee2a40dd16b98d1f8856bc166fc2282d/turbohtml-1.15.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:26e3c941b0827bd8b45c2c8779451d40daee2442e92a1cee363f475297a8b916", size = 1695454, upload-time = "2026-10-19T03:01:01.74Z" }, + { url = "https://files.pythonhosted.org/packages/6a/5a/de4f9ace1c7a4077be0155e7e00e9c013097e7f7e3b76961deb11080885c/turbohtml-1.15.3-cp314-cp314-manylinux_2_28_aarch64.whl", hash = "sha256:db36f4d3e3234f294c02d8df872c558097e438c164125df7a275ceccc4d50d36", size = 1808301, upload-time = "2026-10-19T03:01:03.449Z" }, + { url = "https://files.pythonhosted.org/packages/40/97/6a2a8743d6bd08d4c63fee4c439149594003c08a5db4a8192b8101f3303c/turbohtml-1.15.3-cp314-cp314-manylinux_2_28_x86_64.whl", hash = "sha256:af5ddb802d80f13872262d10cc13a89fdc61afbab6424396ad8a794567c145bc", size = 1863714, upload-time = "2026-10-19T03:01:05.867Z" }, + { url = "https://files.pythonhosted.org/packages/36/70/17b8f90d9b92696a42132f14a1a8d2b9a9d9d64042afe6b3d699df9ff9d3/turbohtml-1.15.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:459f101ae9571ec4c5bb1f5d0ee15e795ac3f406032b921f6c26b2e5bb8a54b2", size = 1820497, upload-time = "2026-10-19T03:00:53.898Z" }, + { url = "https://files.pythonhosted.org/packages/b3/e7/2250d7078da1d11d4508552f4737d5a14e50ad0be727034c95a124b78fc1/turbohtml-1.15.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:b6209112cda787dfb29d9d523dab91f125a223ca15c92d881d60fc867355dff3", size = 1886680, upload-time = "2026-10-19T03:01:04.706Z" }, + { url = "https://files.pythonhosted.org/packages/af/2e/458c7761656c14a4690d5e025f9c8e7b306977b3b8fde49e6ffb3b2d0725/turbohtml-1.15.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:8de5972459db9d3ccf0aff0f6defd9d07026c366a37628146bfbd9e534c91fe8", size = 1739394, upload-time = "2026-10-19T03:01:06.767Z" }, + { url = "https://files.pythonhosted.org/packages/a2/24/42d53f8f4752ce4acf56eb922cd509c23700aff578fc54f7fd3fc8bfb7ea/turbohtml-1.15.3-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:375dd622f85c2befc12a6fe32630808935482e03e3eacba077d6ce1d7fb79936", size = 1812803, upload-time = "2026-10-19T03:01:07.665Z" }, + { url = "https://files.pythonhosted.org/packages/57/b4/013dda2084e2da1e9e82ad17904e81b091d622f0de758dde7c7b63209d50/turbohtml-1.15.3-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:ea13b7f48cc7fa07c90a3e6297c5c8e0ee543d4eeedf31e527c71e85730668c9", size = 1876013, upload-time = "2026-10-19T03:01:09.649Z" }, + { url = "https://files.pythonhosted.org/packages/97/15/9aa395cd2d1bc7e1f57fb890181cf124c78fdde43948ba4dce07b8e69e5c/turbohtml-1.15.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:6668709cd68552078735710f5a238431f0bab22adf0f24e590f06fbe1d362241", size = 1839329, upload-time = "2026-10-19T03:00:58.552Z" }, + { url = "https://files.pythonhosted.org/packages/2a/04/19f0a0bf9048ecb157011ad7e699af9ba0e9b16867434715c8c93ca0ad86/turbohtml-1.15.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:402573b518ee3ca09aa377f90629532efbdc6ebc06ee3834c4ff838bf2849ae0", size = 1897667, upload-time = "2026-10-19T03:01:12.448Z" }, + { url = "https://files.pythonhosted.org/packages/3d/e9/fd536b8c9ae4f20a645a6a12b35557722999d79a189d20b506fab2c41762/turbohtml-1.15.3-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:eefcebd72c96592f7404b35feb1bfb09bbd84c9165c8ccc15d9f2c11257a591f", size = 1695452, upload-time = "2026-10-19T03:01:10.628Z" }, + { url = "https://files.pythonhosted.org/packages/ae/ab/49b4a5e7e71ee5b4d19f5efa8a5ea4fa0d9406a49a8877b7bd13ae19e65e/turbohtml-1.15.3-cp315-cp315-manylinux_2_28_aarch64.whl", hash = "sha256:85a641b40cce98eafc72c335f29fbbcb6cfcda5a0d380eff181d8cd1410e31f8", size = 1807309, upload-time = "2026-10-19T03:01:11.42Z" }, + { url = "https://files.pythonhosted.org/packages/b3/e4/55ad4c1aea47308540504718aa321ae1cd651e4c470beec1c7b494836b28/turbohtml-1.15.3-cp315-cp315-manylinux_2_28_x86_64.whl", hash = "sha256:44c73f0890222483c3dc6b4486a9ed728a7d93421679708dda703b7f7fa884f3", size = 1863496, upload-time = "2026-10-19T03:01:20.347Z" }, + { url = "https://files.pythonhosted.org/packages/b1/4f/3d7811bcee7a64763c5d50d322c5608b819f836e76b8f60e567334e8352c/turbohtml-1.15.3-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:b4924731101cda6d6f2c5fa8288b60f4ed5fa27793667ac819edcded89cc9c6d", size = 1820988, upload-time = "2026-10-19T03:01:08.671Z" }, + { url = "https://files.pythonhosted.org/packages/99/32/f844528414d06df1abdf53140c4b2971d9313623ee4c61261f06c169a9ae/turbohtml-1.15.3-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:0c8b58e8202caafa6f6229296951a654fde506c8bf7c4a73eade66586f53393a", size = 1886474, upload-time = "2026-10-19T03:01:15.33Z" }, + { url = "https://files.pythonhosted.org/packages/d6/ab/d8ce98e346a7b2ab7ae44b68df1a9f6c02bda63bb168bfe6d7eec000f4f2/turbohtml-1.15.3-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:368fed72046ecfe4f44315e3541c205139b4cc723259e2fdf6c6d39f31cda6a9", size = 1739476, upload-time = "2026-10-19T03:01:14.467Z" }, + { url = "https://files.pythonhosted.org/packages/00/52/375d3b477e1a8a3268ecd5a36ea1c2dcdedcb598b91feb63984ab35bfe9f/turbohtml-1.15.3-cp315-cp315t-manylinux_2_28_aarch64.whl", hash = "sha256:82f8c3bc59ea3e943789665b062b60679fa9f2a707e0e0d5a636ea402eeee1ba", size = 1813269, upload-time = "2026-10-19T03:01:19.278Z" }, + { url = "https://files.pythonhosted.org/packages/57/94/ff34aedad7361f07309b46da66f12597bedfafb384aa345ff8182673535a/turbohtml-1.15.3-cp315-cp315t-manylinux_2_28_x86_64.whl", hash = "sha256:15e8225d28ba6d56f0bbae7a8ed1a96db824e3902e503d812ff31bb53a25615e", size = 1876817, upload-time = "2026-10-19T03:01:24.137Z" }, + { url = "https://files.pythonhosted.org/packages/32/90/7fb41faabe0cbb4bbece2a11836e5c160b10dec2596224ec474df8058aa9/turbohtml-1.15.3-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:97924ae3ef18fb397d7a6a8740b37637ffea89951c916f2683d647e2d73a8862", size = 1838214, upload-time = "2026-10-19T03:01:13.603Z" }, + { url = "https://files.pythonhosted.org/packages/34/6a/8307ab740af071e5efb459e874496303fa00612a45048f5d884908168b64/turbohtml-1.15.3-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:0a12160bca167520a5b5541c71f300af6e22a477b933f983657f523ec74f29f0", size = 1898421, upload-time = "2026-10-19T03:01:25.101Z" }, + { url = "https://files.pythonhosted.org/packages/f4/2d/45ffee7d85ecc87d7578575abc7c744e5ce95ad4ed9614af86452417ebe3/turbohtml-1.15.3-pp311-pypy311_pp80-macosx_11_0_arm64.whl", hash = "sha256:7646875da6ef7c1d3b32c6f9c892d80c86d183fcfa20dbc178d338a7a36f184f", size = 1699432, upload-time = "2026-10-19T03:01:17.465Z" }, + { url = "https://files.pythonhosted.org/packages/31/a6/d6f59a1a9989e5479f55d6587791e08d5f0c2b621127bcc4bd1593609d3f/turbohtml-1.15.3-pp311-pypy311_pp80-manylinux_2_28_aarch64.whl", hash = "sha256:33f82a1b28517e7cafdc5a4131dcf398f48fe47404ecf04440c369a24e004640", size = 1918325, upload-time = "2026-10-19T03:01:22.92Z" }, + { url = "https://files.pythonhosted.org/packages/4d/19/4c2c2162a698c1343456e19bc2441ccb1f6f41faa85d05fffe9d20dc6d18/turbohtml-1.15.3-pp311-pypy311_pp80-manylinux_2_28_x86_64.whl", hash = "sha256:4a8f1c6c8d143fe4cf9d7c61029f86e6deaadcbc4bc47dd5dcc03a0c29146b6f", size = 1976902, upload-time = "2026-10-19T03:01:27.248Z" }, + { url = "https://files.pythonhosted.org/packages/b1/ad/bb14658df0e6149eb7f6726e215ac12bea55b8abc75f097d0c3043239456/turbohtml-1.15.3-pp312-pypy312_pp80-macosx_11_0_arm64.whl", hash = "sha256:1c06adc83d25b0c13b15c072b6cbe81b5e8d2c185302df7e61503d06d47de2ec", size = 1695730, upload-time = "2026-10-19T03:01:21.304Z" }, + { url = "https://files.pythonhosted.org/packages/17/6c/6d606d7a2e516047932aeda3f5f9ab43f6981d0cdc559ec86ab34753ce0a/turbohtml-1.15.3-pp312-pypy312_pp80-manylinux_2_28_aarch64.whl", hash = "sha256:d51f402e2540fd8df0244f2be803966232dd6021d9cc269f0aa64904a6ccac08", size = 1902309, upload-time = "2026-10-19T03:01:26.098Z" }, + { url = "https://files.pythonhosted.org/packages/70/c5/f31420678a4ae10226e5a27334b8960b1f15784b6a0a73dad676c9697c1d/turbohtml-1.15.3-pp312-pypy312_pp80-manylinux_2_28_x86_64.whl", hash = "sha256:f2ff2d9934042331f45c9ade84b44db7eb3e86d362646f6d7723b63101a0ae7a", size = 1972007, upload-time = "2026-10-19T03:01:30.184Z" }, ] [[package]] From 16b79fc023a18147cace29293ae10a283adf50ff Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 2 Nov 2026 19:21:56 -0800 Subject: [PATCH 41/44] Fixhancement: doc detail mobile ux tweaks (#14664) --- .../document-detail.component.html | 27 ++++++++++++++----- .../document-detail.component.scss | 7 +++-- .../document-detail.component.spec.ts | 20 +++++++------- 3 files changed, 35 insertions(+), 19 deletions(-) diff --git a/src-ui/src/app/components/document-detail/document-detail.component.html b/src-ui/src/app/components/document-detail/document-detail.component.html index 66b22d481f..4faef55df9 100644 --- a/src-ui/src/app/components/document-detail/document-detail.component.html +++ b/src-ui/src/app/components/document-detail/document-detail.component.html @@ -13,7 +13,7 @@ (versionsUpdated)="onVersionsUpdated($event)" /> -
+
-
+
@@ -69,7 +69,7 @@
-
+
@@ -438,13 +438,26 @@
- + @if (hasNext()) { - + } @else { - + } - + +
+ + +
diff --git a/src-ui/src/app/components/document-detail/document-detail.component.scss b/src-ui/src/app/components/document-detail/document-detail.component.scss index 91c49eebfb..3d7f6c5bb6 100644 --- a/src-ui/src/app/components/document-detail/document-detail.component.scss +++ b/src-ui/src/app/components/document-detail/document-detail.component.scss @@ -64,8 +64,11 @@ textarea.rtl { .btn-group .btn.order-3 { border-top-left-radius: 0; border-bottom-left-radius: 0; - border-top-right-radius: var(--bs-border-radius-sm); - border-bottom-right-radius: var(--bs-border-radius-sm); + + @media screen and (min-width: 768px) { + border-top-right-radius: var(--bs-border-radius-sm); + border-bottom-right-radius: var(--bs-border-radius-sm); + } } .preview-sticky img { diff --git a/src-ui/src/app/components/document-detail/document-detail.component.spec.ts b/src-ui/src/app/components/document-detail/document-detail.component.spec.ts index c89c9b89fb..a9f6ccb675 100644 --- a/src-ui/src/app/components/document-detail/document-detail.component.spec.ts +++ b/src-ui/src/app/components/document-detail/document-detail.component.spec.ts @@ -890,31 +890,31 @@ describe('DocumentDetailComponent', () => { fixture.detectChanges() expect( fixture.debugElement - .queryAll(By.css('button')) - .find((b) => b.nativeElement.textContent === 'Save') + .queryAll(By.css('button.btn')) + .find((b) => b.nativeElement.textContent.trim() === 'Save') ).not.toBeUndefined() expect( fixture.debugElement - .queryAll(By.css('button')) - .find((b) => b.nativeElement.textContent === 'Save & close') + .queryAll(By.css('button.btn')) + .find((b) => b.nativeElement.textContent.trim() === 'Save & close') ).not.toBeUndefined() expect( fixture.debugElement - .queryAll(By.css('button')) - .find((b) => b.nativeElement.textContent === 'Save & next') + .queryAll(By.css('button.btn')) + .find((b) => b.nativeElement.textContent.trim() === 'Save & next') ).toBeUndefined() nextSpy.mockReturnValue(true) component.networkActive.set(true) fixture.detectChanges() expect( fixture.debugElement - .queryAll(By.css('button')) - .find((b) => b.nativeElement.textContent === 'Save & close') + .queryAll(By.css('button.btn')) + .find((b) => b.nativeElement.textContent.trim() === 'Save & close') ).toBeUndefined() expect( fixture.debugElement - .queryAll(By.css('button')) - .find((b) => b.nativeElement.textContent === 'Save & next') + .queryAll(By.css('button.btn')) + .find((b) => b.nativeElement.textContent.trim() === 'Save & next') ).not.toBeUndefined() }) From 786eac0b227df27555e76b6ba1439a0853c42eca Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 3 Nov 2026 03:23:17 +0000 Subject: [PATCH 42/44] Auto translate strings --- src-ui/messages.xlf | 47 +++++++++++++++++++++++++++++++++------------ 1 file changed, 35 insertions(+), 12 deletions(-) diff --git a/src-ui/messages.xlf b/src-ui/messages.xlf index 73f34c769b..3d52541854 100644 --- a/src-ui/messages.xlf +++ b/src-ui/messages.xlf @@ -687,7 +687,11 @@ src/app/components/document-detail/document-detail.component.html - 441,442 + 441 + + + src/app/components/document-detail/document-detail.component.html + 442,443 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -859,7 +863,7 @@ src/app/components/document-detail/document-detail.component.html - 460 + 473 src/app/components/document-list/document-list.component.html @@ -8588,7 +8592,7 @@ src/app/components/document-detail/document-detail.component.html - 483 + 496 src/app/components/document-list/document-list.component.html @@ -8863,63 +8867,82 @@ Save & next src/app/components/document-detail/document-detail.component.html - 443 + 445 + + + src/app/components/document-detail/document-detail.component.html + 456 Save & close src/app/components/document-detail/document-detail.component.html - 445 + 447 + + + src/app/components/document-detail/document-detail.component.html + 458 Discard src/app/components/document-detail/document-detail.component.html - 447,448 + 449 + + + src/app/components/document-detail/document-detail.component.html + 450,451 + + + + More save options + + src/app/components/document-detail/document-detail.component.html + 453 Document loading... src/app/components/document-detail/document-detail.component.html - 455 + 468 of src/app/components/document-detail/document-detail.component.html - 484,485 + 497,498 Zoom out src/app/components/document-detail/document-detail.component.html - 488 + 501 Zoom src/app/components/document-detail/document-detail.component.html - 491 + 504 Zoom in src/app/components/document-detail/document-detail.component.html - 498 + 511 Enter Password src/app/components/document-detail/document-detail.component.html - 532 + 545 From 7cdf8ec3c2ca4651b611e47b3fc2c6dbc0f2705e Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 2 Nov 2026 21:25:35 -0800 Subject: [PATCH 43/44] Chore: ditch the abandoned ngx-bootstrap-icons, roll our own (#14665) --- src-ui/angular.json | 3 + .../e2e/document-list/document-list.spec.ts | 2 +- src-ui/jest.config.js | 2 +- src-ui/package.json | 2 +- src-ui/pnpm-lock.yaml | 24 +- src-ui/src/app/app.component.spec.ts | 2 - .../admin/config/config.component.html | 6 +- .../admin/config/config.component.spec.ts | 2 - .../admin/config/config.component.ts | 4 +- .../admin/logs/logs.component.spec.ts | 2 - .../admin/settings/settings.component.html | 18 +- .../admin/settings/settings.component.spec.ts | 2 - .../admin/settings/settings.component.ts | 4 +- .../admin/tasks/tasks.component.html | 22 +- .../admin/tasks/tasks.component.spec.ts | 2 - .../components/admin/tasks/tasks.component.ts | 4 +- .../admin/trash/trash.component.html | 16 +- .../admin/trash/trash.component.spec.ts | 2 - .../components/admin/trash/trash.component.ts | 4 +- .../users-groups/users-groups.component.html | 12 +- .../users-groups.component.spec.ts | 2 - .../users-groups/users-groups.component.ts | 4 +- .../app-frame/app-frame.component.html | 72 ++-- .../app-frame/app-frame.component.scss | 16 +- .../app-frame/app-frame.component.spec.ts | 2 - .../app-frame/app-frame.component.ts | 4 +- .../global-search.component.html | 18 +- .../global-search.component.scss | 6 +- .../global-search.component.spec.ts | 2 - .../global-search/global-search.component.ts | 4 +- .../toasts-dropdown.component.html | 6 +- .../toasts-dropdown.component.spec.ts | 6 +- .../toasts-dropdown.component.ts | 4 +- .../components/chat/chat/chat.component.html | 12 +- .../chat/chat/chat.component.spec.ts | 7 +- .../components/chat/chat/chat.component.ts | 4 +- .../bootstrap-icon.component.spec.ts | 61 ++++ .../bootstrap-icon.component.ts | 54 +++ .../components/common/bootstrap-icon/icons.ts | 317 ++++++++++++++++++ .../clearable-badge.component.html | 4 +- .../clearable-badge.component.spec.ts | 6 +- .../clearable-badge.component.ts | 4 +- .../confirm-button.component.html | 2 +- .../confirm-button.component.spec.ts | 7 +- .../confirm-button.component.ts | 4 +- ...-as-versions-confirm-dialog.component.html | 2 +- ...-versions-confirm-dialog.component.spec.ts | 6 +- ...ge-as-versions-confirm-dialog.component.ts | 4 +- .../merge-confirm-dialog.component.html | 2 +- .../merge-confirm-dialog.component.spec.ts | 8 +- .../merge-confirm-dialog.component.ts | 4 +- ...word-removal-confirm-dialog.component.html | 4 +- ...d-removal-confirm-dialog.component.spec.ts | 6 +- ...ssword-removal-confirm-dialog.component.ts | 4 +- .../rotate-confirm-dialog.component.html | 4 +- .../rotate-confirm-dialog.component.spec.ts | 6 +- .../rotate-confirm-dialog.component.ts | 4 +- .../custom-field-display.component.html | 2 +- .../custom-fields-dropdown.component.html | 4 +- .../custom-fields-dropdown.component.spec.ts | 2 - .../custom-fields-dropdown.component.ts | 4 +- ...ustom-fields-query-dropdown.component.html | 16 +- ...om-fields-query-dropdown.component.spec.ts | 2 - .../custom-fields-query-dropdown.component.ts | 4 +- .../dates-dropdown.component.html | 34 +- .../dates-dropdown.component.spec.ts | 2 - .../dates-dropdown.component.ts | 6 +- .../custom-field-edit-dialog.component.html | 2 +- ...custom-field-edit-dialog.component.spec.ts | 2 - .../custom-field-edit-dialog.component.ts | 4 +- .../group-edit-dialog.component.spec.ts | 2 - .../tag-edit-dialog.component.spec.ts | 2 - .../user-edit-dialog.component.spec.ts | 2 - .../workflow-edit-dialog.component.html | 10 +- .../workflow-edit-dialog.component.ts | 4 +- .../email-document-dialog.component.spec.ts | 7 +- .../email-document-dialog.component.ts | 3 +- .../filterable-dropdown.component.html | 8 +- .../filterable-dropdown.component.spec.ts | 3 +- .../filterable-dropdown.component.ts | 4 +- .../toggleable-dropdown-button.component.html | 6 +- .../toggleable-dropdown-button.component.ts | 4 +- .../common/input/check/check.component.html | 2 +- .../common/input/check/check.component.ts | 4 +- .../common/input/color/color.component.html | 2 +- .../input/color/color.component.spec.ts | 2 - .../common/input/color/color.component.ts | 4 +- .../custom-fields-values.component.html | 2 +- .../custom-fields-values.component.ts | 4 +- .../common/input/date/date.component.html | 6 +- .../common/input/date/date.component.spec.ts | 6 +- .../common/input/date/date.component.ts | 4 +- .../document-link.component.html | 8 +- .../document-link.component.scss | 2 +- .../document-link.component.spec.ts | 3 +- .../document-link/document-link.component.ts | 4 +- .../input/entries/entries.component.html | 4 +- .../input/entries/entries.component.spec.ts | 8 +- .../common/input/entries/entries.component.ts | 4 +- .../common/input/file/file.component.html | 4 +- .../input/monetary/monetary.component.html | 2 +- .../input/monetary/monetary.component.ts | 4 +- .../common/input/number/number.component.html | 2 +- .../common/input/number/number.component.ts | 4 +- .../input/password/password.component.html | 2 +- .../input/password/password.component.spec.ts | 8 +- .../input/password/password.component.ts | 4 +- .../common/input/select/select.component.html | 10 +- .../common/input/select/select.component.ts | 4 +- .../common/input/switch/switch.component.html | 6 +- .../common/input/tags/tags.component.html | 10 +- .../common/input/tags/tags.component.spec.ts | 2 - .../common/input/tags/tags.component.ts | 4 +- .../common/input/text/text.component.html | 2 +- .../common/input/text/text.component.ts | 4 +- .../input/textarea/textarea.component.html | 2 +- .../input/textarea/textarea.component.ts | 4 +- .../common/input/url/url.component.html | 4 +- .../common/input/url/url.component.spec.ts | 8 +- .../common/input/url/url.component.ts | 4 +- .../page-header/page-header.component.html | 6 +- .../page-header/page-header.component.spec.ts | 3 +- .../page-header/page-header.component.ts | 4 +- .../pdf-editor/pdf-editor.component.html | 22 +- .../pdf-editor/pdf-editor.component.spec.ts | 3 +- .../common/pdf-editor/pdf-editor.component.ts | 4 +- ...permissions-filter-dropdown.component.html | 16 +- ...missions-filter-dropdown.component.spec.ts | 2 - .../permissions-filter-dropdown.component.ts | 4 +- .../permissions-select.component.html | 4 +- .../permissions-select.component.spec.ts | 6 +- .../permissions-select.component.ts | 4 +- .../preview-popup.component.html | 2 +- .../preview-popup.component.spec.ts | 4 +- .../preview-popup/preview-popup.component.ts | 4 +- .../profile-edit-dialog.component.html | 12 +- .../profile-edit-dialog.component.spec.ts | 2 - .../profile-edit-dialog.component.ts | 4 +- .../share-link-bundle-dialog.component.html | 4 +- ...share-link-bundle-dialog.component.spec.ts | 6 +- .../share-link-bundle-dialog.component.ts | 4 +- .../share-links-dialog.component.html | 10 +- .../share-links-dialog.component.spec.ts | 8 +- .../share-links-dialog.component.ts | 4 +- .../suggestions-dropdown.component.html | 16 +- .../suggestions-dropdown.component.spec.ts | 7 +- .../suggestions-dropdown.component.ts | 4 +- .../system-status-dialog.component.html | 62 ++-- .../system-status-dialog.component.spec.ts | 6 +- .../system-status-dialog.component.ts | 4 +- .../common/toast/toast.component.html | 10 +- .../common/toast/toast.component.spec.ts | 9 +- .../common/toast/toast.component.ts | 4 +- .../common/toasts/toasts.component.spec.ts | 3 +- .../common/toasts/toasts.component.ts | 8 +- .../upload-status-tray.component.html | 6 +- .../upload-status-tray.component.scss | 4 +- .../upload-status-tray.component.spec.ts | 2 - .../upload-status-tray.component.ts | 4 +- .../dashboard/dashboard.component.html | 4 +- .../dashboard/dashboard.component.spec.ts | 2 - .../dashboard/dashboard.component.ts | 4 +- .../saved-view-widget.component.html | 6 +- .../saved-view-widget.component.spec.ts | 2 - .../saved-view-widget.component.ts | 4 +- .../upload-file-widget.component.html | 2 +- .../upload-file-widget.component.scss | 2 +- .../upload-file-widget.component.spec.ts | 2 - .../upload-file-widget.component.ts | 4 +- .../widget-frame/widget-frame.component.html | 4 +- .../widget-frame/widget-frame.component.scss | 2 +- .../widget-frame/widget-frame.component.ts | 4 +- .../document-barcodes.component.html | 4 +- .../document-barcodes.component.spec.ts | 18 +- .../document-barcodes.component.ts | 4 +- .../document-detail.component.html | 36 +- .../document-detail.component.spec.ts | 7 +- .../document-detail.component.ts | 4 +- .../document-history.component.spec.ts | 7 +- .../document-history.component.ts | 2 - .../document-version-dropdown.component.html | 14 +- ...ocument-version-dropdown.component.spec.ts | 8 +- .../document-version-dropdown.component.ts | 4 +- .../metadata-collapse.component.html | 4 +- .../metadata-collapse.component.spec.ts | 6 +- .../metadata-collapse.component.ts | 4 +- .../bulk-editor/bulk-editor.component.html | 24 +- .../bulk-editor/bulk-editor.component.spec.ts | 3 +- .../bulk-editor/bulk-editor.component.ts | 4 +- ...tom-fields-bulk-edit-dialog.component.html | 2 +- ...ustom-fields-bulk-edit-dialog.component.ts | 4 +- .../document-card-large.component.html | 30 +- .../document-card-large.component.spec.ts | 2 - .../document-card-large.component.ts | 4 +- .../document-card-small.component.html | 26 +- .../document-card-small.component.spec.ts | 7 +- .../document-card-small.component.ts | 4 +- .../document-list.component.html | 34 +- .../document-list.component.spec.ts | 7 +- .../document-list/document-list.component.ts | 4 +- .../filter-editor.component.html | 4 +- .../filter-editor.component.spec.ts | 2 - .../filter-editor/filter-editor.component.ts | 4 +- .../document-notes.component.html | 2 +- .../document-notes.component.spec.ts | 2 - .../document-notes.component.ts | 4 +- .../custom-fields.component.html | 8 +- .../custom-fields.component.spec.ts | 2 - .../custom-fields/custom-fields.component.ts | 4 +- .../document-attributes.component.html | 18 +- .../document-attributes.component.spec.ts | 4 +- .../document-attributes.component.ts | 4 +- .../correspondent-list.component.spec.ts | 2 - .../correspondent-list.component.ts | 4 +- .../document-type-list.component.spec.ts | 2 - .../document-type-list.component.ts | 4 +- .../management-list.component.html | 8 +- .../management-list.component.spec.ts | 2 - .../storage-path-list.component.spec.ts | 2 - .../storage-path-list.component.ts | 4 +- .../tag-list/tag-list.component.spec.ts | 2 - .../tag-list/tag-list.component.ts | 4 +- .../manage/mail/mail.component.html | 36 +- .../manage/mail/mail.component.spec.ts | 2 - .../components/manage/mail/mail.component.ts | 4 +- .../processed-mail-dialog.component.html | 10 +- .../processed-mail-dialog.component.spec.ts | 7 +- .../processed-mail-dialog.component.ts | 4 +- .../saved-views/saved-views.component.html | 2 +- .../saved-views/saved-views.component.spec.ts | 2 - .../saved-views/saved-views.component.ts | 8 +- .../share-link-bundle-list.component.html | 8 +- .../share-link-bundle-list.component.spec.ts | 6 +- .../share-link-bundle-list.component.ts | 8 +- .../share-link-list.component.html | 6 +- .../share-link-list.component.spec.ts | 7 +- .../share-link-list.component.ts | 4 +- .../share-links/share-links.component.spec.ts | 8 +- .../manage/workflows/workflows.component.html | 10 +- .../workflows/workflows.component.spec.ts | 2 - .../manage/workflows/workflows.component.ts | 4 +- .../not-found/not-found.component.html | 2 +- .../not-found/not-found.component.spec.ts | 8 +- .../not-found/not-found.component.ts | 4 +- .../app/guards/dirty-saved-view.guard.spec.ts | 7 +- src-ui/src/main.ts | 317 +----------------- src-ui/src/styles.scss | 4 +- src-ui/src/theme.scss | 2 +- src-ui/src/typings.d.ts | 5 + 249 files changed, 1092 insertions(+), 1216 deletions(-) create mode 100644 src-ui/src/app/components/common/bootstrap-icon/bootstrap-icon.component.spec.ts create mode 100644 src-ui/src/app/components/common/bootstrap-icon/bootstrap-icon.component.ts create mode 100644 src-ui/src/app/components/common/bootstrap-icon/icons.ts create mode 100644 src-ui/src/typings.d.ts diff --git a/src-ui/angular.json b/src-ui/angular.json index 633be88c5f..c3faf73f26 100644 --- a/src-ui/angular.json +++ b/src-ui/angular.json @@ -69,6 +69,9 @@ "src/polyfills.ts" ], "tsConfig": "tsconfig.app.json", + "loader": { + ".svg": "text" + }, "localize": true, "assets": [ "src/apple-touch-icon.png", diff --git a/src-ui/e2e/document-list/document-list.spec.ts b/src-ui/e2e/document-list/document-list.spec.ts index 5365b48268..b86ffa873f 100644 --- a/src-ui/e2e/document-list/document-list.spec.ts +++ b/src-ui/e2e/document-list/document-list.spec.ts @@ -123,7 +123,7 @@ test('sorting', async ({ page }) => { await page.getByRole('button', { name: 'Notes' }).click() await expect(page).toHaveURL(/sort=num_notes/) await page.getByRole('button', { name: 'Sort' }).click() - await page.locator('.w-100 > label > i-bs').first().click() + await page.locator('.w-100 > label > pngx-bs-icon').first().click() await expect(page).not.toHaveURL(/reverse=1/) }) diff --git a/src-ui/jest.config.js b/src-ui/jest.config.js index 89a3341307..ffea6ccc21 100644 --- a/src-ui/jest.config.js +++ b/src-ui/jest.config.js @@ -28,7 +28,7 @@ module.exports = { 'abstract-paperless-service', ], transformIgnorePatterns: [ - 'node_modules/(?!.*(\\.mjs$|tslib|lodash-es|normalize-diacritics|marked|@angular/common/locales/.*\\.js$))', + 'node_modules/(?!.*(\\.mjs$|tslib|lodash-es|normalize-diacritics|marked|@angular/common/locales/.*\\.js$|bootstrap-icons/icons/.*\\.svg$))', ], moduleNameMapper: { ...esmPreset.moduleNameMapper, diff --git a/src-ui/package.json b/src-ui/package.json index a1ce49eed4..9255ff139e 100644 --- a/src-ui/package.json +++ b/src-ui/package.json @@ -28,11 +28,11 @@ "@ngneat/dirty-check-forms": "^3.0.3", "@popperjs/core": "^2.11.8", "bootstrap": "^5.3.8", + "bootstrap-icons": "^1.13.2", "file-saver": "^2.0.5", "lodash-es": "^4.18.1", "marked": "~18.1.1", "mime-names": "^1.0.0", - "ngx-bootstrap-icons": "^1.9.3", "ngx-color": "^10.1.0", "ngx-cookie-service": "^22.0.0", "ngx-device-detector": "^12.0.0", diff --git a/src-ui/pnpm-lock.yaml b/src-ui/pnpm-lock.yaml index bcbc11d953..3e743b69ef 100644 --- a/src-ui/pnpm-lock.yaml +++ b/src-ui/pnpm-lock.yaml @@ -51,6 +51,9 @@ importers: bootstrap: specifier: ^5.3.8 version: 5.3.8(@popperjs/core@2.11.8) + bootstrap-icons: + specifier: ^1.13.2 + version: 1.13.2 file-saver: specifier: ^2.0.5 version: 2.0.5 @@ -63,9 +66,6 @@ importers: mime-names: specifier: ^1.0.0 version: 1.0.0 - ngx-bootstrap-icons: - specifier: ^1.9.3 - version: 1.9.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)) ngx-color: specifier: ^10.1.0 version: 10.1.0(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)) @@ -2391,6 +2391,9 @@ packages: resolution: {integrity: sha512-DkVaaQHymRhpYEYo9x1oo7Q7B0Y6KJUsjm3c9eTyFDby4MHLBTwZ6ZDWBel5zrYxj1WsZgC5oLpiz+93MluXeA==} engines: {node: '>=20.19.0'} + bootstrap-icons@1.13.2: + resolution: {integrity: sha512-fAU1Ly3dH7hwRg+CB8EZ0Vl0fF80zgXHeUVJyfUOKzoURr+TbwISbCW5tKUoQLERaWYG2emTCybcPbD96hdD1A==} + bootstrap@5.3.8: resolution: {integrity: sha512-HP1SZDqaLDPwsNiqRqi5NcP0SSXciX2s9E+RyqJIIqGo+vJeN5AJVM98CXmW/Wux0nQ5L7jeWUdplCEf0Ee+tg==} peerDependencies: @@ -3421,13 +3424,6 @@ packages: neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - ngx-bootstrap-icons@1.9.3: - resolution: {integrity: sha512-UsFqJ/cn0u5W39hVMIDbm+ze1dCF9fDV839scqeimi70Efcmg41zOx6GgR6i2gWAVFR0OBso1cdqb4E75XhTSw==} - engines: {node: '>= 16.18.1', npm: '>= 8.11.0'} - peerDependencies: - '@angular/common': '>= 13.3.8' - '@angular/core': '>= 13.3.8' - ngx-color@10.1.0: resolution: {integrity: sha512-yuxlE1LfN+PABIO4hv0Gw5ksq8g9XkMJKrGPn2SWbrre/gsH+kkyyn3rwSCurinnLCnw7czqenwQUtnBJm8yww==} peerDependencies: @@ -6411,6 +6407,8 @@ snapshots: boolbase@2.0.0: {} + bootstrap-icons@1.13.2: {} + bootstrap@5.3.8(@popperjs/core@2.11.8): dependencies: '@popperjs/core': 2.11.8 @@ -7648,12 +7646,6 @@ snapshots: neo-async@2.6.2: {} - ngx-bootstrap-icons@1.9.3(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)): - dependencies: - '@angular/common': 22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2) - '@angular/core': 22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2) - tslib: 2.8.1 - ngx-color@10.1.0(@angular/common@22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2)): dependencies: '@angular/common': 22.2.3(@angular/core@22.2.3(@angular/compiler@22.2.3)(rxjs@7.8.2))(rxjs@7.8.2) diff --git a/src-ui/src/app/app.component.spec.ts b/src-ui/src/app/app.component.spec.ts index d93534d80f..bd81eebaeb 100644 --- a/src-ui/src/app/app.component.spec.ts +++ b/src-ui/src/app/app.component.spec.ts @@ -3,7 +3,6 @@ import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' import { Router, RouterModule } from '@angular/router' import { NgbModalModule } from '@ng-bootstrap/ng-bootstrap' -import { allIcons, NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' import { provideUiTour, TourNgBootstrap, @@ -47,7 +46,6 @@ describe('AppComponent', () => { ToastsComponent, FileDropComponent, TourNgBootstrap, - NgxBootstrapIconsModule.pick(allIcons), ], providers: [ PermissionsGuard, diff --git a/src-ui/src/app/components/admin/config/config.component.html b/src-ui/src/app/components/admin/config/config.component.html index 31e9aecfa6..50ecb8ef03 100644 --- a/src-ui/src/app/components/admin/config/config.component.html +++ b/src-ui/src/app/components/admin/config/config.component.html @@ -28,7 +28,7 @@ {{option.title}} - + @if (isExternallyConfigured(option.config_key)) { @if (isSet(option.key)) { @@ -40,11 +40,11 @@ @if (isSet(option.key)) { @if (isExternallyConfigured(option.config_key)) { } @else { } } diff --git a/src-ui/src/app/components/admin/config/config.component.spec.ts b/src-ui/src/app/components/admin/config/config.component.spec.ts index 650761c7dd..0da90f7da7 100644 --- a/src-ui/src/app/components/admin/config/config.component.spec.ts +++ b/src-ui/src/app/components/admin/config/config.component.spec.ts @@ -6,7 +6,6 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { BrowserModule } from '@angular/platform-browser' import { NgbModule } from '@ng-bootstrap/ng-bootstrap' import { NgSelectModule } from '@ng-select/ng-select' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { of, throwError } from 'rxjs' import { ConfigCategory, @@ -39,7 +38,6 @@ describe('ConfigComponent', () => { NgSelectModule, FormsModule, ReactiveFormsModule, - NgxBootstrapIconsModule.pick(allIcons), ConfigComponent, TextComponent, SelectComponent, diff --git a/src-ui/src/app/components/admin/config/config.component.ts b/src-ui/src/app/components/admin/config/config.component.ts index 6894a50be3..1923677c64 100644 --- a/src-ui/src/app/components/admin/config/config.component.ts +++ b/src-ui/src/app/components/admin/config/config.component.ts @@ -9,7 +9,6 @@ import { } from '@angular/forms' import { NgbNavModule } from '@ng-bootstrap/ng-bootstrap' import { DirtyComponent, dirtyCheck } from '@ngneat/dirty-check-forms' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' import { BehaviorSubject, Observable, @@ -17,6 +16,7 @@ import { first, takeUntil, } from 'rxjs' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { ConfigCategory, ConfigOption, @@ -52,7 +52,7 @@ import { LoadingComponentWithPermissions } from '../../loading-component/loading NgbNavModule, FormsModule, ReactiveFormsModule, - NgxBootstrapIconsModule, + BootstrapIconComponent, ], }) export class ConfigComponent diff --git a/src-ui/src/app/components/admin/logs/logs.component.spec.ts b/src-ui/src/app/components/admin/logs/logs.component.spec.ts index c458804ce8..9f525a1735 100644 --- a/src-ui/src/app/components/admin/logs/logs.component.spec.ts +++ b/src-ui/src/app/components/admin/logs/logs.component.spec.ts @@ -8,7 +8,6 @@ import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' import { BrowserModule, By } from '@angular/platform-browser' import { NgbModule, NgbNavLink } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { of, throwError } from 'rxjs' import { LogService } from 'src/app/services/rest/log.service' import { PageHeaderComponent } from '../../common/page-header/page-header.component' @@ -40,7 +39,6 @@ describe('LogsComponent', () => { imports: [ BrowserModule, NgbModule, - NgxBootstrapIconsModule.pick(allIcons), LogsComponent, PageHeaderComponent, CommonModule, diff --git a/src-ui/src/app/components/admin/settings/settings.component.html b/src-ui/src/app/components/admin/settings/settings.component.html index 89ea62c3e1..c314f1afcc 100644 --- a/src-ui/src/app/components/admin/settings/settings.component.html +++ b/src-ui/src/app/components/admin/settings/settings.component.html @@ -5,7 +5,7 @@ i18n-info > @if (canViewSystemStatus) {
} @else { - + @if (systemStatusHasErrors) { - + } @else { - + } } @@ -30,7 +30,7 @@ @if (permissionsService.isAdmin()) { Open Django Admin - + } @@ -151,7 +151,7 @@
@@ -181,7 +181,7 @@

@@ -263,9 +263,9 @@ - + - +

diff --git a/src-ui/src/app/components/admin/settings/settings.component.spec.ts b/src-ui/src/app/components/admin/settings/settings.component.spec.ts index d64ea2a9b3..645b97f10a 100644 --- a/src-ui/src/app/components/admin/settings/settings.component.spec.ts +++ b/src-ui/src/app/components/admin/settings/settings.component.spec.ts @@ -15,7 +15,6 @@ import { NgbNavLink, } from '@ng-bootstrap/ng-bootstrap' import { NgSelectModule } from '@ng-select/ng-select' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { provideUiTour } from 'ngx-ui-tour-ng-bootstrap' import { of, throwError } from 'rxjs' import { routes } from 'src/app/app-routing.module' @@ -133,7 +132,6 @@ describe('SettingsComponent', () => { ReactiveFormsModule, NgbAlertModule, NgSelectModule, - NgxBootstrapIconsModule.pick(allIcons), NgbModalModule, DragDropModule, SettingsComponent, diff --git a/src-ui/src/app/components/admin/settings/settings.component.ts b/src-ui/src/app/components/admin/settings/settings.component.ts index 886e47ad6f..3f65e2cb50 100644 --- a/src-ui/src/app/components/admin/settings/settings.component.ts +++ b/src-ui/src/app/components/admin/settings/settings.component.ts @@ -23,7 +23,6 @@ import { NgbPopoverModule, } from '@ng-bootstrap/ng-bootstrap' import { DirtyComponent, dirtyCheck } from '@ngneat/dirty-check-forms' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' import { TourService } from 'ngx-ui-tour-ng-bootstrap' import { BehaviorSubject, @@ -34,6 +33,7 @@ import { takeUntil, tap, } from 'rxjs' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { Group } from 'src/app/data/group' import { SystemStatus, @@ -135,7 +135,7 @@ const sidebarItemLabels: Record = { ReactiveFormsModule, NgbNavModule, NgbPopoverModule, - NgxBootstrapIconsModule, + BootstrapIconComponent, ], }) export class SettingsComponent diff --git a/src-ui/src/app/components/admin/tasks/tasks.component.html b/src-ui/src/app/components/admin/tasks/tasks.component.html index 1e89963986..7424668d21 100644 --- a/src-ui/src/app/components/admin/tasks/tasks.component.html +++ b/src-ui/src/app/components/admin/tasks/tasks.component.html @@ -7,13 +7,13 @@ >
@@ -86,7 +86,7 @@
@if (filterText?.length) { } @@ -98,7 +98,7 @@ @if (isFiltered) { } @@ -125,7 +125,7 @@ @if (hasMore) { {{tasks.length}} of {{count}} tasks } @else { {count, plural, =1 {1 task} other {{{count}} tasks}} @@ -180,7 +180,7 @@ @if (taskShowsSeparateTypeLabel(task)) { {{ task.task_type_display }} } - {{ task.trigger_source_display }} + {{ task.trigger_source_display }}
{{ task.date_created | customDate:'short' }} @@ -197,7 +197,7 @@ } @if (duplicateDocumentId(task)) {
- + {{ duplicateTaskLabel(task) }}
} @@ -213,18 +213,18 @@ }
@if (task.related_document_ids?.[0]) { - Open Document + Open Document } diff --git a/src-ui/src/app/components/admin/tasks/tasks.component.spec.ts b/src-ui/src/app/components/admin/tasks/tasks.component.spec.ts index 026f5c0624..3b2c58f63e 100644 --- a/src-ui/src/app/components/admin/tasks/tasks.component.spec.ts +++ b/src-ui/src/app/components/admin/tasks/tasks.component.spec.ts @@ -10,7 +10,6 @@ import { By } from '@angular/platform-browser' import { Router } from '@angular/router' import { RouterTestingModule } from '@angular/router/testing' import { NgbModal, NgbModalRef, NgbModule } from '@ng-bootstrap/ng-bootstrap' -import { allIcons, NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' import { of, throwError } from 'rxjs' import { routes } from 'src/app/app-routing.module' import { @@ -174,7 +173,6 @@ describe('TasksComponent', () => { imports: [ NgbModule, RouterTestingModule.withRoutes(routes), - NgxBootstrapIconsModule.pick(allIcons), FormsModule, TasksComponent, PageHeaderComponent, diff --git a/src-ui/src/app/components/admin/tasks/tasks.component.ts b/src-ui/src/app/components/admin/tasks/tasks.component.ts index b548703df9..20f3107ca4 100644 --- a/src-ui/src/app/components/admin/tasks/tasks.component.ts +++ b/src-ui/src/app/components/admin/tasks/tasks.component.ts @@ -9,7 +9,6 @@ import { NgbPaginationModule, NgbPopoverModule, } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' import { debounceTime, distinctUntilChanged, @@ -22,6 +21,7 @@ import { takeUntil, timer, } from 'rxjs' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { PaperlessTask, PaperlessTaskStatus, @@ -151,7 +151,7 @@ const TRIGGER_SOURCE_OPTIONS: Array<{ NgbDropdownModule, NgbPaginationModule, NgbPopoverModule, - NgxBootstrapIconsModule, + BootstrapIconComponent, ], }) export class TasksComponent diff --git a/src-ui/src/app/components/admin/trash/trash.component.html b/src-ui/src/app/components/admin/trash/trash.component.html index 8beb2129d1..372735efe3 100644 --- a/src-ui/src/app/components/admin/trash/trash.component.html +++ b/src-ui/src/app/components/admin/trash/trash.component.html @@ -5,16 +5,16 @@ i18n-info infoLink="usage/#document-trash"> @@ -59,7 +59,7 @@ {{ document.title }} - + {{ getDaysRemaining(document) }} days @@ -67,7 +67,7 @@
@@ -77,10 +77,10 @@
diff --git a/src-ui/src/app/components/admin/trash/trash.component.spec.ts b/src-ui/src/app/components/admin/trash/trash.component.spec.ts index 4ad48dd438..abe000de26 100644 --- a/src-ui/src/app/components/admin/trash/trash.component.spec.ts +++ b/src-ui/src/app/components/admin/trash/trash.component.spec.ts @@ -9,7 +9,6 @@ import { NgbPaginationModule, NgbPopoverModule, } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { of, throwError } from 'rxjs' import { ToastService } from 'src/app/services/toast.service' import { TrashService } from 'src/app/services/trash.service' @@ -48,7 +47,6 @@ describe('TrashComponent', () => { ReactiveFormsModule, NgbPopoverModule, NgbPaginationModule, - NgxBootstrapIconsModule.pick(allIcons), TrashComponent, PageHeaderComponent, ConfirmDialogComponent, diff --git a/src-ui/src/app/components/admin/trash/trash.component.ts b/src-ui/src/app/components/admin/trash/trash.component.ts index 800a7c084f..b407ad7d66 100644 --- a/src-ui/src/app/components/admin/trash/trash.component.ts +++ b/src-ui/src/app/components/admin/trash/trash.component.ts @@ -6,8 +6,8 @@ import { NgbModal, NgbPaginationModule, } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' import { takeUntil, tap } from 'rxjs' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { Document } from 'src/app/data/document' import { SETTINGS_KEYS } from 'src/app/data/ui-settings' import { SettingsService } from 'src/app/services/settings.service' @@ -29,7 +29,7 @@ import { LoadingComponentWithPermissions } from '../../loading-component/loading ReactiveFormsModule, NgbDropdownModule, NgbPaginationModule, - NgxBootstrapIconsModule, + BootstrapIconComponent, ], }) export class TrashComponent diff --git a/src-ui/src/app/components/admin/users-groups/users-groups.component.html b/src-ui/src/app/components/admin/users-groups/users-groups.component.html index cdabad926f..380b0e2c4f 100644 --- a/src-ui/src/app/components/admin/users-groups/users-groups.component.html +++ b/src-ui/src/app/components/admin/users-groups/users-groups.component.html @@ -11,7 +11,7 @@

Users

    @@ -32,10 +32,10 @@
    @@ -49,7 +49,7 @@

    Groups

      @@ -70,10 +70,10 @@
      diff --git a/src-ui/src/app/components/admin/users-groups/users-groups.component.spec.ts b/src-ui/src/app/components/admin/users-groups/users-groups.component.spec.ts index 8e2551f157..1323ecb7ec 100644 --- a/src-ui/src/app/components/admin/users-groups/users-groups.component.spec.ts +++ b/src-ui/src/app/components/admin/users-groups/users-groups.component.spec.ts @@ -3,7 +3,6 @@ import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { of, throwError } from 'rxjs' import { Group } from 'src/app/data/group' import { User } from 'src/app/data/user' @@ -41,7 +40,6 @@ describe('UsersAndGroupsComponent', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [NgxBootstrapIconsModule.pick(allIcons)], providers: [ CustomDatePipe, DatePipe, diff --git a/src-ui/src/app/components/admin/users-groups/users-groups.component.ts b/src-ui/src/app/components/admin/users-groups/users-groups.component.ts index 406e17398d..791b27a49c 100644 --- a/src-ui/src/app/components/admin/users-groups/users-groups.component.ts +++ b/src-ui/src/app/components/admin/users-groups/users-groups.component.ts @@ -1,7 +1,7 @@ import { Component, OnDestroy, OnInit, inject, signal } from '@angular/core' import { NgbModal } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' import { Subject, first, takeUntil } from 'rxjs' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { Group } from 'src/app/data/group' import { User } from 'src/app/data/user' import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' @@ -29,7 +29,7 @@ import { ComponentWithPermissions } from '../../with-permissions/with-permission imports: [ PageHeaderComponent, IfPermissionsDirective, - NgxBootstrapIconsModule, + BootstrapIconComponent, ], }) export class UsersAndGroupsComponent diff --git a/src-ui/src/app/components/app-frame/app-frame.component.html b/src-ui/src/app/components/app-frame/app-frame.component.html index c6d3c1c062..8a9e64a5f5 100644 --- a/src-ui/src/app/components/app-frame/app-frame.component.html +++ b/src-ui/src/app/components/app-frame/app-frame.component.html @@ -2,7 +2,7 @@ - Settings + Settings - Logout + Logout - Documentation + Documentation
@@ -93,9 +93,9 @@ @if (canSaveSettings) { } @@ -105,7 +105,7 @@ - Dashboard + Dashboard @if (settingsService.organizingSidebarItems()) { @@ -117,7 +117,7 @@ (click)="closeMenu()" ngbPopover="Documents" i18n-ngbPopover [disablePopover]="!slimSidebarPopoversEnabled" placement="end" container="body" triggers="mouseenter:mouseleave" popoverClass="popover-slim"> - Documents + Documents @@ -136,7 +136,7 @@ routerLinkActive="active" (click)="closeMenu()" [ngbPopover]="view.name" [disablePopover]="!slimSidebarPopoversEnabled" placement="end" container="body" triggers="mouseenter:mouseleave" popoverClass="popover-slim"> -
{{view.name}}
+
{{view.name}}
@if (showSidebarCounts && !slimSidebarEnabled) { {{ savedViewService.getDocumentCount(view) }} } @@ -147,7 +147,7 @@ @if (settingsService.organizingSidebarSavedViews() && canSaveSettings) {
- +
} @@ -174,10 +174,10 @@ routerLinkActive="active" (click)="closeMenu()" [ngbPopover]="d.title | documentTitle" [disablePopover]="!slimSidebarPopoversEnabled" placement="end" container="body" triggers="mouseenter:mouseleave" popoverClass="popover-slim"> - {{d.title | documentTitle}} + {{d.title | documentTitle}} - + @@ -188,7 +188,7 @@ [class.text-truncate]="!slimSidebarEnabled" (click)="closeAll()" ngbPopover="Close all" i18n-ngbPopover [disablePopover]="!slimSidebarPopoversEnabled" placement="end" container="body" triggers="mouseenter:mouseleave" popoverClass="popover-slim"> - Close all + Close all } @@ -207,7 +207,7 @@ [routerLinkActiveOptions]="{ exact: !(slimSidebarEnabled || attributesSectionsCollapsed) }" (click)="closeMenu()" ngbPopover="Attributes" i18n-ngbPopover [disablePopover]="!slimSidebarPopoversEnabled" placement="end" container="body" triggers="mouseenter:mouseleave" popoverClass="popover-slim"> - Attributes + Attributes @if (!slimSidebarEnabled && canSaveSettings) { }
@@ -228,27 +228,27 @@ @@ -259,7 +259,7 @@ - Saved Views + Saved Views @if (settingsService.organizingSidebarItems()) { @@ -270,7 +270,7 @@ - Share links + Share links @if (settingsService.organizingSidebarItems()) { @@ -283,7 +283,7 @@ - Workflows + Workflows @if (settingsService.organizingSidebarItems()) { @@ -294,7 +294,7 @@ - Mail + Mail @if (settingsService.organizingSidebarItems()) { @@ -304,7 +304,7 @@ - Trash + Trash @@ -320,21 +320,21 @@ - Settings + Settings } @@ -366,7 +366,7 @@ target="_blank" rel="noopener noreferrer" href="https://docs.paperless-ngx.com" ngbPopover="Documentation" i18n-ngbPopover [disablePopover]="!slimSidebarPopoversEnabled" placement="end" container="body" triggers="mouseenter:mouseleave" popoverClass="popover-slim"> - Documentation + Documentation @if (settingsService.organizingSidebarItems()) { @@ -408,7 +408,7 @@ href="https://github.com/paperless-ngx/paperless-ngx/releases" [ngbPopover]="updateAvailablePopContent" popoverClass="shadow" triggers="mouseenter:mouseleave" container="body"> - + @if (appRemoteVersion()?.update_available) { Update available } @@ -418,7 +418,7 @@ - + }
diff --git a/src-ui/src/app/components/app-frame/app-frame.component.scss b/src-ui/src/app/components/app-frame/app-frame.component.scss index 933dd93743..57e605eae1 100644 --- a/src-ui/src/app/components/app-frame/app-frame.component.scss +++ b/src-ui/src/app/components/app-frame/app-frame.component.scss @@ -142,7 +142,7 @@ main { padding-left: 0; padding-right: 0; - i-bs { + pngx-bs-icon { margin-right: 0 !important; } } @@ -268,7 +268,7 @@ main { } } - i-bs { + pngx-bs-icon { position: relative; top: -1px; } @@ -279,7 +279,7 @@ main { align-items: center; min-width: 0; - > i-bs { + > pngx-bs-icon { flex: 0 0 auto; } @@ -373,11 +373,11 @@ main { width: 1.8rem; height: 100%; - i-bs { + pngx-bs-icon { opacity: 0.5; } - &:hover i-bs { + &:hover pngx-bs-icon { opacity: 1; } } @@ -392,7 +392,7 @@ main { text-decoration: underline; } - i-bs { + pngx-bs-icon { margin-bottom: 2px; } } @@ -665,7 +665,7 @@ main { .navbar .dropdown-menu { font-size: 0.875rem; // body size - a i-bs, button i-bs { + a pngx-bs-icon, button pngx-bs-icon { opacity: 0.6; } } @@ -693,7 +693,7 @@ main { cursor: move; } -::ng-deep .navItemDrag .position-absolute i-bs { +::ng-deep .navItemDrag .position-absolute pngx-bs-icon { display: none; } diff --git a/src-ui/src/app/components/app-frame/app-frame.component.spec.ts b/src-ui/src/app/components/app-frame/app-frame.component.spec.ts index 83cebd8890..2b4c3d63a7 100644 --- a/src-ui/src/app/components/app-frame/app-frame.component.spec.ts +++ b/src-ui/src/app/components/app-frame/app-frame.component.spec.ts @@ -10,7 +10,6 @@ import { BrowserModule, By } from '@angular/platform-browser' import { ActivatedRoute, Router } from '@angular/router' import { RouterTestingModule } from '@angular/router/testing' import { NgbModal, NgbModalModule, NgbModule } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { provideUiTour } from 'ngx-ui-tour-ng-bootstrap' import { of, throwError } from 'rxjs' import { routes } from 'src/app/app-routing.module' @@ -108,7 +107,6 @@ describe('AppFrameComponent', () => { ReactiveFormsModule, DragDropModule, NgbModalModule, - NgxBootstrapIconsModule.pick(allIcons), AppFrameComponent, IfPermissionsDirective, GlobalSearchComponent, diff --git a/src-ui/src/app/components/app-frame/app-frame.component.ts b/src-ui/src/app/components/app-frame/app-frame.component.ts index 4f9a02f6ec..54caff0582 100644 --- a/src-ui/src/app/components/app-frame/app-frame.component.ts +++ b/src-ui/src/app/components/app-frame/app-frame.component.ts @@ -23,10 +23,10 @@ import { NgbNavModule, NgbPopoverModule, } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' import { TourNgBootstrap } from 'ngx-ui-tour-ng-bootstrap' import { Observable } from 'rxjs' import { first } from 'rxjs/operators' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { Document } from 'src/app/data/document' import { SavedView } from 'src/app/data/saved-view' import { @@ -89,7 +89,7 @@ const SCROLL_THRESHOLD = 16 NgbPopoverModule, NgbCollapseModule, NgbNavModule, - NgxBootstrapIconsModule, + BootstrapIconComponent, DragDropModule, TourNgBootstrap, FormsModule, diff --git a/src-ui/src/app/components/app-frame/global-search/global-search.component.html b/src-ui/src/app/components/app-frame/global-search/global-search.component.html index e2748709e0..8b8a4b7f42 100644 --- a/src-ui/src/app/components/app-frame/global-search/global-search.component.html +++ b/src-ui/src/app/components/app-frame/global-search/global-search.component.html @@ -1,7 +1,7 @@
- +
Search } - + }
@@ -35,7 +35,7 @@
- +
{{item[nameProp]}} @if (date) { @@ -49,13 +49,13 @@ [disabled]="disablePrimaryButton(type, item)" (mouseenter)="onButtonHover($event)"> @if (type === DataType.Document) { - Open + Open } @else if (type === DataType.SavedView) { - Open + Open } @else if (type === DataType.Workflow || type === DataType.CustomField || type === DataType.Group || type === DataType.User || type === DataType.MailAccount || type === DataType.MailRule) { - Open + Open } @else { - Filter documents + Filter documents } @if (type !== DataType.SavedView && type !== DataType.Workflow && type !== DataType.CustomField && type !== DataType.Group && type !== DataType.User && type !== DataType.MailAccount && type !== DataType.MailRule) { @@ -65,9 +65,9 @@ [disabled]="disableSecondaryButton(type, item)" (mouseenter)="onButtonHover($event)"> @if (type === DataType.Document) { - Download + Download } @else { - Open + Open } } diff --git a/src-ui/src/app/components/app-frame/global-search/global-search.component.scss b/src-ui/src/app/components/app-frame/global-search/global-search.component.scss index 0576a81db5..5e862fce0a 100644 --- a/src-ui/src/app/components/app-frame/global-search/global-search.component.scss +++ b/src-ui/src/app/components/app-frame/global-search/global-search.component.scss @@ -1,7 +1,7 @@ form { position: relative; - > i-bs[name="search"] { + > pngx-bs-icon[name="search"] { position: absolute; left: 0.6rem; top: .25rem; @@ -14,7 +14,7 @@ form { } &:focus-within { - i-bs[name="search"], + pngx-bs-icon[name="search"], .badge { display: none !important; } @@ -72,7 +72,7 @@ form { .dropdown.show { // Hide the search icon when the dropdown is shown - i-bs[name="search"] { + pngx-bs-icon[name="search"] { display: none !important; } diff --git a/src-ui/src/app/components/app-frame/global-search/global-search.component.spec.ts b/src-ui/src/app/components/app-frame/global-search/global-search.component.spec.ts index 015984b401..d1786da92f 100644 --- a/src-ui/src/app/components/app-frame/global-search/global-search.component.spec.ts +++ b/src-ui/src/app/components/app-frame/global-search/global-search.component.spec.ts @@ -10,7 +10,6 @@ import { NgbModalModule, NgbModalRef, } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { of } from 'rxjs' import { DataType } from 'src/app/data/datatype' import { @@ -138,7 +137,6 @@ describe('GlobalSearchComponent', () => { NgbDropdownModule, FormsModule, ReactiveFormsModule, - NgxBootstrapIconsModule.pick(allIcons), GlobalSearchComponent, ], providers: [ diff --git a/src-ui/src/app/components/app-frame/global-search/global-search.component.ts b/src-ui/src/app/components/app-frame/global-search/global-search.component.ts index 80f9ce8c20..1cc3597bd6 100644 --- a/src-ui/src/app/components/app-frame/global-search/global-search.component.ts +++ b/src-ui/src/app/components/app-frame/global-search/global-search.component.ts @@ -17,8 +17,8 @@ import { NgbModal, NgbModalRef, } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' import { Subject, debounceTime, distinctUntilChanged, filter } from 'rxjs' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { DataType } from 'src/app/data/datatype' import { FILTER_FULLTEXT_QUERY, @@ -65,7 +65,7 @@ import { WorkflowEditDialogComponent } from '../../common/edit-dialog/workflow-e CustomDatePipe, FormsModule, ReactiveFormsModule, - NgxBootstrapIconsModule, + BootstrapIconComponent, NgbDropdownModule, NgTemplateOutlet, ], diff --git a/src-ui/src/app/components/app-frame/toasts-dropdown/toasts-dropdown.component.html b/src-ui/src/app/components/app-frame/toasts-dropdown/toasts-dropdown.component.html index 53b28e15da..597690d157 100644 --- a/src-ui/src/app/components/app-frame/toasts-dropdown/toasts-dropdown.component.html +++ b/src-ui/src/app/components/app-frame/toasts-dropdown/toasts-dropdown.component.html @@ -4,7 +4,7 @@ {{ unread().length }} } diff --git a/src-ui/src/app/components/chat/chat/chat.component.spec.ts b/src-ui/src/app/components/chat/chat/chat.component.spec.ts index 7bf4129a9c..b38cef7efa 100644 --- a/src-ui/src/app/components/chat/chat/chat.component.spec.ts +++ b/src-ui/src/app/components/chat/chat/chat.component.spec.ts @@ -4,7 +4,6 @@ import { ElementRef } from '@angular/core' import { ComponentFixture, TestBed } from '@angular/core/testing' import { NavigationEnd, Router } from '@angular/router' import { RouterTestingModule } from '@angular/router/testing' -import { allIcons, NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' import { Subject } from 'rxjs' import { CHAT_METADATA_DELIMITER, @@ -22,11 +21,7 @@ describe('ChatComponent', () => { beforeEach(async () => { TestBed.configureTestingModule({ - imports: [ - NgxBootstrapIconsModule.pick(allIcons), - RouterTestingModule, - ChatComponent, - ], + imports: [RouterTestingModule, ChatComponent], providers: [ provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting(), diff --git a/src-ui/src/app/components/chat/chat/chat.component.ts b/src-ui/src/app/components/chat/chat/chat.component.ts index a69a735c43..f4fbaafb0f 100644 --- a/src-ui/src/app/components/chat/chat/chat.component.ts +++ b/src-ui/src/app/components/chat/chat/chat.component.ts @@ -9,8 +9,8 @@ import { import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { NavigationEnd, Router, RouterModule } from '@angular/router' import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' import { filter, map, Subscription } from 'rxjs' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { MarkdownPipe } from 'src/app/pipes/markdown.pipe' import { ChatMessage, @@ -27,7 +27,7 @@ const SLOW_RESPONSE_DELAY_MS = 8000 FormsModule, ReactiveFormsModule, RouterModule, - NgxBootstrapIconsModule, + BootstrapIconComponent, NgbDropdownModule, MarkdownPipe, ], diff --git a/src-ui/src/app/components/common/bootstrap-icon/bootstrap-icon.component.spec.ts b/src-ui/src/app/components/common/bootstrap-icon/bootstrap-icon.component.spec.ts new file mode 100644 index 0000000000..2846565e75 --- /dev/null +++ b/src-ui/src/app/components/common/bootstrap-icon/bootstrap-icon.component.spec.ts @@ -0,0 +1,61 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing' +import { BootstrapIconComponent } from './bootstrap-icon.component' + +describe('BootstrapIconComponent', () => { + let fixture: ComponentFixture + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [BootstrapIconComponent], + }) + fixture = TestBed.createComponent(BootstrapIconComponent) + }) + + it('should render the named icon as inline svg', () => { + fixture.componentRef.setInput('name', 'arrow-down-up') + fixture.detectChanges() + const svg: SVGElement = fixture.nativeElement.querySelector('svg') + expect(svg.classList).toContain('bi-arrow-down-up') + expect(svg.getAttribute('width')).toEqual('16') + expect(svg.getAttribute('height')).toEqual('16') + }) + + it('should apply width and height', () => { + fixture.componentRef.setInput('name', 'x-lg') + fixture.componentRef.setInput('width', '1.2em') + fixture.componentRef.setInput('height', 2) + fixture.detectChanges() + const svg: SVGElement = fixture.nativeElement.querySelector('svg') + expect(svg.getAttribute('width')).toEqual('1.2em') + expect(svg.getAttribute('height')).toEqual('2') + }) + + it('should not allow width or height to inject attributes', () => { + fixture.componentRef.setInput('name', 'x-lg') + fixture.componentRef.setInput('width', '1" onload="alert(1)') + fixture.componentRef.setInput('height', '1" onclick="alert(1)') + fixture.detectChanges() + const svg: SVGElement = fixture.nativeElement.querySelector('svg') + expect(svg.hasAttribute('onload')).toBe(false) + expect(svg.hasAttribute('onclick')).toBe(false) + expect(svg.getAttribute('width')).toEqual('1" onload="alert(1)') + }) + + it('should update when the name changes', () => { + fixture.componentRef.setInput('name', 'x-lg') + fixture.detectChanges() + fixture.componentRef.setInput('name', 'sliders2-vertical') + fixture.detectChanges() + expect(fixture.nativeElement.querySelector('svg').classList).toContain( + 'bi-sliders2-vertical' + ) + }) + + it('should render nothing and warn for an unregistered icon', () => { + const warnSpy = jest.spyOn(console, 'warn').mockImplementation(() => {}) + fixture.componentRef.setInput('name', 'not-an-icon') + fixture.detectChanges() + expect(fixture.nativeElement.innerHTML).toEqual('') + expect(warnSpy).toHaveBeenCalledWith('Icon not found: not-an-icon') + }) +}) diff --git a/src-ui/src/app/components/common/bootstrap-icon/bootstrap-icon.component.ts b/src-ui/src/app/components/common/bootstrap-icon/bootstrap-icon.component.ts new file mode 100644 index 0000000000..a67d064cc8 --- /dev/null +++ b/src-ui/src/app/components/common/bootstrap-icon/bootstrap-icon.component.ts @@ -0,0 +1,54 @@ +import { + ChangeDetectionStrategy, + Component, + effect, + ElementRef, + inject, + input, +} from '@angular/core' +import { icons } from './icons' + +/** Converts icon name e.g. `arrow-down-up` to its registry key. */ +const toKey = (name: string) => + name.trim().replace(/-(.)/g, (_, char: string) => char.toUpperCase()) + +/** + * Renders an icon from the official bootstrap-icons package as inline SVG. + * Icons must be registered in `./icons.ts`. + */ +@Component({ + selector: 'pngx-bs-icon', + template: '', + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class BootstrapIconComponent { + private readonly elementRef = inject(ElementRef) + + readonly name = input() + readonly width = input() + readonly height = input() + + constructor() { + effect(() => { + const element = this.elementRef.nativeElement + element.innerHTML = this.svg() + const svg = element.firstElementChild + if (!svg) return + const width = this.width() + const height = this.height() + if (width) svg.setAttribute('width', String(width)) + if (height) svg.setAttribute('height', String(height)) + }) + } + + private svg(): string { + const name = this.name() + if (!name) return '' + const svg = icons[toKey(name)] + if (!svg) { + console.warn(`Icon not found: ${name}`) + return '' + } + return svg + } +} diff --git a/src-ui/src/app/components/common/bootstrap-icon/icons.ts b/src-ui/src/app/components/common/bootstrap-icon/icons.ts new file mode 100644 index 0000000000..b3086aafef --- /dev/null +++ b/src-ui/src/app/components/common/bootstrap-icon/icons.ts @@ -0,0 +1,317 @@ +import airplane from 'bootstrap-icons/icons/airplane.svg' +import archive from 'bootstrap-icons/icons/archive.svg' +import arrowClockwise from 'bootstrap-icons/icons/arrow-clockwise.svg' +import arrowCounterclockwise from 'bootstrap-icons/icons/arrow-counterclockwise.svg' +import arrowDownUp from 'bootstrap-icons/icons/arrow-down-up.svg' +import arrowDown from 'bootstrap-icons/icons/arrow-down.svg' +import arrowLeft from 'bootstrap-icons/icons/arrow-left.svg' +import arrowRepeat from 'bootstrap-icons/icons/arrow-repeat.svg' +import arrowReturnLeft from 'bootstrap-icons/icons/arrow-return-left.svg' +import arrowRightShort from 'bootstrap-icons/icons/arrow-right-short.svg' +import arrowRight from 'bootstrap-icons/icons/arrow-right.svg' +import arrowUpRight from 'bootstrap-icons/icons/arrow-up-right.svg' +import asterisk from 'bootstrap-icons/icons/asterisk.svg' +import bank from 'bootstrap-icons/icons/bank.svg' +import basket from 'bootstrap-icons/icons/basket.svg' +import bell from 'bootstrap-icons/icons/bell.svg' +import bodyText from 'bootstrap-icons/icons/body-text.svg' +import bookmark from 'bootstrap-icons/icons/bookmark.svg' +import boxArrowInRight from 'bootstrap-icons/icons/box-arrow-in-right.svg' +import boxArrowUpRight from 'bootstrap-icons/icons/box-arrow-up-right.svg' +import boxArrowUp from 'bootstrap-icons/icons/box-arrow-up.svg' +import boxes from 'bootstrap-icons/icons/boxes.svg' +import braces from 'bootstrap-icons/icons/braces.svg' +import briefcase from 'bootstrap-icons/icons/briefcase.svg' +import building from 'bootstrap-icons/icons/building.svg' +import calculator from 'bootstrap-icons/icons/calculator.svg' +import calendarEventFill from 'bootstrap-icons/icons/calendar-event-fill.svg' +import calendarEvent from 'bootstrap-icons/icons/calendar-event.svg' +import calendar from 'bootstrap-icons/icons/calendar.svg' +import camera from 'bootstrap-icons/icons/camera.svg' +import cardChecklist from 'bootstrap-icons/icons/card-checklist.svg' +import cardHeading from 'bootstrap-icons/icons/card-heading.svg' +import caretDown from 'bootstrap-icons/icons/caret-down.svg' +import caretUp from 'bootstrap-icons/icons/caret-up.svg' +import cash from 'bootstrap-icons/icons/cash.svg' +import chatLeftText from 'bootstrap-icons/icons/chat-left-text.svg' +import chatSquareDots from 'bootstrap-icons/icons/chat-square-dots.svg' +import checkAll from 'bootstrap-icons/icons/check-all.svg' +import checkCircleFill from 'bootstrap-icons/icons/check-circle-fill.svg' +import checkCircle from 'bootstrap-icons/icons/check-circle.svg' +import checkLg from 'bootstrap-icons/icons/check-lg.svg' +import check from 'bootstrap-icons/icons/check.svg' +import check2All from 'bootstrap-icons/icons/check2-all.svg' +import chevronDoubleLeft from 'bootstrap-icons/icons/chevron-double-left.svg' +import chevronDoubleRight from 'bootstrap-icons/icons/chevron-double-right.svg' +import chevronDown from 'bootstrap-icons/icons/chevron-down.svg' +import chevronRight from 'bootstrap-icons/icons/chevron-right.svg' +import chevronUp from 'bootstrap-icons/icons/chevron-up.svg' +import circle from 'bootstrap-icons/icons/circle.svg' +import clipboardCheckFill from 'bootstrap-icons/icons/clipboard-check-fill.svg' +import clipboardCheck from 'bootstrap-icons/icons/clipboard-check.svg' +import clipboardFill from 'bootstrap-icons/icons/clipboard-fill.svg' +import clipboard from 'bootstrap-icons/icons/clipboard.svg' +import clockHistory from 'bootstrap-icons/icons/clock-history.svg' +import cpu from 'bootstrap-icons/icons/cpu.svg' +import creditCard from 'bootstrap-icons/icons/credit-card.svg' +import dashCircle from 'bootstrap-icons/icons/dash-circle.svg' +import dash from 'bootstrap-icons/icons/dash.svg' +import diagram3 from 'bootstrap-icons/icons/diagram-3.svg' +import dice5 from 'bootstrap-icons/icons/dice-5.svg' +import doorOpen from 'bootstrap-icons/icons/door-open.svg' +import download from 'bootstrap-icons/icons/download.svg' +import envelopeAtFill from 'bootstrap-icons/icons/envelope-at-fill.svg' +import envelopeAt from 'bootstrap-icons/icons/envelope-at.svg' +import envelope from 'bootstrap-icons/icons/envelope.svg' +import exclamationCircleFill from 'bootstrap-icons/icons/exclamation-circle-fill.svg' +import exclamationTriangleFill from 'bootstrap-icons/icons/exclamation-triangle-fill.svg' +import exclamationTriangle from 'bootstrap-icons/icons/exclamation-triangle.svg' +import eye from 'bootstrap-icons/icons/eye.svg' +import fileEarmarkArrowUp from 'bootstrap-icons/icons/file-earmark-arrow-up.svg' +import fileEarmarkCheck from 'bootstrap-icons/icons/file-earmark-check.svg' +import fileEarmarkDiff from 'bootstrap-icons/icons/file-earmark-diff.svg' +import fileEarmarkFill from 'bootstrap-icons/icons/file-earmark-fill.svg' +import fileEarmarkLock from 'bootstrap-icons/icons/file-earmark-lock.svg' +import fileEarmarkMedical from 'bootstrap-icons/icons/file-earmark-medical.svg' +import fileEarmarkMinus from 'bootstrap-icons/icons/file-earmark-minus.svg' +import fileEarmarkPerson from 'bootstrap-icons/icons/file-earmark-person.svg' +import fileEarmarkPlus from 'bootstrap-icons/icons/file-earmark-plus.svg' +import fileEarmarkRichtext from 'bootstrap-icons/icons/file-earmark-richtext.svg' +import fileEarmarkSpreadsheet from 'bootstrap-icons/icons/file-earmark-spreadsheet.svg' +import fileEarmark from 'bootstrap-icons/icons/file-earmark.svg' +import fileText from 'bootstrap-icons/icons/file-text.svg' +import files from 'bootstrap-icons/icons/files.svg' +import filter from 'bootstrap-icons/icons/filter.svg' +import floppy from 'bootstrap-icons/icons/floppy.svg' +import folderFill from 'bootstrap-icons/icons/folder-fill.svg' +import folder from 'bootstrap-icons/icons/folder.svg' +import funnel from 'bootstrap-icons/icons/funnel.svg' +import gear from 'bootstrap-icons/icons/gear.svg' +import globe2 from 'bootstrap-icons/icons/globe2.svg' +import google from 'bootstrap-icons/icons/google.svg' +import grid from 'bootstrap-icons/icons/grid.svg' +import gripVertical from 'bootstrap-icons/icons/grip-vertical.svg' +import hash from 'bootstrap-icons/icons/hash.svg' +import hddStack from 'bootstrap-icons/icons/hdd-stack.svg' +import heart from 'bootstrap-icons/icons/heart.svg' +import house from 'bootstrap-icons/icons/house.svg' +import inbox from 'bootstrap-icons/icons/inbox.svg' +import infoCircle from 'bootstrap-icons/icons/info-circle.svg' +import journalBookmarkFill from 'bootstrap-icons/icons/journal-bookmark-fill.svg' +import journals from 'bootstrap-icons/icons/journals.svg' +import lightbulb from 'bootstrap-icons/icons/lightbulb.svg' +import link from 'bootstrap-icons/icons/link.svg' +import listNested from 'bootstrap-icons/icons/list-nested.svg' +import listTask from 'bootstrap-icons/icons/list-task.svg' +import listUl from 'bootstrap-icons/icons/list-ul.svg' +import list from 'bootstrap-icons/icons/list.svg' +import microsoft from 'bootstrap-icons/icons/microsoft.svg' +import newspaper from 'bootstrap-icons/icons/newspaper.svg' +import nodePlus from 'bootstrap-icons/icons/node-plus.svg' +import paperclip from 'bootstrap-icons/icons/paperclip.svg' +import pencil from 'bootstrap-icons/icons/pencil.svg' +import peopleFill from 'bootstrap-icons/icons/people-fill.svg' +import people from 'bootstrap-icons/icons/people.svg' +import personCircle from 'bootstrap-icons/icons/person-circle.svg' +import personFillLock from 'bootstrap-icons/icons/person-fill-lock.svg' +import personFill from 'bootstrap-icons/icons/person-fill.svg' +import personLock from 'bootstrap-icons/icons/person-lock.svg' +import personSquare from 'bootstrap-icons/icons/person-square.svg' +import person from 'bootstrap-icons/icons/person.svg' +import playFill from 'bootstrap-icons/icons/play-fill.svg' +import plusCircle from 'bootstrap-icons/icons/plus-circle.svg' +import plus from 'bootstrap-icons/icons/plus.svg' +import printer from 'bootstrap-icons/icons/printer.svg' +import questionCircle from 'bootstrap-icons/icons/question-circle.svg' +import receipt from 'bootstrap-icons/icons/receipt.svg' +import safe from 'bootstrap-icons/icons/safe.svg' +import scissors from 'bootstrap-icons/icons/scissors.svg' +import search from 'bootstrap-icons/icons/search.svg' +import send from 'bootstrap-icons/icons/send.svg' +import shop from 'bootstrap-icons/icons/shop.svg' +import slashCircle from 'bootstrap-icons/icons/slash-circle.svg' +import sliders2Vertical from 'bootstrap-icons/icons/sliders2-vertical.svg' +import sortAlphaDown from 'bootstrap-icons/icons/sort-alpha-down.svg' +import sortAlphaUpAlt from 'bootstrap-icons/icons/sort-alpha-up-alt.svg' +import stack from 'bootstrap-icons/icons/stack.svg' +import stars from 'bootstrap-icons/icons/stars.svg' +import tagFill from 'bootstrap-icons/icons/tag-fill.svg' +import tag from 'bootstrap-icons/icons/tag.svg' +import tags from 'bootstrap-icons/icons/tags.svg' +import telephone from 'bootstrap-icons/icons/telephone.svg' +import textIndentLeft from 'bootstrap-icons/icons/text-indent-left.svg' +import textLeft from 'bootstrap-icons/icons/text-left.svg' +import threeDotsVertical from 'bootstrap-icons/icons/three-dots-vertical.svg' +import threeDots from 'bootstrap-icons/icons/three-dots.svg' +import trash from 'bootstrap-icons/icons/trash.svg' +import truck from 'bootstrap-icons/icons/truck.svg' +import uiRadios from 'bootstrap-icons/icons/ui-radios.svg' +import unlock from 'bootstrap-icons/icons/unlock.svg' +import upcScan from 'bootstrap-icons/icons/upc-scan.svg' +import wallet2 from 'bootstrap-icons/icons/wallet2.svg' +import windowStack from 'bootstrap-icons/icons/window-stack.svg' +import xCircle from 'bootstrap-icons/icons/x-circle.svg' +import xLg from 'bootstrap-icons/icons/x-lg.svg' +import x from 'bootstrap-icons/icons/x.svg' + +/** + * ``. Only icons registered here are bundled but can add + * new ones (any icon from the bootstrap-icons package) as needed. + */ +export const icons: Record = { + airplane, + archive, + arrowClockwise, + arrowCounterclockwise, + arrowDown, + arrowDownUp, + arrowLeft, + arrowRepeat, + arrowReturnLeft, + arrowRight, + arrowRightShort, + arrowUpRight, + asterisk, + bank, + basket, + bell, + braces, + bodyText, + bookmark, + boxArrowInRight, + boxArrowUp, + boxArrowUpRight, + boxes, + briefcase, + building, + calculator, + calendar, + calendarEvent, + calendarEventFill, + camera, + cardChecklist, + cardHeading, + caretDown, + caretUp, + chatLeftText, + chatSquareDots, + check, + check2All, + checkAll, + checkCircle, + checkCircleFill, + checkLg, + chevronDoubleLeft, + chevronDoubleRight, + chevronDown, + chevronRight, + chevronUp, + circle, + clipboard, + clipboardCheck, + clipboardCheckFill, + clipboardFill, + clockHistory, + cpu, + cash, + creditCard, + dash, + dashCircle, + diagram3, + dice5, + doorOpen, + download, + envelope, + envelopeAt, + envelopeAtFill, + exclamationCircleFill, + exclamationTriangle, + exclamationTriangleFill, + eye, + fileEarmark, + fileEarmarkArrowUp, + fileEarmarkCheck, + fileEarmarkDiff, + fileEarmarkFill, + fileEarmarkLock, + fileEarmarkMedical, + fileEarmarkMinus, + fileEarmarkPerson, + fileEarmarkPlus, + fileEarmarkRichtext, + fileEarmarkSpreadsheet, + files, + fileText, + filter, + floppy, + folder, + folderFill, + funnel, + gear, + globe2, + google, + grid, + gripVertical, + hash, + hddStack, + heart, + house, + inbox, + infoCircle, + journalBookmarkFill, + journals, + lightbulb, + link, + list, + listNested, + listTask, + listUl, + microsoft, + newspaper, + nodePlus, + pencil, + paperclip, + people, + peopleFill, + person, + personCircle, + personFill, + personFillLock, + personLock, + personSquare, + playFill, + plus, + plusCircle, + printer, + questionCircle, + receipt, + safe, + scissors, + search, + send, + slashCircle, + shop, + sliders2Vertical, + sortAlphaDown, + sortAlphaUpAlt, + stack, + stars, + tagFill, + tag, + tags, + textIndentLeft, + textLeft, + telephone, + threeDots, + threeDotsVertical, + trash, + truck, + uiRadios, + unlock, + upcScan, + wallet2, + windowStack, + x, + xCircle, + xLg, +} diff --git a/src-ui/src/app/components/common/clearable-badge/clearable-badge.component.html b/src-ui/src/app/components/common/clearable-badge/clearable-badge.component.html index 7292ba8eaa..f4ade86cc0 100644 --- a/src-ui/src/app/components/common/clearable-badge/clearable-badge.component.html +++ b/src-ui/src/app/components/common/clearable-badge/clearable-badge.component.html @@ -1,11 +1,11 @@ @if (active()) { } diff --git a/src-ui/src/app/components/common/clearable-badge/clearable-badge.component.spec.ts b/src-ui/src/app/components/common/clearable-badge/clearable-badge.component.spec.ts index 50cb5c3bb7..eec6651564 100644 --- a/src-ui/src/app/components/common/clearable-badge/clearable-badge.component.spec.ts +++ b/src-ui/src/app/components/common/clearable-badge/clearable-badge.component.spec.ts @@ -1,5 +1,4 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { ClearableBadgeComponent } from './clearable-badge.component' describe('ClearableBadgeComponent', () => { @@ -8,10 +7,7 @@ describe('ClearableBadgeComponent', () => { beforeEach(async () => { TestBed.configureTestingModule({ - imports: [ - NgxBootstrapIconsModule.pick(allIcons), - ClearableBadgeComponent, - ], + imports: [ClearableBadgeComponent], }).compileComponents() fixture = TestBed.createComponent(ClearableBadgeComponent) diff --git a/src-ui/src/app/components/common/clearable-badge/clearable-badge.component.ts b/src-ui/src/app/components/common/clearable-badge/clearable-badge.component.ts index 0ee3661106..36775674b1 100644 --- a/src-ui/src/app/components/common/clearable-badge/clearable-badge.component.ts +++ b/src-ui/src/app/components/common/clearable-badge/clearable-badge.component.ts @@ -1,11 +1,11 @@ import { Component, computed, EventEmitter, input, Output } from '@angular/core' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' @Component({ selector: 'pngx-clearable-badge', templateUrl: './clearable-badge.component.html', styleUrls: ['./clearable-badge.component.scss'], - imports: [NgxBootstrapIconsModule], + imports: [BootstrapIconComponent], }) export class ClearableBadgeComponent { readonly number = input(undefined) diff --git a/src-ui/src/app/components/common/confirm-button/confirm-button.component.html b/src-ui/src/app/components/common/confirm-button/confirm-button.component.html index f046941231..46617e4bcd 100644 --- a/src-ui/src/app/components/common/confirm-button/confirm-button.component.html +++ b/src-ui/src/app/components/common/confirm-button/confirm-button.component.html @@ -10,7 +10,7 @@ popoverClass="popover-slim" > @if (iconName) { - + } {{label}} diff --git a/src-ui/src/app/components/common/confirm-button/confirm-button.component.spec.ts b/src-ui/src/app/components/common/confirm-button/confirm-button.component.spec.ts index 6f9d3819ca..3076a30d3e 100644 --- a/src-ui/src/app/components/common/confirm-button/confirm-button.component.spec.ts +++ b/src-ui/src/app/components/common/confirm-button/confirm-button.component.spec.ts @@ -1,7 +1,6 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' import { NgbPopoverModule } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { ConfirmButtonComponent } from './confirm-button.component' describe('ConfirmButtonComponent', () => { @@ -10,11 +9,7 @@ describe('ConfirmButtonComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - imports: [ - NgbPopoverModule, - NgxBootstrapIconsModule.pick(allIcons), - ConfirmButtonComponent, - ], + imports: [NgbPopoverModule, ConfirmButtonComponent], }).compileComponents() fixture = TestBed.createComponent(ConfirmButtonComponent) diff --git a/src-ui/src/app/components/common/confirm-button/confirm-button.component.ts b/src-ui/src/app/components/common/confirm-button/confirm-button.component.ts index 7ed79308bb..be32b44458 100644 --- a/src-ui/src/app/components/common/confirm-button/confirm-button.component.ts +++ b/src-ui/src/app/components/common/confirm-button/confirm-button.component.ts @@ -6,13 +6,13 @@ import { ViewChild, } from '@angular/core' import { NgbPopover, NgbPopoverModule } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' @Component({ selector: 'pngx-confirm-button', templateUrl: './confirm-button.component.html', styleUrl: './confirm-button.component.scss', - imports: [NgbPopoverModule, NgxBootstrapIconsModule], + imports: [NgbPopoverModule, BootstrapIconComponent], }) export class ConfirmButtonComponent { @Input() diff --git a/src-ui/src/app/components/common/confirm-dialog/merge-as-versions-confirm-dialog/merge-as-versions-confirm-dialog.component.html b/src-ui/src/app/components/common/confirm-dialog/merge-as-versions-confirm-dialog/merge-as-versions-confirm-dialog.component.html index 283a85bf17..ecd37ce56d 100644 --- a/src-ui/src/app/components/common/confirm-dialog/merge-as-versions-confirm-dialog/merge-as-versions-confirm-dialog.component.html +++ b/src-ui/src/app/components/common/confirm-dialog/merge-as-versions-confirm-dialog/merge-as-versions-confirm-dialog.component.html @@ -22,7 +22,7 @@ @let document = getDocument(documentID); @if (document) {
  • - +
    @if (document.correspondent) { diff --git a/src-ui/src/app/components/common/confirm-dialog/merge-as-versions-confirm-dialog/merge-as-versions-confirm-dialog.component.spec.ts b/src-ui/src/app/components/common/confirm-dialog/merge-as-versions-confirm-dialog/merge-as-versions-confirm-dialog.component.spec.ts index 939eaa31de..6d4074d52d 100644 --- a/src-ui/src/app/components/common/confirm-dialog/merge-as-versions-confirm-dialog/merge-as-versions-confirm-dialog.component.spec.ts +++ b/src-ui/src/app/components/common/confirm-dialog/merge-as-versions-confirm-dialog/merge-as-versions-confirm-dialog.component.spec.ts @@ -2,7 +2,6 @@ import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { of } from 'rxjs' import { DocumentService } from 'src/app/services/rest/document.service' import { MergeAsVersionsConfirmDialogComponent } from './merge-as-versions-confirm-dialog.component' @@ -14,10 +13,7 @@ describe('MergeAsVersionsConfirmDialogComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - imports: [ - NgxBootstrapIconsModule.pick(allIcons), - MergeAsVersionsConfirmDialogComponent, - ], + imports: [MergeAsVersionsConfirmDialogComponent], providers: [ NgbActiveModal, provideHttpClient(withInterceptorsFromDi()), diff --git a/src-ui/src/app/components/common/confirm-dialog/merge-as-versions-confirm-dialog/merge-as-versions-confirm-dialog.component.ts b/src-ui/src/app/components/common/confirm-dialog/merge-as-versions-confirm-dialog/merge-as-versions-confirm-dialog.component.ts index a05e3ab1b2..fc2526c4fb 100644 --- a/src-ui/src/app/components/common/confirm-dialog/merge-as-versions-confirm-dialog/merge-as-versions-confirm-dialog.component.ts +++ b/src-ui/src/app/components/common/confirm-dialog/merge-as-versions-confirm-dialog/merge-as-versions-confirm-dialog.component.ts @@ -6,8 +6,8 @@ import { import { AsyncPipe } from '@angular/common' import { Component, OnInit, computed, inject, signal } from '@angular/core' import { FormsModule } from '@angular/forms' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' import { takeUntil } from 'rxjs' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { Document } from 'src/app/data/document' import { CorrespondentNamePipe } from 'src/app/pipes/correspondent-name.pipe' import { CustomDatePipe } from 'src/app/pipes/custom-date.pipe' @@ -24,7 +24,7 @@ import { ConfirmDialogComponent } from '../confirm-dialog.component' CustomDatePipe, DragDropModule, FormsModule, - NgxBootstrapIconsModule, + BootstrapIconComponent, ], }) export class MergeAsVersionsConfirmDialogComponent diff --git a/src-ui/src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.html b/src-ui/src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.html index a55e63d320..bc30485f61 100644 --- a/src-ui/src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.html +++ b/src-ui/src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.html @@ -15,7 +15,7 @@ @let document = getDocument(documentID); @if (document) {
  • - +
    @if (document.correspondent) { diff --git a/src-ui/src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.spec.ts b/src-ui/src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.spec.ts index e9b99763a6..49774449ac 100644 --- a/src-ui/src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.spec.ts +++ b/src-ui/src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.spec.ts @@ -3,7 +3,6 @@ import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { of } from 'rxjs' import { DocumentService } from 'src/app/services/rest/document.service' import { MergeConfirmDialogComponent } from './merge-confirm-dialog.component' @@ -15,12 +14,7 @@ describe('MergeConfirmDialogComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - imports: [ - NgxBootstrapIconsModule.pick(allIcons), - ReactiveFormsModule, - FormsModule, - MergeConfirmDialogComponent, - ], + imports: [ReactiveFormsModule, FormsModule, MergeConfirmDialogComponent], providers: [ NgbActiveModal, provideHttpClient(withInterceptorsFromDi()), diff --git a/src-ui/src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.ts b/src-ui/src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.ts index e852e5a933..d924d3ee80 100644 --- a/src-ui/src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.ts +++ b/src-ui/src/app/components/common/confirm-dialog/merge-confirm-dialog/merge-confirm-dialog.component.ts @@ -6,8 +6,8 @@ import { import { AsyncPipe } from '@angular/common' import { Component, OnInit, inject, signal } from '@angular/core' import { FormsModule, ReactiveFormsModule } from '@angular/forms' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' import { takeUntil } from 'rxjs' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { Document } from 'src/app/data/document' import { CorrespondentNamePipe } from 'src/app/pipes/correspondent-name.pipe' import { CustomDatePipe } from 'src/app/pipes/custom-date.pipe' @@ -26,7 +26,7 @@ import { ConfirmDialogComponent } from '../confirm-dialog.component' DragDropModule, FormsModule, ReactiveFormsModule, - NgxBootstrapIconsModule, + BootstrapIconComponent, ], }) export class MergeConfirmDialogComponent diff --git a/src-ui/src/app/components/common/confirm-dialog/password-removal-confirm-dialog/password-removal-confirm-dialog.component.html b/src-ui/src/app/components/common/confirm-dialog/password-removal-confirm-dialog/password-removal-confirm-dialog.component.html index 56bf87433f..d351112f52 100644 --- a/src-ui/src/app/components/common/confirm-dialog/password-removal-confirm-dialog/password-removal-confirm-dialog.component.html +++ b/src-ui/src/app/components/common/confirm-dialog/password-removal-confirm-dialog/password-removal-confirm-dialog.component.html @@ -18,7 +18,7 @@ (ngModelChange)="onUpdateDocumentChange($event)" />
    diff --git a/src-ui/src/app/components/common/confirm-dialog/password-removal-confirm-dialog/password-removal-confirm-dialog.component.spec.ts b/src-ui/src/app/components/common/confirm-dialog/password-removal-confirm-dialog/password-removal-confirm-dialog.component.spec.ts index a1449511b0..217663b55c 100644 --- a/src-ui/src/app/components/common/confirm-dialog/password-removal-confirm-dialog/password-removal-confirm-dialog.component.spec.ts +++ b/src-ui/src/app/components/common/confirm-dialog/password-removal-confirm-dialog/password-removal-confirm-dialog.component.spec.ts @@ -1,7 +1,6 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' import { By } from '@angular/platform-browser' import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { PasswordRemovalConfirmDialogComponent } from './password-removal-confirm-dialog.component' describe('PasswordRemovalConfirmDialogComponent', () => { @@ -11,10 +10,7 @@ describe('PasswordRemovalConfirmDialogComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ providers: [NgbActiveModal], - imports: [ - NgxBootstrapIconsModule.pick(allIcons), - PasswordRemovalConfirmDialogComponent, - ], + imports: [PasswordRemovalConfirmDialogComponent], }).compileComponents() fixture = TestBed.createComponent(PasswordRemovalConfirmDialogComponent) diff --git a/src-ui/src/app/components/common/confirm-dialog/password-removal-confirm-dialog/password-removal-confirm-dialog.component.ts b/src-ui/src/app/components/common/confirm-dialog/password-removal-confirm-dialog/password-removal-confirm-dialog.component.ts index 28e78fc881..cdfd973fcc 100644 --- a/src-ui/src/app/components/common/confirm-dialog/password-removal-confirm-dialog/password-removal-confirm-dialog.component.ts +++ b/src-ui/src/app/components/common/confirm-dialog/password-removal-confirm-dialog/password-removal-confirm-dialog.component.ts @@ -1,13 +1,13 @@ import { Component } from '@angular/core' import { FormsModule } from '@angular/forms' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { ConfirmDialogComponent } from '../confirm-dialog.component' @Component({ selector: 'pngx-password-removal-confirm-dialog', templateUrl: './password-removal-confirm-dialog.component.html', styleUrls: ['./password-removal-confirm-dialog.component.scss'], - imports: [FormsModule, NgxBootstrapIconsModule], + imports: [FormsModule, BootstrapIconComponent], }) export class PasswordRemovalConfirmDialogComponent extends ConfirmDialogComponent { updateDocument: boolean = true diff --git a/src-ui/src/app/components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component.html b/src-ui/src/app/components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component.html index bba27b1b60..3cf427f565 100644 --- a/src-ui/src/app/components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component.html +++ b/src-ui/src/app/components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component.html @@ -7,7 +7,7 @@
    @@ -17,7 +17,7 @@
    diff --git a/src-ui/src/app/components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component.spec.ts b/src-ui/src/app/components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component.spec.ts index 6e0bca287d..91aa7a9804 100644 --- a/src-ui/src/app/components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component.spec.ts +++ b/src-ui/src/app/components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component.spec.ts @@ -2,7 +2,6 @@ import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { RotateConfirmDialogComponent } from './rotate-confirm-dialog.component' describe('RotateConfirmDialogComponent', () => { @@ -11,10 +10,7 @@ describe('RotateConfirmDialogComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - imports: [ - NgxBootstrapIconsModule.pick(allIcons), - RotateConfirmDialogComponent, - ], + imports: [RotateConfirmDialogComponent], providers: [ NgbActiveModal, provideHttpClient(withInterceptorsFromDi()), diff --git a/src-ui/src/app/components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component.ts b/src-ui/src/app/components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component.ts index 18d844ef92..395d0aa517 100644 --- a/src-ui/src/app/components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component.ts +++ b/src-ui/src/app/components/common/confirm-dialog/rotate-confirm-dialog/rotate-confirm-dialog.component.ts @@ -1,6 +1,6 @@ import { NgStyle } from '@angular/common' import { Component, inject, signal } from '@angular/core' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { DocumentService } from 'src/app/services/rest/document.service' import { ConfirmDialogComponent } from '../confirm-dialog.component' @@ -8,7 +8,7 @@ import { ConfirmDialogComponent } from '../confirm-dialog.component' selector: 'pngx-rotate-confirm-dialog', templateUrl: './rotate-confirm-dialog.component.html', styleUrl: './rotate-confirm-dialog.component.scss', - imports: [NgStyle, NgxBootstrapIconsModule], + imports: [NgStyle, BootstrapIconComponent], }) export class RotateConfirmDialogComponent extends ConfirmDialogComponent { documentService = inject(DocumentService) diff --git a/src-ui/src/app/components/common/custom-field-display/custom-field-display.component.html b/src-ui/src/app/components/common/custom-field-display/custom-field-display.component.html index 656cae3392..3506b5ea28 100644 --- a/src-ui/src/app/components/common/custom-field-display/custom-field-display.component.html +++ b/src-ui/src/app/components/common/custom-field-display/custom-field-display.component.html @@ -20,7 +20,7 @@ @for (docId of value; track docId) { @if (getDocumentTitle(docId)) { - {{ getDocumentTitle(docId) }} + {{ getDocumentTitle(docId) }} } } diff --git a/src-ui/src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.html b/src-ui/src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.html index 2adeaad9b0..11a5b56aae 100644 --- a/src-ui/src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.html +++ b/src-ui/src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.html @@ -1,6 +1,6 @@
    @@ -16,7 +16,7 @@ } @if (!filterText?.length || filteredFields.length === 0) { }
    diff --git a/src-ui/src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.spec.ts b/src-ui/src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.spec.ts index e00a6e0d14..57fcd798e0 100644 --- a/src-ui/src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.spec.ts +++ b/src-ui/src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.spec.ts @@ -10,7 +10,6 @@ import { NgbModalRef, } from '@ng-bootstrap/ng-bootstrap' import { NgSelectModule } from '@ng-select/ng-select' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { of } from 'rxjs' import { CustomField, CustomFieldDataType } from 'src/app/data/custom-field' import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' @@ -49,7 +48,6 @@ describe('CustomFieldsDropdownComponent', () => { ReactiveFormsModule, NgbModalModule, NgbDropdownModule, - NgxBootstrapIconsModule.pick(allIcons), CustomFieldsDropdownComponent, SelectComponent, ], diff --git a/src-ui/src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.ts b/src-ui/src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.ts index 6d920742ab..d822bb373e 100644 --- a/src-ui/src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.ts +++ b/src-ui/src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.ts @@ -12,8 +12,8 @@ import { } from '@angular/core' import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { NgbDropdownModule, NgbModal } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' import { first, takeUntil } from 'rxjs' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { CustomField, DATA_TYPE_LABELS } from 'src/app/data/custom-field' import { CustomFieldInstance } from 'src/app/data/custom-field-instance' import { @@ -34,7 +34,7 @@ import { CustomFieldEditDialogComponent } from '../edit-dialog/custom-field-edit styleUrls: ['./custom-fields-dropdown.component.scss'], imports: [ NgbDropdownModule, - NgxBootstrapIconsModule, + BootstrapIconComponent, FormsModule, ReactiveFormsModule, ], diff --git a/src-ui/src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html b/src-ui/src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html index b04b207adf..51b21b18d2 100644 --- a/src-ui/src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html +++ b/src-ui/src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html @@ -1,7 +1,7 @@ @if (useDropdown) {
    @@ -187,7 +187,7 @@ }
    @@ -221,14 +221,14 @@
    @if (expression.depth > 0) { }
    diff --git a/src-ui/src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.spec.ts b/src-ui/src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.spec.ts index 7062be77ad..5439af84b3 100644 --- a/src-ui/src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.spec.ts +++ b/src-ui/src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.spec.ts @@ -5,7 +5,6 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { NgbDateAdapter, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap' import { NgSelectModule } from '@ng-select/ng-select' -import { allIcons, NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' import { of } from 'rxjs' import { CustomField, CustomFieldDataType } from 'src/app/data/custom-field' import { @@ -67,7 +66,6 @@ describe('CustomFieldsQueryDropdownComponent', () => { await TestBed.configureTestingModule({ imports: [ NgbDropdownModule, - NgxBootstrapIconsModule.pick(allIcons), NgSelectModule, FormsModule, ReactiveFormsModule, diff --git a/src-ui/src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.ts b/src-ui/src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.ts index 874655e11d..b93f119c7a 100644 --- a/src-ui/src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.ts +++ b/src-ui/src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.ts @@ -24,8 +24,8 @@ import { NgbDropdownModule, } from '@ng-bootstrap/ng-bootstrap' import { NgSelectComponent, NgSelectModule } from '@ng-select/ng-select' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' import { first, Subject, Subscription, takeUntil } from 'rxjs' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { CustomField, CustomFieldDataType } from 'src/app/data/custom-field' import { CUSTOM_FIELD_QUERY_MAX_ATOMS, @@ -235,7 +235,7 @@ export class CustomFieldQueriesModel { NgClass, NgTemplateOutlet, NgSelectModule, - NgxBootstrapIconsModule, + BootstrapIconComponent, NgbDropdownModule, ], }) diff --git a/src-ui/src/app/components/common/dates-dropdown/dates-dropdown.component.html b/src-ui/src/app/components/common/dates-dropdown/dates-dropdown.component.html index cb540316f4..76e883fc18 100644 --- a/src-ui/src/app/components/common/dates-dropdown/dates-dropdown.component.html +++ b/src-ui/src/app/components/common/dates-dropdown/dates-dropdown.component.html @@ -1,6 +1,6 @@
  • diff --git a/src-ui/src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts b/src-ui/src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts index a89c87cf92..4a89b22778 100644 --- a/src-ui/src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts +++ b/src-ui/src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts @@ -15,8 +15,8 @@ import { ReactiveFormsModule, } from '@angular/forms' import { NgbAccordionModule } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' import { Subscription, catchError, map, of, takeUntil } from 'rxjs' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { Correspondent } from 'src/app/data/correspondent' import { CustomField, CustomFieldDataType } from 'src/app/data/custom-field' import { DocumentType } from 'src/app/data/document-type' @@ -496,7 +496,7 @@ const FILTER_HANDLERS: Record = { NgbAccordionModule, NgTemplateOutlet, DragDropModule, - NgxBootstrapIconsModule, + BootstrapIconComponent, ], }) export class WorkflowEditDialogComponent diff --git a/src-ui/src/app/components/common/email-document-dialog/email-document-dialog.component.spec.ts b/src-ui/src/app/components/common/email-document-dialog/email-document-dialog.component.spec.ts index ca078bab6a..5302fcddc6 100644 --- a/src-ui/src/app/components/common/email-document-dialog/email-document-dialog.component.spec.ts +++ b/src-ui/src/app/components/common/email-document-dialog/email-document-dialog.component.spec.ts @@ -3,7 +3,6 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { of, throwError } from 'rxjs' import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' import { PermissionsService } from 'src/app/services/permissions.service' @@ -20,11 +19,7 @@ describe('EmailDocumentDialogComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - imports: [ - EmailDocumentDialogComponent, - IfPermissionsDirective, - NgxBootstrapIconsModule.pick(allIcons), - ], + imports: [EmailDocumentDialogComponent, IfPermissionsDirective], providers: [ provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting(), diff --git a/src-ui/src/app/components/common/email-document-dialog/email-document-dialog.component.ts b/src-ui/src/app/components/common/email-document-dialog/email-document-dialog.component.ts index c97d8be0f5..2c16f1fb40 100644 --- a/src-ui/src/app/components/common/email-document-dialog/email-document-dialog.component.ts +++ b/src-ui/src/app/components/common/email-document-dialog/email-document-dialog.component.ts @@ -1,7 +1,6 @@ import { Component, effect, inject, signal } from '@angular/core' import { FormsModule } from '@angular/forms' import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' import { DocumentService } from 'src/app/services/rest/document.service' import { ToastService } from 'src/app/services/toast.service' import { LoadingComponentWithPermissions } from '../../loading-component/loading.component' @@ -10,7 +9,7 @@ import { LoadingComponentWithPermissions } from '../../loading-component/loading selector: 'pngx-email-document-dialog', templateUrl: './email-document-dialog.component.html', styleUrl: './email-document-dialog.component.scss', - imports: [FormsModule, NgxBootstrapIconsModule], + imports: [FormsModule], }) export class EmailDocumentDialogComponent extends LoadingComponentWithPermissions { private activeModal = inject(NgbActiveModal) diff --git a/src-ui/src/app/components/common/filterable-dropdown/filterable-dropdown.component.html b/src-ui/src/app/components/common/filterable-dropdown/filterable-dropdown.component.html index 939ab6ba2a..ee27dc3454 100644 --- a/src-ui/src/app/components/common/filterable-dropdown/filterable-dropdown.component.html +++ b/src-ui/src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -1,6 +1,6 @@
    } @if (filteredItems.length > 0) { } } @if (extraButtonTitle && (showExtraButtonIfEmpty || filteredItems?.length > 0)) { } @if (!editing && manyToOne) { diff --git a/src-ui/src/app/components/common/filterable-dropdown/filterable-dropdown.component.spec.ts b/src-ui/src/app/components/common/filterable-dropdown/filterable-dropdown.component.spec.ts index 7cf2083aa0..7eb75026a0 100644 --- a/src-ui/src/app/components/common/filterable-dropdown/filterable-dropdown.component.spec.ts +++ b/src-ui/src/app/components/common/filterable-dropdown/filterable-dropdown.component.spec.ts @@ -2,7 +2,6 @@ import { ScrollingModule } from '@angular/cdk/scrolling' import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { NEVER, Subject } from 'rxjs' import { NEGATIVE_NULL_FILTER_VALUE } from 'src/app/data/filter-rule-type' import { @@ -63,7 +62,7 @@ describe('FilterableDropdownComponent & FilterableDropdownSelectionModel', () => provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting(), ], - imports: [NgxBootstrapIconsModule.pick(allIcons), ScrollingModule], + imports: [ScrollingModule], }).compileComponents() hotkeyService = TestBed.inject(HotKeyService) diff --git a/src-ui/src/app/components/common/filterable-dropdown/filterable-dropdown.component.ts b/src-ui/src/app/components/common/filterable-dropdown/filterable-dropdown.component.ts index fdebc7003a..8463cb0d36 100644 --- a/src-ui/src/app/components/common/filterable-dropdown/filterable-dropdown.component.ts +++ b/src-ui/src/app/components/common/filterable-dropdown/filterable-dropdown.component.ts @@ -20,8 +20,8 @@ import { NgbDropdownModule, NgbModalRef, } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' import { Subject, filter, first, merge, takeUntil } from 'rxjs' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { NEGATIVE_NULL_FILTER_VALUE } from 'src/app/data/filter-rule-type' import { MatchingModel } from 'src/app/data/matching-model' import { ObjectWithPermissions } from 'src/app/data/object-with-permissions' @@ -706,7 +706,7 @@ export class FilterableDropdownSelectionModel { ToggleableDropdownButtonComponent, FormsModule, ReactiveFormsModule, - NgxBootstrapIconsModule, + BootstrapIconComponent, NgbDropdownModule, NgClass, ScrollingModule, diff --git a/src-ui/src/app/components/common/filterable-dropdown/toggleable-dropdown-button/toggleable-dropdown-button.component.html b/src-ui/src/app/components/common/filterable-dropdown/toggleable-dropdown-button/toggleable-dropdown-button.component.html index a940ac7335..f9da7f8ccc 100644 --- a/src-ui/src/app/components/common/filterable-dropdown/toggleable-dropdown-button/toggleable-dropdown-button.component.html +++ b/src-ui/src/app/components/common/filterable-dropdown/toggleable-dropdown-button/toggleable-dropdown-button.component.html @@ -6,13 +6,13 @@ [disabled]="disabled">
    @if (isChecked()) { - + } @if (isPartiallyChecked()) { - + } @if (isExcluded()) { - + }
    diff --git a/src-ui/src/app/components/common/filterable-dropdown/toggleable-dropdown-button/toggleable-dropdown-button.component.ts b/src-ui/src/app/components/common/filterable-dropdown/toggleable-dropdown-button/toggleable-dropdown-button.component.ts index 4d202580c8..8c4cc02f9b 100644 --- a/src-ui/src/app/components/common/filterable-dropdown/toggleable-dropdown-button/toggleable-dropdown-button.component.ts +++ b/src-ui/src/app/components/common/filterable-dropdown/toggleable-dropdown-button/toggleable-dropdown-button.component.ts @@ -1,5 +1,5 @@ import { Component, EventEmitter, Input, Output } from '@angular/core' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { MatchingModel } from 'src/app/data/matching-model' import { Tag } from 'src/app/data/tag' import { TagComponent } from '../../tag/tag.component' @@ -15,7 +15,7 @@ export enum ToggleableItemState { selector: 'pngx-toggleable-dropdown-button', templateUrl: './toggleable-dropdown-button.component.html', styleUrls: ['./toggleable-dropdown-button.component.scss'], - imports: [TagComponent, NgxBootstrapIconsModule], + imports: [TagComponent, BootstrapIconComponent], }) export class ToggleableDropdownButtonComponent { @Input() diff --git a/src-ui/src/app/components/common/input/check/check.component.html b/src-ui/src/app/components/common/input/check/check.component.html index e3dab36eae..3aa2c8927c 100644 --- a/src-ui/src/app/components/common/input/check/check.component.html +++ b/src-ui/src/app/components/common/input/check/check.component.html @@ -5,7 +5,7 @@ @if (removable) { }
    diff --git a/src-ui/src/app/components/common/input/check/check.component.ts b/src-ui/src/app/components/common/input/check/check.component.ts index 82e2667243..53f995a081 100644 --- a/src-ui/src/app/components/common/input/check/check.component.ts +++ b/src-ui/src/app/components/common/input/check/check.component.ts @@ -5,7 +5,7 @@ import { NG_VALUE_ACCESSOR, ReactiveFormsModule, } from '@angular/forms' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { AbstractInputComponent } from '../abstract-input' @Component({ @@ -19,7 +19,7 @@ import { AbstractInputComponent } from '../abstract-input' selector: 'pngx-input-check', templateUrl: './check.component.html', styleUrls: ['./check.component.scss'], - imports: [FormsModule, ReactiveFormsModule, NgClass, NgxBootstrapIconsModule], + imports: [FormsModule, ReactiveFormsModule, NgClass, BootstrapIconComponent], }) export class CheckComponent extends AbstractInputComponent { constructor() { diff --git a/src-ui/src/app/components/common/input/color/color.component.html b/src-ui/src/app/components/common/input/color/color.component.html index 90e5c3ebf9..8a513a6f6c 100644 --- a/src-ui/src/app/components/common/input/color/color.component.html +++ b/src-ui/src/app/components/common/input/color/color.component.html @@ -15,7 +15,7 @@
    diff --git a/src-ui/src/app/components/common/input/color/color.component.spec.ts b/src-ui/src/app/components/common/input/color/color.component.spec.ts index 427a878734..8727870101 100644 --- a/src-ui/src/app/components/common/input/color/color.component.spec.ts +++ b/src-ui/src/app/components/common/input/color/color.component.spec.ts @@ -5,7 +5,6 @@ import { ReactiveFormsModule, } from '@angular/forms' import { NgbPopoverModule } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { ColorSliderModule } from 'ngx-color/slider' import { ColorComponent } from './color.component' @@ -22,7 +21,6 @@ describe('ColorComponent', () => { ReactiveFormsModule, NgbPopoverModule, ColorSliderModule, - NgxBootstrapIconsModule.pick(allIcons), ColorComponent, ], }).compileComponents() diff --git a/src-ui/src/app/components/common/input/color/color.component.ts b/src-ui/src/app/components/common/input/color/color.component.ts index 5f83d593f4..f31721f712 100644 --- a/src-ui/src/app/components/common/input/color/color.component.ts +++ b/src-ui/src/app/components/common/input/color/color.component.ts @@ -5,8 +5,8 @@ import { ReactiveFormsModule, } from '@angular/forms' import { NgbPopoverModule } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' import { ColorSliderModule } from 'ngx-color/slider' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { randomColor } from 'src/app/utils/color' import { AbstractInputComponent } from '../abstract-input' @@ -22,7 +22,7 @@ import { AbstractInputComponent } from '../abstract-input' templateUrl: './color.component.html', styleUrls: ['./color.component.scss'], imports: [ - NgxBootstrapIconsModule, + BootstrapIconComponent, NgbPopoverModule, FormsModule, ReactiveFormsModule, diff --git a/src-ui/src/app/components/common/input/custom-fields-values/custom-fields-values.component.html b/src-ui/src/app/components/common/input/custom-fields-values/custom-fields-values.component.html index 46dd4f5ab1..056ad0515c 100644 --- a/src-ui/src/app/components/common/input/custom-fields-values/custom-fields-values.component.html +++ b/src-ui/src/app/components/common/input/custom-fields-values/custom-fields-values.component.html @@ -75,7 +75,7 @@ } }
    } diff --git a/src-ui/src/app/components/common/input/custom-fields-values/custom-fields-values.component.ts b/src-ui/src/app/components/common/input/custom-fields-values/custom-fields-values.component.ts index 65a2bea8a6..76832c33bb 100644 --- a/src-ui/src/app/components/common/input/custom-fields-values/custom-fields-values.component.ts +++ b/src-ui/src/app/components/common/input/custom-fields-values/custom-fields-values.component.ts @@ -14,7 +14,7 @@ import { } from '@angular/forms' import { RouterModule } from '@angular/router' import { NgSelectModule } from '@ng-select/ng-select' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { CustomField, CustomFieldDataType } from 'src/app/data/custom-field' import { CustomFieldsService } from 'src/app/services/rest/custom-fields.service' import { AbstractInputComponent } from '../abstract-input' @@ -52,7 +52,7 @@ import { UrlComponent } from '../url/url.component' FormsModule, ReactiveFormsModule, RouterModule, - NgxBootstrapIconsModule, + BootstrapIconComponent, TextAreaComponent, ], }) diff --git a/src-ui/src/app/components/common/input/date/date.component.html b/src-ui/src/app/components/common/input/date/date.component.html index a60cbf8baf..9eb7fb0d2c 100644 --- a/src-ui/src/app/components/common/input/date/date.component.html +++ b/src-ui/src/app/components/common/input/date/date.component.html @@ -4,7 +4,7 @@ @if (removable) { }
    @@ -14,7 +14,7 @@ (dateSelect)="onChange(value)" (change)="onChange(value)" (keypress)="onKeyPress($event)" (paste)="onPaste($event)" name="dp" [(ngModel)]="value" [ngModelOptions]="{standalone: true}" ngbDatepicker #datePicker="ngbDatepicker" #datePickerContent="ngModel" [disabled]="disabled" [footerTemplate]="datePickerFooterTemplate">
    @@ -24,7 +24,7 @@ @if (showFilter) { }
    diff --git a/src-ui/src/app/components/common/input/date/date.component.spec.ts b/src-ui/src/app/components/common/input/date/date.component.spec.ts index c8bf9b2e21..ca98d38494 100644 --- a/src-ui/src/app/components/common/input/date/date.component.spec.ts +++ b/src-ui/src/app/components/common/input/date/date.component.spec.ts @@ -4,7 +4,6 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' import { NG_VALUE_ACCESSOR } from '@angular/forms' import { RouterModule } from '@angular/router' import { NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { routes } from 'src/app/app-routing.module' import { LocalizedDateParserFormatter } from 'src/app/utils/ngb-date-parser-formatter' import { DateComponent } from './date.component' @@ -16,10 +15,7 @@ describe('DateComponent', () => { beforeEach(async () => { TestBed.configureTestingModule({ - imports: [ - NgxBootstrapIconsModule.pick(allIcons), - RouterModule.forRoot(routes), - ], + imports: [RouterModule.forRoot(routes)], providers: [ { provide: NgbDateParserFormatter, diff --git a/src-ui/src/app/components/common/input/date/date.component.ts b/src-ui/src/app/components/common/input/date/date.component.ts index 5a10cce188..94979760ae 100644 --- a/src-ui/src/app/components/common/input/date/date.component.ts +++ b/src-ui/src/app/components/common/input/date/date.component.ts @@ -19,7 +19,7 @@ import { NgbDatepickerModule, NgbDateStruct, } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { SettingsService } from 'src/app/services/settings.service' import { AbstractInputComponent } from '../abstract-input' @@ -39,7 +39,7 @@ import { AbstractInputComponent } from '../abstract-input' FormsModule, ReactiveFormsModule, RouterModule, - NgxBootstrapIconsModule, + BootstrapIconComponent, ], }) export class DateComponent diff --git a/src-ui/src/app/components/common/input/document-link/document-link.component.html b/src-ui/src/app/components/common/input/document-link/document-link.component.html index 4630422a96..39a84ac5c3 100644 --- a/src-ui/src/app/components/common/input/document-link/document-link.component.html +++ b/src-ui/src/app/components/common/input/document-link/document-link.component.html @@ -9,7 +9,7 @@ } @if (removable) { }
    @@ -41,15 +41,15 @@
    @if (!disabled) { - + } @if (document.title) { - {{document.title}} + {{document.title}} } @else { - Unavailable + Unavailable }
    diff --git a/src-ui/src/app/components/common/input/document-link/document-link.component.scss b/src-ui/src/app/components/common/input/document-link/document-link.component.scss index c838868444..e42769c71a 100644 --- a/src-ui/src/app/components/common/input/document-link/document-link.component.scss +++ b/src-ui/src/app/components/common/input/document-link/document-link.component.scss @@ -19,7 +19,7 @@ } } -i-bs { +pngx-bs-icon { cursor: pointer; } diff --git a/src-ui/src/app/components/common/input/document-link/document-link.component.spec.ts b/src-ui/src/app/components/common/input/document-link/document-link.component.spec.ts index be479f2a4f..630e9d050b 100644 --- a/src-ui/src/app/components/common/input/document-link/document-link.component.spec.ts +++ b/src-ui/src/app/components/common/input/document-link/document-link.component.spec.ts @@ -5,7 +5,6 @@ import { NG_VALUE_ACCESSOR } from '@angular/forms' import { By } from '@angular/platform-browser' import { provideRouter } from '@angular/router' import { NgSelectComponent } from '@ng-select/ng-select' -import { allIcons, NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' import { of, Subject, throwError } from 'rxjs' import { FILTER_SIMPLE_TITLE } from 'src/app/data/filter-rule-type' import { DocumentService } from 'src/app/services/rest/document.service' @@ -37,7 +36,7 @@ describe('DocumentLinkComponent', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DocumentLinkComponent, NgxBootstrapIconsModule.pick(allIcons)], + imports: [DocumentLinkComponent], providers: [ provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting(), diff --git a/src-ui/src/app/components/common/input/document-link/document-link.component.ts b/src-ui/src/app/components/common/input/document-link/document-link.component.ts index fb8106d1db..cec2f158ea 100644 --- a/src-ui/src/app/components/common/input/document-link/document-link.component.ts +++ b/src-ui/src/app/components/common/input/document-link/document-link.component.ts @@ -15,7 +15,6 @@ import { } from '@angular/forms' import { RouterModule } from '@angular/router' import { NgSelectModule } from '@ng-select/ng-select' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' import { catchError, concat, @@ -28,6 +27,7 @@ import { takeUntil, tap, } from 'rxjs' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { Document } from 'src/app/data/document' import { FILTER_SIMPLE_TITLE } from 'src/app/data/filter-rule-type' import { CustomDatePipe } from 'src/app/pipes/custom-date.pipe' @@ -53,7 +53,7 @@ import { AbstractInputComponent } from '../abstract-input' RouterModule, NgTemplateOutlet, NgSelectModule, - NgxBootstrapIconsModule, + BootstrapIconComponent, ], }) export class DocumentLinkComponent diff --git a/src-ui/src/app/components/common/input/entries/entries.component.html b/src-ui/src/app/components/common/input/entries/entries.component.html index ed69d87781..6e92ce202d 100644 --- a/src-ui/src/app/components/common/input/entries/entries.component.html +++ b/src-ui/src/app/components/common/input/entries/entries.component.html @@ -5,7 +5,7 @@ }
    @@ -14,7 +14,7 @@
    } diff --git a/src-ui/src/app/components/common/input/entries/entries.component.spec.ts b/src-ui/src/app/components/common/input/entries/entries.component.spec.ts index 692b9c0b87..9b8f946cfc 100644 --- a/src-ui/src/app/components/common/input/entries/entries.component.spec.ts +++ b/src-ui/src/app/components/common/input/entries/entries.component.spec.ts @@ -4,7 +4,6 @@ import { NG_VALUE_ACCESSOR, ReactiveFormsModule, } from '@angular/forms' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { EntriesComponent } from './entries.component' describe('EntriesComponent', () => { @@ -13,12 +12,7 @@ describe('EntriesComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - imports: [ - FormsModule, - ReactiveFormsModule, - NgxBootstrapIconsModule.pick(allIcons), - EntriesComponent, - ], + imports: [FormsModule, ReactiveFormsModule, EntriesComponent], }).compileComponents() }) diff --git a/src-ui/src/app/components/common/input/entries/entries.component.ts b/src-ui/src/app/components/common/input/entries/entries.component.ts index cbf5de1d4e..6af3196363 100644 --- a/src-ui/src/app/components/common/input/entries/entries.component.ts +++ b/src-ui/src/app/components/common/input/entries/entries.component.ts @@ -4,7 +4,7 @@ import { NG_VALUE_ACCESSOR, ReactiveFormsModule, } from '@angular/forms' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { AbstractInputComponent } from '../abstract-input' @Component({ @@ -18,7 +18,7 @@ import { AbstractInputComponent } from '../abstract-input' selector: 'pngx-input-entries', templateUrl: './entries.component.html', styleUrl: './entries.component.scss', - imports: [FormsModule, ReactiveFormsModule, NgxBootstrapIconsModule], + imports: [FormsModule, ReactiveFormsModule, BootstrapIconComponent], }) export class EntriesComponent extends AbstractInputComponent { entries = [] diff --git a/src-ui/src/app/components/common/input/file/file.component.html b/src-ui/src/app/components/common/input/file/file.component.html index c23f31ef6a..bfbbab4ad4 100644 --- a/src-ui/src/app/components/common/input/file/file.component.html +++ b/src-ui/src/app/components/common/input/file/file.component.html @@ -6,7 +6,7 @@ } @if (removable) { } @@ -18,7 +18,7 @@
    {{filename}}
    } diff --git a/src-ui/src/app/components/common/input/monetary/monetary.component.html b/src-ui/src/app/components/common/input/monetary/monetary.component.html index be23eadaaf..a94cb1d73e 100644 --- a/src-ui/src/app/components/common/input/monetary/monetary.component.html +++ b/src-ui/src/app/components/common/input/monetary/monetary.component.html @@ -6,7 +6,7 @@ } @if (removable) { } diff --git a/src-ui/src/app/components/common/input/monetary/monetary.component.ts b/src-ui/src/app/components/common/input/monetary/monetary.component.ts index b0d6c5b09e..8f6a7c84f6 100644 --- a/src-ui/src/app/components/common/input/monetary/monetary.component.ts +++ b/src-ui/src/app/components/common/input/monetary/monetary.component.ts @@ -5,7 +5,7 @@ import { NG_VALUE_ACCESSOR, ReactiveFormsModule, } from '@angular/forms' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { AbstractInputComponent } from '../abstract-input' @Component({ @@ -23,7 +23,7 @@ import { AbstractInputComponent } from '../abstract-input' CurrencyPipe, FormsModule, ReactiveFormsModule, - NgxBootstrapIconsModule, + BootstrapIconComponent, ], }) export class MonetaryComponent extends AbstractInputComponent { diff --git a/src-ui/src/app/components/common/input/number/number.component.html b/src-ui/src/app/components/common/input/number/number.component.html index 3066d100ea..bbbf6fb576 100644 --- a/src-ui/src/app/components/common/input/number/number.component.html +++ b/src-ui/src/app/components/common/input/number/number.component.html @@ -6,7 +6,7 @@ } @if (removable) { } diff --git a/src-ui/src/app/components/common/input/number/number.component.ts b/src-ui/src/app/components/common/input/number/number.component.ts index ee701a5042..a6253905c7 100644 --- a/src-ui/src/app/components/common/input/number/number.component.ts +++ b/src-ui/src/app/components/common/input/number/number.component.ts @@ -4,7 +4,7 @@ import { NG_VALUE_ACCESSOR, ReactiveFormsModule, } from '@angular/forms' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { DocumentService } from 'src/app/services/rest/document.service' import { AbstractInputComponent } from '../abstract-input' @@ -19,7 +19,7 @@ import { AbstractInputComponent } from '../abstract-input' selector: 'pngx-input-number', templateUrl: './number.component.html', styleUrls: ['./number.component.scss'], - imports: [FormsModule, ReactiveFormsModule, NgxBootstrapIconsModule], + imports: [FormsModule, ReactiveFormsModule, BootstrapIconComponent], }) export class NumberComponent extends AbstractInputComponent { private documentService = inject(DocumentService) diff --git a/src-ui/src/app/components/common/input/password/password.component.html b/src-ui/src/app/components/common/input/password/password.component.html index 6d7266619e..a9335c3322 100644 --- a/src-ui/src/app/components/common/input/password/password.component.html +++ b/src-ui/src/app/components/common/input/password/password.component.html @@ -10,7 +10,7 @@ @if (showReveal) { } diff --git a/src-ui/src/app/components/common/input/password/password.component.spec.ts b/src-ui/src/app/components/common/input/password/password.component.spec.ts index 3343e6ac5a..d0a4a89bcb 100644 --- a/src-ui/src/app/components/common/input/password/password.component.spec.ts +++ b/src-ui/src/app/components/common/input/password/password.component.spec.ts @@ -5,7 +5,6 @@ import { ReactiveFormsModule, } from '@angular/forms' import { By } from '@angular/platform-browser' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { PasswordComponent } from './password.component' describe('PasswordComponent', () => { @@ -16,12 +15,7 @@ describe('PasswordComponent', () => { beforeEach(async () => { TestBed.configureTestingModule({ providers: [], - imports: [ - FormsModule, - ReactiveFormsModule, - NgxBootstrapIconsModule.pick(allIcons), - PasswordComponent, - ], + imports: [FormsModule, ReactiveFormsModule, PasswordComponent], }).compileComponents() fixture = TestBed.createComponent(PasswordComponent) diff --git a/src-ui/src/app/components/common/input/password/password.component.ts b/src-ui/src/app/components/common/input/password/password.component.ts index 3af5d66739..35f0ab054c 100644 --- a/src-ui/src/app/components/common/input/password/password.component.ts +++ b/src-ui/src/app/components/common/input/password/password.component.ts @@ -4,7 +4,7 @@ import { NG_VALUE_ACCESSOR, ReactiveFormsModule, } from '@angular/forms' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { AbstractInputComponent } from '../abstract-input' @Component({ @@ -18,7 +18,7 @@ import { AbstractInputComponent } from '../abstract-input' selector: 'pngx-input-password', templateUrl: './password.component.html', styleUrls: ['./password.component.scss'], - imports: [FormsModule, ReactiveFormsModule, NgxBootstrapIconsModule], + imports: [FormsModule, ReactiveFormsModule, BootstrapIconComponent], }) export class PasswordComponent extends AbstractInputComponent { @Input() diff --git a/src-ui/src/app/components/common/input/select/select.component.html b/src-ui/src/app/components/common/input/select/select.component.html index 13f862b241..83d54618ca 100644 --- a/src-ui/src/app/components/common/input/select/select.component.html +++ b/src-ui/src/app/components/common/input/select/select.component.html @@ -7,7 +7,7 @@ } @if (removable) { } @@ -42,26 +42,26 @@ } @if (iconField && item[iconField]) { - + } {{item[bindLabel]}} @if (iconField && item[iconField]) { - + } {{item[bindLabel]}} @if (allowCreateNew && !hideAddButton) { } @if (showFilter) { } diff --git a/src-ui/src/app/components/common/input/select/select.component.ts b/src-ui/src/app/components/common/input/select/select.component.ts index 888d3b5ed8..1fd2db3b7b 100644 --- a/src-ui/src/app/components/common/input/select/select.component.ts +++ b/src-ui/src/app/components/common/input/select/select.component.ts @@ -12,7 +12,7 @@ import { } from '@angular/forms' import { RouterModule } from '@angular/router' import { NgSelectModule } from '@ng-select/ng-select' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { matchesSearchText } from 'src/app/utils/text-search' import { AbstractInputComponent } from '../abstract-input' @@ -32,7 +32,7 @@ import { AbstractInputComponent } from '../abstract-input' FormsModule, ReactiveFormsModule, RouterModule, - NgxBootstrapIconsModule, + BootstrapIconComponent, ], }) export class SelectComponent extends AbstractInputComponent { diff --git a/src-ui/src/app/components/common/input/switch/switch.component.html b/src-ui/src/app/components/common/input/switch/switch.component.html index 636356d644..4eafff201f 100644 --- a/src-ui/src/app/components/common/input/switch/switch.component.html +++ b/src-ui/src/app/components/common/input/switch/switch.component.html @@ -5,12 +5,12 @@ @if (removable) { } @@ -22,7 +22,7 @@ } diff --git a/src-ui/src/app/components/common/input/tags/tags.component.html b/src-ui/src/app/components/common/input/tags/tags.component.html index 85cf05f1bb..4254b0dca7 100644 --- a/src-ui/src/app/components/common/input/tags/tags.component.html +++ b/src-ui/src/app/components/common/input/tags/tags.component.html @@ -22,7 +22,7 @@ } @if (showFilter) { } diff --git a/src-ui/src/app/components/common/input/tags/tags.component.spec.ts b/src-ui/src/app/components/common/input/tags/tags.component.spec.ts index 728713dd7a..184a6284a8 100644 --- a/src-ui/src/app/components/common/input/tags/tags.component.spec.ts +++ b/src-ui/src/app/components/common/input/tags/tags.component.spec.ts @@ -15,7 +15,6 @@ import { NgbPopoverModule, } from '@ng-bootstrap/ng-bootstrap' import { NgSelectModule } from '@ng-select/ng-select' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { of } from 'rxjs' import { DEFAULT_MATCHING_ALGORITHM, @@ -71,7 +70,6 @@ describe('TagsComponent', () => { NgbModalModule, NgbAccordionModule, NgbPopoverModule, - NgxBootstrapIconsModule.pick(allIcons), TagsComponent, TagEditDialogComponent, TextComponent, diff --git a/src-ui/src/app/components/common/input/tags/tags.component.ts b/src-ui/src/app/components/common/input/tags/tags.component.ts index 1410db99b8..b0db1f3d3a 100644 --- a/src-ui/src/app/components/common/input/tags/tags.component.ts +++ b/src-ui/src/app/components/common/input/tags/tags.component.ts @@ -18,8 +18,8 @@ import { import { RouterModule } from '@angular/router' import { NgbModal } from '@ng-bootstrap/ng-bootstrap' import { NgSelectComponent, NgSelectModule } from '@ng-select/ng-select' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' import { first, firstValueFrom, tap } from 'rxjs' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { Tag } from 'src/app/data/tag' import { TagService } from 'src/app/services/rest/tag.service' import { matchesSearchText } from 'src/app/utils/text-search' @@ -44,7 +44,7 @@ import { TagComponent } from '../../tag/tag.component' FormsModule, ReactiveFormsModule, RouterModule, - NgxBootstrapIconsModule, + BootstrapIconComponent, ], }) export class TagsComponent implements OnInit, ControlValueAccessor { diff --git a/src-ui/src/app/components/common/input/text/text.component.html b/src-ui/src/app/components/common/input/text/text.component.html index 95d4ad4da0..5c7c5742e4 100644 --- a/src-ui/src/app/components/common/input/text/text.component.html +++ b/src-ui/src/app/components/common/input/text/text.component.html @@ -6,7 +6,7 @@ } @if (removable) { } diff --git a/src-ui/src/app/components/common/input/text/text.component.ts b/src-ui/src/app/components/common/input/text/text.component.ts index 8572547a77..cd648229ca 100644 --- a/src-ui/src/app/components/common/input/text/text.component.ts +++ b/src-ui/src/app/components/common/input/text/text.component.ts @@ -5,7 +5,7 @@ import { ReactiveFormsModule, } from '@angular/forms' import { RouterLink } from '@angular/router' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { AbstractInputComponent } from '../abstract-input' @Component({ @@ -22,7 +22,7 @@ import { AbstractInputComponent } from '../abstract-input' imports: [ FormsModule, ReactiveFormsModule, - NgxBootstrapIconsModule, + BootstrapIconComponent, RouterLink, ], }) diff --git a/src-ui/src/app/components/common/input/textarea/textarea.component.html b/src-ui/src/app/components/common/input/textarea/textarea.component.html index eb6d7e3245..36e8a01ff9 100644 --- a/src-ui/src/app/components/common/input/textarea/textarea.component.html +++ b/src-ui/src/app/components/common/input/textarea/textarea.component.html @@ -6,7 +6,7 @@ } @if (removable) { } diff --git a/src-ui/src/app/components/common/input/textarea/textarea.component.ts b/src-ui/src/app/components/common/input/textarea/textarea.component.ts index 527afda925..f67c917086 100644 --- a/src-ui/src/app/components/common/input/textarea/textarea.component.ts +++ b/src-ui/src/app/components/common/input/textarea/textarea.component.ts @@ -4,7 +4,7 @@ import { NG_VALUE_ACCESSOR, ReactiveFormsModule, } from '@angular/forms' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { AbstractInputComponent } from '../abstract-input' @Component({ @@ -18,7 +18,7 @@ import { AbstractInputComponent } from '../abstract-input' selector: 'pngx-input-textarea', templateUrl: './textarea.component.html', styleUrls: ['./textarea.component.scss'], - imports: [FormsModule, ReactiveFormsModule, NgxBootstrapIconsModule], + imports: [FormsModule, ReactiveFormsModule, BootstrapIconComponent], }) export class TextAreaComponent extends AbstractInputComponent { @Input() diff --git a/src-ui/src/app/components/common/input/url/url.component.html b/src-ui/src/app/components/common/input/url/url.component.html index b6d4b995d8..85a9074522 100644 --- a/src-ui/src/app/components/common/input/url/url.component.html +++ b/src-ui/src/app/components/common/input/url/url.component.html @@ -4,7 +4,7 @@ @if (removable) { } @@ -12,7 +12,7 @@
    - +
    {{error}} diff --git a/src-ui/src/app/components/common/input/url/url.component.spec.ts b/src-ui/src/app/components/common/input/url/url.component.spec.ts index 73feb11480..2e919b4be6 100644 --- a/src-ui/src/app/components/common/input/url/url.component.spec.ts +++ b/src-ui/src/app/components/common/input/url/url.component.spec.ts @@ -4,7 +4,6 @@ import { NG_VALUE_ACCESSOR, ReactiveFormsModule, } from '@angular/forms' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { UrlComponent } from './url.component' describe('TextComponent', () => { @@ -15,12 +14,7 @@ describe('TextComponent', () => { beforeEach(async () => { TestBed.configureTestingModule({ providers: [], - imports: [ - FormsModule, - ReactiveFormsModule, - NgxBootstrapIconsModule.pick(allIcons), - UrlComponent, - ], + imports: [FormsModule, ReactiveFormsModule, UrlComponent], }).compileComponents() fixture = TestBed.createComponent(UrlComponent) diff --git a/src-ui/src/app/components/common/input/url/url.component.ts b/src-ui/src/app/components/common/input/url/url.component.ts index ac28e2d0ab..84fce47cc1 100644 --- a/src-ui/src/app/components/common/input/url/url.component.ts +++ b/src-ui/src/app/components/common/input/url/url.component.ts @@ -4,7 +4,7 @@ import { NG_VALUE_ACCESSOR, ReactiveFormsModule, } from '@angular/forms' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { AbstractInputComponent } from '../abstract-input' @Component({ @@ -18,7 +18,7 @@ import { AbstractInputComponent } from '../abstract-input' selector: 'pngx-input-url', templateUrl: './url.component.html', styleUrls: ['./url.component.scss'], - imports: [NgxBootstrapIconsModule, FormsModule, ReactiveFormsModule], + imports: [BootstrapIconComponent, FormsModule, ReactiveFormsModule], }) export class UrlComponent extends AbstractInputComponent { constructor() { diff --git a/src-ui/src/app/components/common/page-header/page-header.component.html b/src-ui/src/app/components/common/page-header/page-header.component.html index 3be16747f4..cd573a6987 100644 --- a/src-ui/src/app/components/common/page-header/page-header.component.html +++ b/src-ui/src/app/components/common/page-header/page-header.component.html @@ -5,7 +5,7 @@ @if (id()) {

    @if (infoLink()) { Read more - + }
    } diff --git a/src-ui/src/app/components/common/page-header/page-header.component.spec.ts b/src-ui/src/app/components/common/page-header/page-header.component.spec.ts index 603dcd028f..57f3b58394 100644 --- a/src-ui/src/app/components/common/page-header/page-header.component.spec.ts +++ b/src-ui/src/app/components/common/page-header/page-header.component.spec.ts @@ -1,7 +1,6 @@ import { Clipboard } from '@angular/cdk/clipboard' import { ComponentFixture, TestBed } from '@angular/core/testing' import { Title } from '@angular/platform-browser' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { environment } from 'src/environments/environment' import { PageHeaderComponent } from './page-header.component' @@ -14,7 +13,7 @@ describe('PageHeaderComponent', () => { beforeEach(async () => { TestBed.configureTestingModule({ providers: [], - imports: [NgxBootstrapIconsModule.pick(allIcons), PageHeaderComponent], + imports: [PageHeaderComponent], }).compileComponents() titleService = TestBed.inject(Title) diff --git a/src-ui/src/app/components/common/page-header/page-header.component.ts b/src-ui/src/app/components/common/page-header/page-header.component.ts index a0a1cc3645..578bc7a65a 100644 --- a/src-ui/src/app/components/common/page-header/page-header.component.ts +++ b/src-ui/src/app/components/common/page-header/page-header.component.ts @@ -2,15 +2,15 @@ import { Clipboard } from '@angular/cdk/clipboard' import { Component, effect, inject, input, signal } from '@angular/core' import { Title } from '@angular/platform-browser' import { NgbPopoverModule } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' import { TourNgBootstrap } from 'ngx-ui-tour-ng-bootstrap' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { environment } from 'src/environments/environment' @Component({ selector: 'pngx-page-header', templateUrl: './page-header.component.html', styleUrls: ['./page-header.component.scss'], - imports: [NgbPopoverModule, NgxBootstrapIconsModule, TourNgBootstrap], + imports: [NgbPopoverModule, BootstrapIconComponent, TourNgBootstrap], }) export class PageHeaderComponent { private titleService = inject(Title) diff --git a/src-ui/src/app/components/common/pdf-editor/pdf-editor.component.html b/src-ui/src/app/components/common/pdf-editor/pdf-editor.component.html index 436ef5c44e..8d97f04c71 100644 --- a/src-ui/src/app/components/common/pdf-editor/pdf-editor.component.html +++ b/src-ui/src/app/components/common/pdf-editor/pdf-editor.component.html @@ -7,21 +7,21 @@
    @@ -31,18 +31,18 @@
    @@ -78,12 +78,12 @@
    diff --git a/src-ui/src/app/components/common/pdf-editor/pdf-editor.component.spec.ts b/src-ui/src/app/components/common/pdf-editor/pdf-editor.component.spec.ts index 41fee5a7e3..95005c1ba6 100644 --- a/src-ui/src/app/components/common/pdf-editor/pdf-editor.component.spec.ts +++ b/src-ui/src/app/components/common/pdf-editor/pdf-editor.component.spec.ts @@ -2,7 +2,6 @@ import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' import { ComponentFixture, TestBed } from '@angular/core/testing' import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { DocumentService } from 'src/app/services/rest/document.service' import { PDFEditorComponent } from './pdf-editor.component' @@ -12,7 +11,7 @@ describe('PDFEditorComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - imports: [PDFEditorComponent, NgxBootstrapIconsModule.pick(allIcons)], + imports: [PDFEditorComponent], providers: [ provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting(), diff --git a/src-ui/src/app/components/common/pdf-editor/pdf-editor.component.ts b/src-ui/src/app/components/common/pdf-editor/pdf-editor.component.ts index 8ba4580625..5088486f36 100644 --- a/src-ui/src/app/components/common/pdf-editor/pdf-editor.component.ts +++ b/src-ui/src/app/components/common/pdf-editor/pdf-editor.component.ts @@ -6,7 +6,7 @@ import { import { Component, inject, signal } from '@angular/core' import { FormsModule } from '@angular/forms' import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { SETTINGS_KEYS } from 'src/app/data/ui-settings' import { DocumentService } from 'src/app/services/rest/document.service' import { SettingsService } from 'src/app/services/settings.service' @@ -33,7 +33,7 @@ interface PageOperation { imports: [ DragDropModule, FormsModule, - NgxBootstrapIconsModule, + BootstrapIconComponent, PngxPdfViewerComponent, ], }) diff --git a/src-ui/src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.html b/src-ui/src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.html index dc62d2e11d..28de73b665 100644 --- a/src-ui/src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.html +++ b/src-ui/src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.html @@ -1,6 +1,6 @@
    Copied! @@ -60,7 +60,7 @@
    } @if (!loading()) { - + } Create diff --git a/src-ui/src/app/components/common/share-links-dialog/share-links-dialog.component.spec.ts b/src-ui/src/app/components/common/share-links-dialog/share-links-dialog.component.spec.ts index 3e6be2e94d..c4da477f15 100644 --- a/src-ui/src/app/components/common/share-links-dialog/share-links-dialog.component.spec.ts +++ b/src-ui/src/app/components/common/share-links-dialog/share-links-dialog.component.spec.ts @@ -8,7 +8,6 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { By } from '@angular/platform-browser' import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { of, throwError } from 'rxjs' import { FileVersion, ShareLink } from 'src/app/data/share-link' import { ShareLinkService } from 'src/app/services/rest/share-link.service' @@ -26,12 +25,7 @@ describe('ShareLinksDialogComponent', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [ - ShareLinksDialogComponent, - NgxBootstrapIconsModule.pick(allIcons), - FormsModule, - ReactiveFormsModule, - ], + imports: [ShareLinksDialogComponent, FormsModule, ReactiveFormsModule], providers: [ provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting(), diff --git a/src-ui/src/app/components/common/share-links-dialog/share-links-dialog.component.ts b/src-ui/src/app/components/common/share-links-dialog/share-links-dialog.component.ts index f3d4b8f271..18c4c6e8dc 100644 --- a/src-ui/src/app/components/common/share-links-dialog/share-links-dialog.component.ts +++ b/src-ui/src/app/components/common/share-links-dialog/share-links-dialog.component.ts @@ -2,8 +2,8 @@ import { Clipboard } from '@angular/cdk/clipboard' import { Component, OnInit, effect, inject, input, signal } from '@angular/core' import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' import { first } from 'rxjs' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { FileVersion, SHARE_LINK_EXPIRATION_OPTIONS, @@ -17,7 +17,7 @@ import { environment } from 'src/environments/environment' selector: 'pngx-share-links-dialog', templateUrl: './share-links-dialog.component.html', styleUrls: ['./share-links-dialog.component.scss'], - imports: [FormsModule, ReactiveFormsModule, NgxBootstrapIconsModule], + imports: [FormsModule, ReactiveFormsModule, BootstrapIconComponent], }) export class ShareLinksDialogComponent implements OnInit { private activeModal = inject(NgbActiveModal) diff --git a/src-ui/src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.html b/src-ui/src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.html index 87411b8c51..3e66e8cf5f 100644 --- a/src-ui/src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.html +++ b/src-ui/src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.html @@ -4,9 +4,9 @@ @if (loading()) {
    } @else if (noSuggestions) { - + } @else { - + } @if (noSuggestions) { No suggestions @@ -31,19 +31,19 @@
    } @if (suggestions()?.suggested_tags?.length > 0) { - Tags + Tags @for (tag of suggestions().suggested_tags; track tag) { } } @if (suggestions()?.suggested_document_types?.length > 0) { -
    Document Types
    +
    Document Types
    @for (type of suggestions().suggested_document_types; track type) { } } @if (suggestions()?.suggested_correspondents?.length > 0) { -
    Correspondents
    +
    Correspondents
    @for (correspondent of suggestions().suggested_correspondents; track correspondent) { } @@ -61,7 +61,7 @@ @if (aiEnabled()) {
    diff --git a/src-ui/src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.spec.ts b/src-ui/src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.spec.ts index 6cc7cb1733..122b669480 100644 --- a/src-ui/src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.spec.ts +++ b/src-ui/src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.spec.ts @@ -1,6 +1,5 @@ import { ComponentFixture, TestBed } from '@angular/core/testing' import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons' import { SuggestionSource } from 'src/app/data/ui-settings' import { SuggestionsDropdownComponent } from './suggestions-dropdown.component' @@ -10,11 +9,7 @@ describe('SuggestionsDropdownComponent', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [ - NgbDropdownModule, - NgxBootstrapIconsModule.pick(allIcons), - SuggestionsDropdownComponent, - ], + imports: [NgbDropdownModule, SuggestionsDropdownComponent], providers: [], }) fixture = TestBed.createComponent(SuggestionsDropdownComponent) diff --git a/src-ui/src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.ts b/src-ui/src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.ts index 73086ab12c..6dcfb467d1 100644 --- a/src-ui/src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.ts +++ b/src-ui/src/app/components/common/suggestions-dropdown/suggestions-dropdown.component.ts @@ -6,14 +6,14 @@ import { input, } from '@angular/core' import { NgbDropdown, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap' -import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' +import { BootstrapIconComponent } from 'src/app/components/common/bootstrap-icon/bootstrap-icon.component' import { DocumentSuggestions } from 'src/app/data/document-suggestions' import { SuggestionSource } from 'src/app/data/ui-settings' import { pngxPopperOptions } from 'src/app/utils/popper-options' @Component({ selector: 'pngx-suggestions-dropdown', - imports: [NgbDropdownModule, NgxBootstrapIconsModule], + imports: [NgbDropdownModule, BootstrapIconComponent], templateUrl: './suggestions-dropdown.component.html', styleUrl: './suggestions-dropdown.component.scss', }) diff --git a/src-ui/src/app/components/common/system-status-dialog/system-status-dialog.component.html b/src-ui/src/app/components/common/system-status-dialog/system-status-dialog.component.html index 3724ee788c..fa69904465 100644 --- a/src-ui/src/app/components/common/system-status-dialog/system-status-dialog.component.html +++ b/src-ui/src/app/components/common/system-status-dialog/system-status-dialog.component.html @@ -24,7 +24,7 @@ {{status().pngx_version}} @if (versionMismatch()) { } @@ -60,9 +60,9 @@ @@ -77,9 +77,9 @@
    @@ -129,11 +129,11 @@ @@ -186,9 +186,9 @@
    @@ -205,14 +205,14 @@ {{status().tasks.classifier_status}} @if (status().tasks.classifier_status === 'OK') { @if (isStale(status().tasks.classifier_last_trained)) { - + } @else { - + } } @else { - + [class.text-warning]="status().tasks.classifier_status === SystemStatusItemStatus.WARNING"> } @if (currentUserIsSuperUser) { @@ -220,7 +220,7 @@
    } @else { } @@ -239,14 +239,14 @@ {{status().tasks.sanity_check_status}} @if (status().tasks.sanity_check_status === 'OK') { @if (isStale(status().tasks.sanity_check_last_run)) { - + } @else { - + } } @else { - + [class.text-warning]="status().tasks.sanity_check_status === SystemStatusItemStatus.WARNING"> } @if (currentUserIsSuperUser) { @@ -254,7 +254,7 @@
    } @else { } @@ -272,10 +272,10 @@ @if (status().websocket_connected === 'OK') { OK - + } @else { Error - + } @@ -286,15 +286,15 @@ {{status().tasks.llmindex_status}} @if (status().tasks.llmindex_status === 'OK') { @if (isStale(status().tasks.llmindex_last_modified)) { - + } @else { - + } } @else { - + [class.text-muted]="status().tasks.llmindex_status === SystemStatusItemStatus.DISABLED"> } @if (currentUserIsSuperUser) { @@ -302,7 +302,7 @@
    } @else { } @@ -326,10 +326,10 @@