From b5a23cff2f00fa428888f86176ea18171130db3f Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat, 25 Jul 2026 16:32:39 -0700 Subject: [PATCH 01/77] Bump version to 3.0.3 --- 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 0ab1a6072..e0afadfdc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "paperless-ngx" -version = "3.0.2" +version = "3.0.3" description = "A community-supported supercharged document management system: scan, index and archive all your physical documents" readme = "README.md" requires-python = ">=3.11" diff --git a/src-ui/package.json b/src-ui/package.json index 5c029d261..a3f2b3e28 100644 --- a/src-ui/package.json +++ b/src-ui/package.json @@ -1,6 +1,6 @@ { "name": "paperless-ngx-ui", - "version": "3.0.2", + "version": "3.0.3", "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 93c63e8b4..acda25a98 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.0.2', + version: '3.0.3', 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 7af50ba81..e39457ecc 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, 0, 2) +__version__: Final[tuple[int, int, int]] = (3, 0, 3) # 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 15f0e4acb..ae834d4c7 100644 --- a/uv.lock +++ b/uv.lock @@ -2880,7 +2880,7 @@ wheels = [ [[package]] name = "paperless-ngx" -version = "3.0.2" +version = "3.0.3" source = { virtual = "." } dependencies = [ { name = "azure-ai-documentintelligence", marker = "sys_platform == 'darwin' or sys_platform == 'linux'" }, From 65fe6aacc7b4cfb54b5a6714a90a02179ab88d1a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 25 Jul 2026 18:57:03 -0700 Subject: [PATCH 02/77] Documentation: Add v3.0.3 changelog (#13300) * Changelog v3.0.3 - GHA * Update changelog.md --------- Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com> --- docs/changelog.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index 5a27ce983..4deb4e9c7 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,39 @@ # Changelog +## paperless-ngx 3.0.3 + +### Bug Fixes + +- Fixhancement: PAPERLESS\_ALLAUTH\_TRUSTED\_PROXY\_COUNT [@shamoon](https://github.com/shamoon) ([#13281](https://github.com/paperless-ngx/paperless-ngx/pull/13281)) +- Fix: preserve document fields during Gotenberg conversion to PDF [@stumpylog](https://github.com/stumpylog) ([#13271](https://github.com/paperless-ngx/paperless-ngx/pull/13271)) +- Fix: Makes the email date aware as soon as possible during parsing [@stumpylog](https://github.com/stumpylog) ([#13266](https://github.com/paperless-ngx/paperless-ngx/pull/13266)) +- Fix: Handle a plain string as Celery sometimes provides for the traceback [@stumpylog](https://github.com/stumpylog) ([#13267](https://github.com/paperless-ngx/paperless-ngx/pull/13267)) +- Fix: Emit the torch index into the requirements.txt for people still using it [@stumpylog](https://github.com/stumpylog) ([#13265](https://github.com/paperless-ngx/paperless-ngx/pull/13265)) +- Fix: handle notes without a user when building the search index [@matthiasmast](https://github.com/matthiasmast) ([#13260](https://github.com/paperless-ngx/paperless-ngx/pull/13260)) + +### Documentation + +- Docs: warn bare-metal users about stale files when upgrading [@stumpylog](https://github.com/stumpylog) ([#13296](https://github.com/paperless-ngx/paperless-ngx/pull/13296)) +- Documentation: Add the NumPy CPU baseline increase to the migration guide [@stumpylog](https://github.com/stumpylog) ([#13269](https://github.com/paperless-ngx/paperless-ngx/pull/13269)) + +### Maintenance + +- Fix: Emit the torch index into the requirements.txt for people still using it [@stumpylog](https://github.com/stumpylog) ([#13265](https://github.com/paperless-ngx/paperless-ngx/pull/13265)) + +### All App Changes + +
+6 changes + +- Fixhancement: PAPERLESS\_ALLAUTH\_TRUSTED\_PROXY\_COUNT [@shamoon](https://github.com/shamoon) ([#13281](https://github.com/paperless-ngx/paperless-ngx/pull/13281)) +- Tweak: adjust top navbar wrapping when AI chat button visible [@shamoon](https://github.com/shamoon) ([#13280](https://github.com/paperless-ngx/paperless-ngx/pull/13280)) +- Fix: preserve document fields during Gotenberg conversion to PDF [@stumpylog](https://github.com/stumpylog) ([#13271](https://github.com/paperless-ngx/paperless-ngx/pull/13271)) +- Fix: Makes the email date aware as soon as possible during parsing [@stumpylog](https://github.com/stumpylog) ([#13266](https://github.com/paperless-ngx/paperless-ngx/pull/13266)) +- Fix: Handle a plain string as Celery sometimes provides for the traceback [@stumpylog](https://github.com/stumpylog) ([#13267](https://github.com/paperless-ngx/paperless-ngx/pull/13267)) +- Fix: handle notes without a user when building the search index [@matthiasmast](https://github.com/matthiasmast) ([#13260](https://github.com/paperless-ngx/paperless-ngx/pull/13260)) + +
+ ## paperless-ngx 3.0.2 ### Bug Fixes From f4e7a2e9e4a05dfb92732e4aab8739226f0a6523 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 26 Jul 2026 22:38:16 +0000 Subject: [PATCH 03/77] Auto translate strings --- src-ui/messages.xlf | 98 ++++++++++++++++++++++----------------------- 1 file changed, 49 insertions(+), 49 deletions(-) diff --git a/src-ui/messages.xlf b/src-ui/messages.xlf index dc09f48ef..615e5bde9 100644 --- a/src-ui/messages.xlf +++ b/src-ui/messages.xlf @@ -1277,7 +1277,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 @@ -2184,7 +2184,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3087,11 +3087,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -3688,7 +3688,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -3800,7 +3800,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 @@ -3811,7 +3811,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 @@ -3822,7 +3822,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 @@ -5724,7 +5724,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7966,88 +7966,88 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8058,67 +8058,67 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8129,14 +8129,14 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8147,102 +8147,102 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 From 8f017942d9fd4813515bb3a20373aa2a0de4fb32 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun, 26 Jul 2026 16:25:49 -0700 Subject: [PATCH 04/77] Chore: resolve npm provenance issues with chokidar and semver (#13323) --- src-ui/pnpm-workspace.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src-ui/pnpm-workspace.yaml b/src-ui/pnpm-workspace.yaml index 0065ff09b..56df810fb 100644 --- a/src-ui/pnpm-workspace.yaml +++ b/src-ui/pnpm-workspace.yaml @@ -2,6 +2,9 @@ packages: - "." minimumReleaseAge: 10080 trustPolicy: no-downgrade +trustPolicyExclude: + - "chokidar@4.0.3" + - "semver@6.3.1 || 5.7.2" allowBuilds: "@parcel/watcher": true canvas: true From eda79603fe64b4a3296a09bb33e4d81de18efc07 Mon Sep 17 00:00:00 2001 From: Sandro Date: Mon, 27 Jul 2026 18:37:09 +0200 Subject: [PATCH 05/77] Documentation: fix PAPERLESS_AI_LLM_OUTPUT_LANGUAGE heading level (#13341) --- docs/configuration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/configuration.md b/docs/configuration.md index 9bbb63402..83bd25138 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -2135,7 +2135,7 @@ used with the OpenAI-compatible backend to target a custom provider or local gat Defaults to None. -### [`PAPERLESS_AI_LLM_OUTPUT_LANGUAGE=`](#PAPERLESS_AI_LLM_OUTPUT_LANGUAGE) {#PAPERLESS_AI_LLM_OUTPUT_LANGUAGE} +#### [`PAPERLESS_AI_LLM_OUTPUT_LANGUAGE=`](#PAPERLESS_AI_LLM_OUTPUT_LANGUAGE) {#PAPERLESS_AI_LLM_OUTPUT_LANGUAGE} : The language to use for AI suggestions (results may vary by LLM model). If not supplied, defaults to the user's UI language setting or None. From 0c0faf7f80a6732894d1a4ada2251bd5f3dccef6 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 27 Jul 2026 09:51:31 -0700 Subject: [PATCH 06/77] Fixhancement: pass LLM output language to chat if specified (#13340) --- src/documents/tests/test_views.py | 31 +++++++++++++++++++++++++++ src/documents/views.py | 33 +++++++++++++++++++---------- src/paperless_ai/chat.py | 31 +++++++++++++++++++++++---- src/paperless_ai/tests/test_chat.py | 21 ++++++++++++++++++ 4 files changed, 101 insertions(+), 15 deletions(-) diff --git a/src/documents/tests/test_views.py b/src/documents/tests/test_views.py index 343f2cc13..f64b6ea04 100644 --- a/src/documents/tests/test_views.py +++ b/src/documents/tests/test_views.py @@ -625,6 +625,37 @@ class TestAIChatStreamingView(DirectoriesMixin, TestCase): ) self.assertEqual(response.status_code, 200) self.assertEqual(response["Content-Type"], "text/event-stream") + mock_stream_chat.assert_called_once_with( + query_str="question", + documents=[self.document], + output_language=None, + ) + + @patch("documents.views.stream_chat_with_documents") + @patch("documents.views.get_objects_for_user_owner_aware") + @override_settings(AI_ENABLED=True) + def test_post_uses_user_display_language( + self, + mock_get_objects, + mock_stream_chat, + ) -> None: + UiSettings.objects.create(user=self.user, settings={"language": "de-de"}) + self.grant_view_document_permission() + mock_get_objects.return_value = [self.document] + mock_stream_chat.return_value = iter([b"data"]) + + response = self.client.post( + self.ENDPOINT, + data='{"q": "question"}', + content_type="application/json", + ) + + self.assertEqual(response.status_code, 200) + mock_stream_chat.assert_called_once_with( + query_str="question", + documents=[self.document], + output_language="de-de", + ) @patch("documents.views.stream_chat_with_documents") @override_settings(AI_ENABLED=True) diff --git a/src/documents/views.py b/src/documents/views.py index 64594a3e7..a024dd3c8 100644 --- a/src/documents/views.py +++ b/src/documents/views.py @@ -653,6 +653,20 @@ class TagViewSet(PermissionsAwareDocumentCountMixin, ModelViewSet[Tag]): update_document_parent_tags(tag, new_parent) +def _get_llm_output_language(ai_config: AIConfig, request) -> str | None: + output_language = ai_config.llm_output_language + if ( + not output_language + and hasattr(request.user, "ui_settings") + and isinstance( + request.user.ui_settings.settings, + dict, + ) + ): + output_language = request.user.ui_settings.settings.get("language") + return output_language + + @extend_schema_view(**generate_object_with_permissions_schema(DocumentTypeSerializer)) class DocumentTypeViewSet( PermissionsAwareDocumentCountMixin, @@ -1514,16 +1528,7 @@ class DocumentViewSet( if not ai_config.ai_enabled: return HttpResponseBadRequest("AI is required for this feature") - output_language = ai_config.llm_output_language - if ( - not output_language - and hasattr(request.user, "ui_settings") - and isinstance( - request.user.ui_settings.settings, - dict, - ) - ): - output_language = request.user.ui_settings.settings.get("language") or None + output_language = _get_llm_output_language(ai_config=ai_config, request=request) llm_cache_backend = ( f"{ai_config.llm_backend}:{output_language}" if output_language @@ -2265,8 +2270,14 @@ class ChatStreamingView(GenericAPIView[Any]): Document, ) + output_language = _get_llm_output_language(ai_config=ai_config, request=request) + response = StreamingHttpResponse( - stream_chat_with_documents(query_str=question, documents=documents), + stream_chat_with_documents( + query_str=question, + documents=documents, + output_language=output_language, + ), content_type="text/event-stream", ) return response diff --git a/src/paperless_ai/chat.py b/src/paperless_ai/chat.py index c3101130c..5b81146e5 100644 --- a/src/paperless_ai/chat.py +++ b/src/paperless_ai/chat.py @@ -28,11 +28,22 @@ CHAT_PROMPT_TMPL = ( "---------------------\n" "Using only the context above, answer the query. " "Do not use prior knowledge.\n" + "{output_language_line}" "Query: {query_str}\n" "Answer:" ) +def _build_chat_prompt(output_language: str | None) -> str: + output_language_line = ( + f"Respond in {output_language}.\n" if output_language is not None else "" + ) + return CHAT_PROMPT_TMPL.replace( + "{output_language_line}", + output_language_line, + ) + + def _build_document_reference( document: Document, title: str | None = None, @@ -79,15 +90,27 @@ def _format_chat_metadata_trailer(references: list[dict[str, int | str]]) -> str ) -def stream_chat_with_documents(query_str: str, documents: list[Document]): +def stream_chat_with_documents( + query_str: str, + documents: list[Document], + output_language: str | None = None, +): try: - yield from _stream_chat_with_documents(query_str, documents) + yield from _stream_chat_with_documents( + query_str, + documents, + output_language=output_language, + ) except Exception as e: logger.exception("Failed to stream document chat response: %s", e) yield CHAT_ERROR_MESSAGE -def _stream_chat_with_documents(query_str: str, documents: list[Document]): +def _stream_chat_with_documents( + query_str: str, + documents: list[Document], + output_language: str | None = None, +): if not documents: yield CHAT_NO_CONTENT_MESSAGE return @@ -125,7 +148,7 @@ def _stream_chat_with_documents(query_str: str, documents: list[Document]): references = _get_document_references(documents, top_nodes) - prompt_template = PromptTemplate(template=CHAT_PROMPT_TMPL) + prompt_template = PromptTemplate(template=_build_chat_prompt(output_language)) response_synthesizer = get_response_synthesizer( llm=client.llm, prompt_helper=get_rag_prompt_helper( diff --git a/src/paperless_ai/tests/test_chat.py b/src/paperless_ai/tests/test_chat.py index b55f9a03c..ae4005d87 100644 --- a/src/paperless_ai/tests/test_chat.py +++ b/src/paperless_ai/tests/test_chat.py @@ -12,6 +12,7 @@ from paperless_ai import chat from paperless_ai import indexing from paperless_ai.chat import CHAT_ERROR_MESSAGE from paperless_ai.chat import CHAT_METADATA_DELIMITER +from paperless_ai.chat import _build_chat_prompt from paperless_ai.chat import stream_chat_with_documents @@ -59,6 +60,26 @@ def assert_chat_output( } +@pytest.mark.parametrize( + ("output_language", "expected_language_line"), + [ + (None, ""), + ("de-de", "Respond in de-de.\n"), + ], +) +def test_build_chat_prompt( + output_language, + expected_language_line, +) -> None: + prompt = _build_chat_prompt(output_language) + + assert "{output_language_line}" not in prompt + assert ( + prompt.split("Do not use prior knowledge.\n", maxsplit=1)[1] + == f"{expected_language_line}Query: {{query_str}}\nAnswer:" + ) + + @pytest.mark.django_db def test_stream_chat_with_one_document_retrieval( mock_document, From 14517062c4077d419c5fbe9581b1f28873aff9ec Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 27 Jul 2026 16:53:33 +0000 Subject: [PATCH 07/77] 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 81d524969..17017e129 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-07-25 07:12+0000\n" +"POT-Creation-Date: 2026-07-27 16:52+0000\n" "PO-Revision-Date: 2022-02-17 04:17\n" "Last-Translator: \n" "Language-Team: English\n" @@ -1352,7 +1352,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2552 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1393,7 +1393,7 @@ msgstr "" msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4511 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1661,36 +1661,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:291 documents/views.py:2549 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1561 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1570 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2374 documents/views.py:2695 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4523 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4558 +#: documents/views.py:4569 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4619 +#: documents/views.py:4630 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4629 +#: documents/views.py:4640 msgid "The share link bundle is unavailable." msgstr "" From 0e98a7f1ce102fb7c5f36ef55c134b15b6af4870 Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Mon, 27 Jul 2026 10:23:43 -0700 Subject: [PATCH 08/77] Performance: Scope llm index updates to actually modified documents (#13322) * Perf: scope bulk_update_documents' LLM index refresh to the edited document ids instead of the whole library * Perf: select_related/prefetch_related for the scoped LLM index batch * Perf: select_related/prefetch_related for the full LLM index rebuild path * Fix: address Copilot review findings on LLM index scoping --- src/documents/tasks.py | 2 ++ src/documents/tests/test_tasks.py | 8 ++++++-- src/paperless_ai/indexing.py | 23 ++++++++++++++++++--- src/paperless_ai/tests/test_ai_indexing.py | 24 ++++++++++++++++++++++ 4 files changed, 52 insertions(+), 5 deletions(-) diff --git a/src/documents/tasks.py b/src/documents/tasks.py index 7961af381..a5da8f1cf 100644 --- a/src/documents/tasks.py +++ b/src/documents/tasks.py @@ -311,6 +311,7 @@ def sanity_check(*, raise_on_error: bool = True) -> str: def bulk_update_documents(document_ids) -> None: from documents.search import get_backend + document_ids = list(document_ids) documents = Document.objects.filter(id__in=document_ids) for doc in documents: @@ -331,6 +332,7 @@ def bulk_update_documents(document_ids) -> None: if ai_config.llm_index_enabled: update_llm_index( rebuild=False, + document_ids=document_ids, ) diff --git a/src/documents/tests/test_tasks.py b/src/documents/tests/test_tasks.py index ca57219ad..0e3d3f2a5 100644 --- a/src/documents/tests/test_tasks.py +++ b/src/documents/tests/test_tasks.py @@ -401,6 +401,10 @@ class TestAIIndex(DirectoriesMixin, TestCase): "documents.tasks.update_llm_index", ) as update_llm_index, ): - tasks.bulk_update_documents([doc.pk for doc in docs]) + doc_ids = [doc.pk for doc in docs] + tasks.bulk_update_documents(doc_ids) self.assertEqual(update_document_in_llm_index.apply_async.call_count, 0) - update_llm_index.assert_called_once() + update_llm_index.assert_called_once_with( + rebuild=False, + document_ids=doc_ids, + ) diff --git a/src/paperless_ai/indexing.py b/src/paperless_ai/indexing.py index 16aeda776..b413e67c6 100644 --- a/src/paperless_ai/indexing.py +++ b/src/paperless_ai/indexing.py @@ -328,8 +328,16 @@ def update_llm_index( *, iter_wrapper: IterWrapper[Document] = identity, rebuild=False, + document_ids: Iterable[int] | None = None, ) -> str: - """Rebuild or incrementally update the LLM index.""" + """Rebuild or incrementally update the LLM index. + + ``document_ids``, when given, scopes an incremental update to just those + documents instead of scanning the whole library -- callers that already + know which documents changed (e.g. a bulk edit) should pass this to avoid + an O(library size) scan per call. Ignored whenever a rebuild actually + happens, since a rebuild always covers the whole library regardless. + """ with write_store() as store: try: with _exclude_readers(): @@ -345,7 +353,11 @@ def update_llm_index( "LLM index migration requires re-embedding; forcing rebuild.", ) rebuild = True - documents = Document.objects.all() + documents = Document.objects.select_related( + "correspondent", + "document_type", + "storage_path", + ).prefetch_related("tags") no_documents = not documents.exists() # Fast exit before touching config: nothing to index and no existing index. @@ -379,9 +391,14 @@ def update_llm_index( store.add(nodes) msg = "LLM index rebuilt successfully." else: + scoped_documents = ( + documents.filter(id__in=document_ids) + if document_ids is not None + else documents + ) existing = store.get_modified_times() changed = 0 - for document in iter_wrapper(documents): + for document in iter_wrapper(scoped_documents): doc_id = str(document.id) if existing.get(doc_id) == document.modified.isoformat(): continue diff --git a/src/paperless_ai/tests/test_ai_indexing.py b/src/paperless_ai/tests/test_ai_indexing.py index e69834810..81b4c889c 100644 --- a/src/paperless_ai/tests/test_ai_indexing.py +++ b/src/paperless_ai/tests/test_ai_indexing.py @@ -197,6 +197,8 @@ def test_update_llm_index( mock_queryset = MagicMock() mock_queryset.exists.return_value = True mock_queryset.__iter__.return_value = iter([real_document]) + mock_queryset.select_related.return_value = mock_queryset + mock_queryset.prefetch_related.return_value = mock_queryset mock_all.return_value = mock_queryset build_document_node.return_value = [] indexing.update_llm_index(rebuild=True) @@ -216,6 +218,8 @@ def test_update_llm_index_rebuilds_on_model_name_change( mock_queryset = MagicMock() mock_queryset.exists.return_value = True mock_queryset.__iter__.return_value = iter([real_document]) + mock_queryset.select_related.return_value = mock_queryset + mock_queryset.prefetch_related.return_value = mock_queryset mock_all.return_value = mock_queryset with patch( "paperless_ai.indexing.get_configured_model_name", @@ -228,6 +232,8 @@ def test_update_llm_index_rebuilds_on_model_name_change( mock_queryset = MagicMock() mock_queryset.exists.return_value = True mock_queryset.__iter__.return_value = iter([real_document]) + mock_queryset.select_related.return_value = mock_queryset + mock_queryset.prefetch_related.return_value = mock_queryset mock_all.return_value = mock_queryset with patch( "paperless_ai.indexing.get_configured_model_name", @@ -258,6 +264,8 @@ def test_update_llm_index_partial_update( mock_queryset = MagicMock() mock_queryset.exists.return_value = True mock_queryset.__iter__.return_value = iter([real_document, doc2]) + mock_queryset.select_related.return_value = mock_queryset + mock_queryset.prefetch_related.return_value = mock_queryset mock_all.return_value = mock_queryset indexing.update_llm_index(rebuild=True) @@ -286,6 +294,22 @@ def test_update_llm_index_partial_update( assert store.table_exists(), ( "Expected the vector store table to exist after incremental update" ) + before = store.get_modified_times() + + # A further edit, scoped via document_ids to just doc3 -- doc2 must be + # left exactly as it was, proving document_ids restricts the scan + # instead of falling back to the whole library. + doc3.modified = timezone.now() + doc3.save() + + result = indexing.update_llm_index(rebuild=False, document_ids=[doc3.pk]) + assert result == "LLM index updated successfully." + + with indexing.get_vector_store() as store: + after = store.get_modified_times() + + assert after[str(doc3.pk)] == doc3.modified.isoformat() + assert after[str(doc2.pk)] == before[str(doc2.pk)] @pytest.mark.django_db From b19edd0b74eb8dd1d08ce36ddadb2802877e08b1 Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Mon, 27 Jul 2026 12:33:26 -0700 Subject: [PATCH 09/77] Fix: dedupe permission-visible documents when combined with multi-tag ALL filtering (#13331) (#13345) The permission filter OR'd three querysets together on top of a queryset that could already carry two independent tags__id__all joins, letting a document that matched more than one branch (e.g. unowned + group-permissioned) come back twice. Replaced it with a single id__in filter against the existing permitted_document_ids helper, which is join-free and can't hit this. --- src/documents/filters.py | 27 +++++++ src/documents/permissions.py | 6 +- src/documents/tests/test_api_documents.py | 88 +++++++++++++++++++++++ src/documents/views.py | 3 +- 4 files changed, 120 insertions(+), 4 deletions(-) diff --git a/src/documents/filters.py b/src/documents/filters.py index 427745424..d5dac705c 100644 --- a/src/documents/filters.py +++ b/src/documents/filters.py @@ -37,6 +37,7 @@ from drf_spectacular.utils import extend_schema_field from guardian.utils import get_group_obj_perms_model from guardian.utils import get_user_obj_perms_model from rest_framework import serializers +from rest_framework.filters import BaseFilterBackend from rest_framework.filters import OrderingFilter from rest_framework_guardian.filters import ObjectPermissionsFilter @@ -50,6 +51,7 @@ from documents.models import ShareLink from documents.models import ShareLinkBundle from documents.models import StoragePath from documents.models import Tag +from documents.permissions import permitted_document_ids if TYPE_CHECKING: from collections.abc import Callable @@ -1038,6 +1040,31 @@ class ObjectOwnedOrGrantedPermissionsFilter(ObjectPermissionsFilter): return objects_with_perms | objects_owned | objects_unowned +class DocumentPermissionsFilter(BaseFilterBackend): + """ + A filter backend limiting Document results to those the requesting user + owns, are unowned, or has explicit (user- or group-level) view + permission on. + + Unlike ``ObjectOwnedOrGrantedPermissionsFilter``, this does not build an + ``objects_with_perms | objects_owned | objects_unowned`` union of + querysets derived from the same base queryset. When that base queryset + already carries independent joins on a multi-valued relation (e.g. two + separate joins from ``tags__id__all`` filtering on two tags), each + OR-ed branch can end up pairing those joins' aliases differently, + letting more than one row out of the join's cross product satisfy the + combined WHERE -- returning the same document more than once. Filtering + via a single ``id__in`` against ``permitted_document_ids`` (a plain + subquery, not a join) sidesteps that entirely and is also cheaper than + guardian's join-based permission check. + """ + + def filter_queryset(self, request, queryset, view): + if request.user.is_superuser: + return queryset + return queryset.filter(id__in=permitted_document_ids(request.user)) + + class ObjectOwnedPermissionsFilter(ObjectPermissionsFilter): """ A filter backend that limits results to those where the requesting user diff --git a/src/documents/permissions.py b/src/documents/permissions.py index adfaaec1a..006b77a81 100644 --- a/src/documents/permissions.py +++ b/src/documents/permissions.py @@ -163,7 +163,7 @@ def set_permissions_for_object( ) -def _permitted_document_ids(user): +def permitted_document_ids(user): """ Return a queryset of document IDs the user may view, limited to non-deleted documents. This intentionally avoids ``get_objects_for_user`` to keep the @@ -220,7 +220,7 @@ def get_document_count_filter_for_user(user, related_name: str = "documents"): # Superuser: no permission filtering needed return Q(**{f"{related_name}__deleted_at__isnull": True}) - permitted_ids = _permitted_document_ids(user) + permitted_ids = permitted_document_ids(user) return Q(**{f"{related_name}__id__in": permitted_ids}) @@ -311,7 +311,7 @@ def annotate_document_count_for_related_queryset( queryset, through_model=through_model, related_object_field=related_object_field, - document_ids=_permitted_document_ids(user), + document_ids=permitted_document_ids(user), target_field=target_field, ) diff --git a/src/documents/tests/test_api_documents.py b/src/documents/tests/test_api_documents.py index 2e3e9cbfc..edd9f3df3 100644 --- a/src/documents/tests/test_api_documents.py +++ b/src/documents/tests/test_api_documents.py @@ -14,6 +14,7 @@ from unittest import mock import celery from dateutil import parser from django.conf import settings +from django.contrib.auth.models import Group from django.contrib.auth.models import Permission from django.contrib.auth.models import User from django.core import mail @@ -47,6 +48,8 @@ from documents.models import Workflow from documents.models import WorkflowAction from documents.models import WorkflowTrigger from documents.signals.handlers import run_workflows +from documents.tests.factories import DocumentFactory +from documents.tests.factories import TagFactory from documents.tests.utils import ConsumeTaskMixin from documents.tests.utils import DirectoriesMixin from documents.tests.utils import read_streaming_response @@ -1212,6 +1215,91 @@ class TestDocumentApi(DirectoriesMixin, ConsumeTaskMixin, APITestCase): [u1_doc1.id], ) + def test_document_owned_and_group_shared_not_duplicated_when_filtering_by_tags( + self, + ) -> None: + """ + GIVEN: + - A document owned by a user and also shared with a group the user belongs to + WHEN: + - The user filters documents by more than one tag (tags__id__all) + THEN: + - The document is returned exactly once, not once per permission path + (regression test for https://github.com/paperless-ngx/paperless-ngx/issues/13331) + """ + user = User.objects.create_user("user1") + user.user_permissions.add(*Permission.objects.filter(codename="view_document")) + group = Group.objects.create(name="group1") + user.groups.add(group) + + tag1 = TagFactory() + tag2 = TagFactory() + doc = DocumentFactory(title="shared", owner=user) + doc.tags.add(tag1, tag2) + assign_perm("view_document", group, doc) + + self.client.force_authenticate(user=user) + response = self.client.get( + f"/api/documents/?tags__id__all={tag1.id},{tag2.id}", + ) + self.assertEqual(response.status_code, status.HTTP_200_OK) + self.assertEqual(response.data["count"], 1) + self.assertEqual(response.data["results"][0]["id"], doc.id) + + def test_document_permission_filter_excludes_unrelated_documents(self) -> None: + """ + GIVEN: + - A document owned by one user, with no permission granted to another user + WHEN: + - The unrelated user requests the document list + THEN: + - The document does not appear in their results + """ + owner = User.objects.create_user("owner1") + stranger = User.objects.create_user("stranger1") + stranger.user_permissions.add( + *Permission.objects.filter(codename="view_document"), + ) + + DocumentFactory(title="private", owner=owner) + + self.client.force_authenticate(user=stranger) + response = self.client.get("/api/documents/") + self.assertEqual(response.status_code, status.HTTP_200_OK) + self.assertEqual(response.data["count"], 0) + + def test_document_permission_filter_only_visible_to_group_members(self) -> None: + """ + GIVEN: + - A document shared with a group via object permissions + WHEN: + - A group member and a non-member both request the document list + THEN: + - Only the group member sees the document + """ + owner = User.objects.create_user("owner2") + member = User.objects.create_user("member1") + non_member = User.objects.create_user("nonmember1") + for u in (member, non_member): + u.user_permissions.add(*Permission.objects.filter(codename="view_document")) + + group = Group.objects.create(name="group2") + member.groups.add(group) + + doc = DocumentFactory(title="shared2", owner=owner) + assign_perm("view_document", group, doc) + + self.client.force_authenticate(user=member) + response = self.client.get("/api/documents/") + self.assertEqual(response.status_code, status.HTTP_200_OK) + self.assertEqual(response.data["count"], 1) + self.assertEqual(response.data["results"][0]["id"], doc.id) + + self.client.force_authenticate(user=non_member) + response = self.client.get("/api/documents/") + self.assertEqual(response.status_code, status.HTTP_200_OK) + self.assertEqual(response.data["count"], 0) + def test_pagination_results(self) -> None: """ GIVEN: diff --git a/src/documents/views.py b/src/documents/views.py index a024dd3c8..528d6ced5 100644 --- a/src/documents/views.py +++ b/src/documents/views.py @@ -133,6 +133,7 @@ from documents.file_handling import format_filename from documents.filters import CorrespondentFilterSet from documents.filters import CustomFieldFilterSet from documents.filters import DocumentFilterSet +from documents.filters import DocumentPermissionsFilter from documents.filters import DocumentsOrderingFilter from documents.filters import DocumentTypeFilterSet from documents.filters import ObjectOwnedOrGrantedPermissionsFilter @@ -986,7 +987,7 @@ class DocumentViewSet( DjangoFilterBackend, SearchFilter, DocumentsOrderingFilter, - ObjectOwnedOrGrantedPermissionsFilter, + DocumentPermissionsFilter, ) filterset_class = DocumentFilterSet search_fields = ("title", "correspondent__name", "effective_content") From 693a111c5a5eb24d92640df15dd865967b2f896e Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 27 Jul 2026 19:35:15 +0000 Subject: [PATCH 10/77] Auto translate strings --- src/locale/en_US/LC_MESSAGES/django.po | 40 +++++++++++++------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/src/locale/en_US/LC_MESSAGES/django.po b/src/locale/en_US/LC_MESSAGES/django.po index 17017e129..8648046c8 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-07-27 16:52+0000\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" "PO-Revision-Date: 2022-02-17 04:17\n" "Last-Translator: \n" "Language-Team: English\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "" -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "" -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "" -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "" -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "" -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "" -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "" @@ -1352,7 +1352,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2552 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1393,7 +1393,7 @@ msgstr "" msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4511 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1661,36 +1661,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:291 documents/views.py:2549 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1561 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1570 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2374 documents/views.py:2695 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4523 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4569 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4630 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4640 +#: documents/views.py:4641 msgid "The share link bundle is unavailable." msgstr "" From 98b66fdf24a0cd7ae767e0e91094024b582319cf Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Mon, 27 Jul 2026 14:50:37 -0700 Subject: [PATCH 11/77] Perf: prefetch notes and custom fields for LLM index text building (#13350) build_llm_index_text queried Note and CustomFieldInstance (plus its field FK) per document, uncovered by the earlier correspondent/type/ storage_path/tags prefetch fix. Add notes and custom_fields__field to the rebuild and scoped document querysets, and read from doc.notes.all() instead of a fresh Note.objects.filter() so the prefetch is actually used. Co-authored-by: Claude Sonnet 5 --- src/paperless_ai/embedding.py | 3 +- src/paperless_ai/indexing.py | 2 +- src/paperless_ai/tests/test_ai_indexing.py | 39 +++++++++++++++++++-- src/paperless_ai/tests/test_embedding.py | 40 ++++++++++------------ 4 files changed, 58 insertions(+), 26 deletions(-) diff --git a/src/paperless_ai/embedding.py b/src/paperless_ai/embedding.py index 4044d7f08..621b4e979 100644 --- a/src/paperless_ai/embedding.py +++ b/src/paperless_ai/embedding.py @@ -7,7 +7,6 @@ if TYPE_CHECKING: from llama_index.core.base.embeddings.base import BaseEmbedding from documents.models import Document -from documents.models import Note from paperless.config import AIConfig from paperless.models import LLMEmbeddingBackend from paperless.network import PinnedHostAsyncHTTPTransport @@ -126,7 +125,7 @@ def build_llm_index_text(doc: Document) -> str: # prepend. Notes and Custom Fields stay in the body: Notes can be long free # text, Custom Fields are dynamic in count and best kept in the embedding. lines = [ - f"Notes: {','.join([str(c.note) for c in Note.objects.filter(document=doc)])}", + f"Notes: {','.join([str(c.note) for c in doc.notes.all()])}", ] for instance in doc.custom_fields.all(): diff --git a/src/paperless_ai/indexing.py b/src/paperless_ai/indexing.py index b413e67c6..93b850cbf 100644 --- a/src/paperless_ai/indexing.py +++ b/src/paperless_ai/indexing.py @@ -357,7 +357,7 @@ def update_llm_index( "correspondent", "document_type", "storage_path", - ).prefetch_related("tags") + ).prefetch_related("tags", "notes", "custom_fields__field") no_documents = not documents.exists() # Fast exit before touching config: nothing to index and no existing index. diff --git a/src/paperless_ai/tests/test_ai_indexing.py b/src/paperless_ai/tests/test_ai_indexing.py index 81b4c889c..667b43d06 100644 --- a/src/paperless_ai/tests/test_ai_indexing.py +++ b/src/paperless_ai/tests/test_ai_indexing.py @@ -4,13 +4,18 @@ from unittest.mock import patch import pytest import pytest_mock +from django.db import connection from django.test import override_settings +from django.test.utils import CaptureQueriesContext from django.utils import timezone from llama_index.core.schema import MetadataMode from documents.models import Correspondent +from documents.models import CustomField +from documents.models import CustomFieldInstance from documents.models import Document from documents.models import DocumentType +from documents.models import Note from documents.models import PaperlessTask from documents.signals import document_consumption_finished from documents.signals import document_updated @@ -296,14 +301,44 @@ def test_update_llm_index_partial_update( ) before = store.get_modified_times() - # A further edit, scoped via document_ids to just doc3 -- doc2 must be + # new doc, also touched by the scoped update below + doc4 = DocumentFactory.create(title="Test Document 4", added=timezone.now()) + + # A further edit, scoped via document_ids to doc3 + doc4 -- doc2 must be # left exactly as it was, proving document_ids restricts the scan # instead of falling back to the whole library. doc3.modified = timezone.now() doc3.save() + doc4.modified = timezone.now() + doc4.save() - result = indexing.update_llm_index(rebuild=False, document_ids=[doc3.pk]) + # Give both scoped documents a note and a custom field: build_llm_index_text + # reads both per document, so without the notes/custom_fields__field + # prefetch on scoped_documents, each additional document adds 3 more + # queries (N+1 regression) instead of the query count staying flat. + custom_field = CustomField.objects.create( + name="Priority", + data_type=CustomField.FieldDataType.STRING, + ) + for doc in (doc3, doc4): + Note.objects.create(document=doc, note=f"a note on {doc.title}") + CustomFieldInstance.objects.create( + document=doc, + field=custom_field, + value_text="high", + ) + + with CaptureQueriesContext(connection) as ctx: + result = indexing.update_llm_index( + rebuild=False, + document_ids=[doc3.pk, doc4.pk], + ) assert result == "LLM index updated successfully." + # Notes/custom fields are prefetched in one batch query each (plus one + # more for custom_fields__field), not re-queried per document -- an N+1 + # regression here would scale with document count instead of staying flat + # (7 with the prefetch vs. 10 without it, for these 2 documents). + assert len(ctx.captured_queries) <= 8 with indexing.get_vector_store() as store: after = store.get_modified_times() diff --git a/src/paperless_ai/tests/test_embedding.py b/src/paperless_ai/tests/test_embedding.py index fa84d1acc..c5066c8d2 100644 --- a/src/paperless_ai/tests/test_embedding.py +++ b/src/paperless_ai/tests/test_embedding.py @@ -54,6 +54,7 @@ def mock_document(): cf2.field.name = "Field2" cf2.value = "Value2" doc.custom_fields.all = MagicMock(return_value=[cf1, cf2]) + doc.notes.all = MagicMock(return_value=[]) return doc @@ -219,28 +220,26 @@ def test_get_configured_model_name_explicit_overrides_default(mock_ai_config): def test_build_llm_index_text(mock_document): - with patch("documents.models.Note.objects.filter") as mock_notes_filter: - mock_notes_filter.return_value = [ - MagicMock(note="Note1"), - MagicMock(note="Note2"), - ] + mock_document.notes.all = MagicMock( + return_value=[MagicMock(note="Note1"), MagicMock(note="Note2")], + ) - result = build_llm_index_text(mock_document) + result = build_llm_index_text(mock_document) - # Structured fields live in node.metadata for LLM context -- not body text - assert "Title: Test Title" not in result - assert "Created: 2023-01-01" not in result - assert "Tags: Tag1, Tag2" not in result - assert "Document Type: Invoice" not in result - assert "Correspondent: Test Correspondent" not in result - assert "Filename:" not in result - assert "Storage Path:" not in result - assert "Archive Serial Number:" not in result + # Structured fields live in node.metadata for LLM context -- not body text + assert "Title: Test Title" not in result + assert "Created: 2023-01-01" not in result + assert "Tags: Tag1, Tag2" not in result + assert "Document Type: Invoice" not in result + assert "Correspondent: Test Correspondent" not in result + assert "Filename:" not in result + assert "Storage Path:" not in result + assert "Archive Serial Number:" not in result - # Fields without a metadata equivalent stay in body text - assert "Notes: Note1,Note2" in result - assert "Content:\n\nThis is the document content." in result - assert "Custom Field - Field1: Value1\nCustom Field - Field2: Value2" in result + # Fields without a metadata equivalent stay in body text + assert "Notes: Note1,Note2" in result + assert "Content:\n\nThis is the document content." in result + assert "Custom Field - Field1: Value1\nCustom Field - Field2: Value2" in result def test_build_llm_index_text_normalizes_ocr_punctuation_runs(mock_document): @@ -250,8 +249,7 @@ def test_build_llm_index_text_normalizes_ocr_punctuation_runs(mock_document): "Keep short punctuation like INV-100 and ellipses..." ) - with patch("documents.models.Note.objects.filter", return_value=[]): - result = build_llm_index_text(mock_document) + result = build_llm_index_text(mock_document) assert "Introduction 7" in result assert "Hardware Limitation 9" in result From 7eee8538ecb49eb126148e237f4429f8910b400f Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 27 Jul 2026 15:13:16 -0700 Subject: [PATCH 12/77] Performance: more performant filtering diacritic normalization (#13347) --- src-ui/src/app/utils/text-search.spec.ts | 16 ++++++++++++++++ src-ui/src/app/utils/text-search.ts | 11 +++++++++-- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/src-ui/src/app/utils/text-search.spec.ts b/src-ui/src/app/utils/text-search.spec.ts index daa432851..a1225c1d0 100644 --- a/src-ui/src/app/utils/text-search.spec.ts +++ b/src-ui/src/app/utils/text-search.spec.ts @@ -14,4 +14,20 @@ describe('text search utilities', () => { expect(matchesSearchText('Tax\u00e9s 2026', 'taxe 26')).toBeTruthy() expect(matchesSearchText('taxes 2026', 'tax receipt')).toBeFalsy() }) + + it('matches a large set of tag names without blocking input', () => { + const tagNames = Array.from( + { length: 1280 }, + (_, index) => + `Customer Party ${index} Jos\u00e9 M\u00fcller \u00c5ngstr\u00f6m` + ) + + const start = performance.now() + const matches = tagNames.filter((name) => matchesSearchText(name, 'party')) + const duration = performance.now() - start + + expect(matches).toHaveLength(tagNames.length) + // The previous implementation took roughly 500 ms for this workload. + expect(duration).toBeLessThan(250) + }) }) diff --git a/src-ui/src/app/utils/text-search.ts b/src-ui/src/app/utils/text-search.ts index 883ace368..f7f552408 100644 --- a/src-ui/src/app/utils/text-search.ts +++ b/src-ui/src/app/utils/text-search.ts @@ -1,10 +1,17 @@ -import { normalizeSync } from 'normalize-diacritics' +import { diacritics } from 'normalize-diacritics/diacritics' export type SearchTextValue = string | number | boolean | bigint | null | undefined export function normalizeSearchText(value: SearchTextValue): string { - return normalizeSync(String(value ?? '')).toLocaleLowerCase() + const normalized = diacritics.reduce( + (text, replacement) => { + return text.replace(replacement.diacritics, replacement.letter) + }, + String(value ?? '') + ) + + return normalized.toLocaleLowerCase() } export function matchesSearchText( From dcff067dc126236996ac9668daa8ee63147bbf85 Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Mon, 27 Jul 2026 16:52:29 -0700 Subject: [PATCH 13/77] Fix: don't skip OCR/archive for tagged PDFs with no actual text (#13351) --- docs/configuration.md | 4 +-- src/documents/consumer.py | 5 ++-- src/documents/tests/test_consumer_archive.py | 16 +++++++---- src/paperless/parsers/tesseract.py | 6 ++-- .../tests/parsers/test_tesseract_parser.py | 28 +++++++++++++++++++ 5 files changed, 47 insertions(+), 12 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index 83bd25138..6529791f0 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -932,8 +932,8 @@ for display in the web interface. | Document type | `never` | `auto` (default) | `always` | | -------------------------- | ------- | -------------------------- | -------- | | Scanned image (TIFF, JPEG) | No | **Yes** | Yes | - | Image-based PDF | No | **Yes** (short/no text, untagged) | Yes | - | Born-digital PDF | No | No (tagged or has embedded text) | Yes | + | Image-based PDF | No | **Yes** (no embedded text) | Yes | + | Born-digital PDF | No | No (has embedded text, optionally confirmed by tag) | Yes | | Plain text, email, HTML | No | No | No | | DOCX / ODT (via Tika) | Yes\* | Yes\* | Yes\* | diff --git a/src/documents/consumer.py b/src/documents/consumer.py index 7c01853c5..e7f026e71 100644 --- a/src/documents/consumer.py +++ b/src/documents/consumer.py @@ -160,13 +160,14 @@ def should_produce_archive( _log.debug("Archive: yes — image document, ARCHIVE_FILE_GENERATION=auto") return True if mime_type == "application/pdf": - if is_tagged_pdf(document_path): + text = extract_pdf_text(document_path) + has_text = text is not None and len(text) > 0 + if has_text and is_tagged_pdf(document_path): _log.debug( "Archive: no — born-digital PDF (structure tags detected)," " ARCHIVE_FILE_GENERATION=auto", ) return False - text = extract_pdf_text(document_path) if text is None or len(text) <= PDF_TEXT_MIN_LENGTH: _log.debug( "Archive: yes — scanned PDF (text_length=%d ≤ %d)," diff --git a/src/documents/tests/test_consumer_archive.py b/src/documents/tests/test_consumer_archive.py index 265bd7bc6..c179162db 100644 --- a/src/documents/tests/test_consumer_archive.py +++ b/src/documents/tests/test_consumer_archive.py @@ -166,24 +166,28 @@ class TestShouldProduceArchive: mocker: MockerFixture, settings, ) -> None: - """Tagged PDFs (e.g. Word exports) are treated as born-digital regardless of text length.""" + """Tagged PDFs (e.g. Word exports) with real text are treated as born-digital, even below PDF_TEXT_MIN_LENGTH.""" settings.ARCHIVE_FILE_GENERATION = "auto" mocker.patch("documents.consumer.is_tagged_pdf", return_value=True) + mocker.patch("documents.consumer.extract_pdf_text", return_value="tiny") parser = _parser_instance(can_produce=True, requires_rendition=False) assert ( should_produce_archive(parser, "application/pdf", Path("/tmp/doc.pdf")) is False ) - def test_tagged_pdf_does_not_call_pdftotext( + def test_tagged_pdf_without_text_produces_archive( self, mocker: MockerFixture, settings, ) -> None: - """When a PDF is tagged, pdftotext is not invoked (fast path).""" + """A tagged PDF with no actual extractable text (e.g. some scanner firmware) is not + trusted as born-digital — the tag alone must not bypass OCR.""" settings.ARCHIVE_FILE_GENERATION = "auto" mocker.patch("documents.consumer.is_tagged_pdf", return_value=True) - mock_extract = mocker.patch("documents.consumer.extract_pdf_text") + mocker.patch("documents.consumer.extract_pdf_text", return_value=None) parser = _parser_instance(can_produce=True, requires_rendition=False) - should_produce_archive(parser, "application/pdf", Path("/tmp/doc.pdf")) - mock_extract.assert_not_called() + assert ( + should_produce_archive(parser, "application/pdf", Path("/tmp/doc.pdf")) + is True + ) diff --git a/src/paperless/parsers/tesseract.py b/src/paperless/parsers/tesseract.py index 2e0d791ea..78ce4c5c4 100644 --- a/src/paperless/parsers/tesseract.py +++ b/src/paperless/parsers/tesseract.py @@ -510,8 +510,10 @@ class RasterisedDocumentParser: if mime_type == "application/pdf": text_original = self.extract_text(None, document_path) - original_has_text = is_tagged_pdf(document_path, log=self.log) or ( - text_original is not None and len(text_original) > PDF_TEXT_MIN_LENGTH + has_text = text_original is not None and len(text_original) > 0 + original_has_text = has_text and ( + is_tagged_pdf(document_path, log=self.log) + or len(text_original) > PDF_TEXT_MIN_LENGTH ) else: text_original = None diff --git a/src/paperless/tests/parsers/test_tesseract_parser.py b/src/paperless/tests/parsers/test_tesseract_parser.py index 0c086745c..e56992d0b 100644 --- a/src/paperless/tests/parsers/test_tesseract_parser.py +++ b/src/paperless/tests/parsers/test_tesseract_parser.py @@ -906,6 +906,34 @@ class TestSkipArchive: assert tesseract_parser.archive_path is None assert tesseract_parser.get_text() + def test_tagged_pdf_without_text_does_not_skip_ocr( + self, + mocker: MockerFixture, + tesseract_parser: RasterisedDocumentParser, + tesseract_samples_dir: Path, + ) -> None: + """ + GIVEN: + - A PDF that reports itself as tagged (/MarkInfo /Marked true) but + has no actual extractable text (some scanner firmware produces + this — see GitHub issue #13349) + - Mode: auto, produce_archive=False + WHEN: + - Document is parsed + THEN: + - The tag alone is not trusted as "has text"; OCRmyPDF still runs + """ + tesseract_parser.settings.mode = ModeChoices.AUTO + mocker.patch("paperless.parsers.tesseract.is_tagged_pdf", return_value=True) + mocker.patch.object(tesseract_parser, "extract_text", return_value=None) + mock_ocr = mocker.patch("ocrmypdf.ocr") + tesseract_parser.parse( + tesseract_samples_dir / "multi-page-images.pdf", + "application/pdf", + produce_archive=False, + ) + mock_ocr.assert_called() + def test_tagged_pdf_produces_pdfa_archive_without_ocr( self, tesseract_parser: RasterisedDocumentParser, From 0b588c2d3108a57319fe81bb18c95bed19fd5048 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 27 Jul 2026 17:25:52 -0700 Subject: [PATCH 14/77] Fix: prevent pdfjs highlight scrolling from affecting the entire page (#13355) --- .../common/preview-popup/preview-popup.component.html | 3 ++- .../common/preview-popup/preview-popup.component.spec.ts | 4 ++++ .../common/preview-popup/preview-popup.component.ts | 6 ++++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src-ui/src/app/components/common/preview-popup/preview-popup.component.html b/src-ui/src/app/components/common/preview-popup/preview-popup.component.html index 0bf21029b..84c65a49f 100644 --- a/src-ui/src/app/components/common/preview-popup/preview-popup.component.html +++ b/src-ui/src/app/components/common/preview-popup/preview-popup.component.html @@ -1,6 +1,7 @@ + autoClose="true" [popoverClass]="popoverClass()" [popperOptions]="popperOptions" + (mouseenter)="mouseEnterPreview()" (mouseleave)="mouseLeavePreview()" #popover="ngbPopover"> diff --git a/src-ui/src/app/components/common/preview-popup/preview-popup.component.spec.ts b/src-ui/src/app/components/common/preview-popup/preview-popup.component.spec.ts index 10a36d73c..3194729ff 100644 --- a/src-ui/src/app/components/common/preview-popup/preview-popup.component.spec.ts +++ b/src-ui/src/app/components/common/preview-popup/preview-popup.component.spec.ts @@ -67,6 +67,10 @@ describe('PreviewPopupComponent', () => { expect(component.useNativePdfViewer).toBeTruthy() }) + it('should use fixed positioning for the preview popover', () => { + expect(component.popperOptions({}).strategy).toEqual('fixed') + }) + it('should render object if native PDF viewer enabled', () => { settingsService.set(SETTINGS_KEYS.USE_NATIVE_PDF_VIEWER, true) component.popover.open() diff --git a/src-ui/src/app/components/common/preview-popup/preview-popup.component.ts b/src-ui/src/app/components/common/preview-popup/preview-popup.component.ts index ae271ffe4..fc7ce7e4b 100644 --- a/src-ui/src/app/components/common/preview-popup/preview-popup.component.ts +++ b/src-ui/src/app/components/common/preview-popup/preview-popup.component.ts @@ -8,6 +8,7 @@ import { ViewChild, } from '@angular/core' import { NgbPopover, NgbPopoverModule } from '@ng-bootstrap/ng-bootstrap' +import { Options } from '@popperjs/core' import { NgxBootstrapIconsModule } from 'ngx-bootstrap-icons' import { first, Subject, takeUntil } from 'rxjs' import { Document } from 'src/app/data/document' @@ -74,6 +75,11 @@ export class PreviewPopupComponent implements OnDestroy { readonly popoverClass = signal('shadow popover-preview') + readonly popperOptions = (options: Partial): Partial => ({ + ...options, + strategy: 'fixed', + }) + get renderAsObject(): boolean { return (this.isPdf && this.useNativePdfViewer) || !this.isPdf } From b2b2f7b488b2260be553b484b4084e61eccc1712 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2026 00:27:34 +0000 Subject: [PATCH 15/77] Auto translate strings --- src-ui/messages.xlf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src-ui/messages.xlf b/src-ui/messages.xlf index 615e5bde9..9e98563f0 100644 --- a/src-ui/messages.xlf +++ b/src-ui/messages.xlf @@ -6438,14 +6438,14 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 From 674dab29df30f49c997e347d0a8a4f2d79ef3f57 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 27 Jul 2026 20:12:46 -0700 Subject: [PATCH 16/77] New Crowdin translations by GitHub Action (#13308) Co-authored-by: Crowdin Bot --- src-ui/src/locale/messages.af_ZA.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.am_ET.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.ar_AR.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.be_BY.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.bg_BG.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.ca_ES.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.cs_CZ.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.da_DK.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.de_CH.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.de_DE.xlf | 104 ++++++++++++------------- src-ui/src/locale/messages.el_GR.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.es_ES.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.et_EE.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.fa_IR.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.fi_FI.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.fr_FR.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.he_IL.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.hi_IN.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.hr_HR.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.hu_HU.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.id_ID.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.it_IT.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.ja_JP.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.ko_KR.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.lb_LU.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.lt_LT.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.lv_LV.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.mk_MK.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.ms_MY.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.nl_NL.xlf | 104 ++++++++++++------------- src-ui/src/locale/messages.no_NO.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.pl_PL.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.pt_BR.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.pt_PT.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.ro_RO.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.ru_RU.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.sk_SK.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.sl_SI.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.sq_AL.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.sr_CS.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.sv_SE.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.th_TH.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.tr_TR.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.uk_UA.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.vi_VN.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.zh_CN.xlf | 102 ++++++++++++------------ src-ui/src/locale/messages.zh_TW.xlf | 102 ++++++++++++------------ src/locale/af_ZA/LC_MESSAGES/django.po | 42 +++++----- src/locale/am_ET/LC_MESSAGES/django.po | 42 +++++----- src/locale/ar_AR/LC_MESSAGES/django.po | 42 +++++----- src/locale/be_BY/LC_MESSAGES/django.po | 42 +++++----- src/locale/bg_BG/LC_MESSAGES/django.po | 42 +++++----- src/locale/ca_ES/LC_MESSAGES/django.po | 42 +++++----- src/locale/cs_CZ/LC_MESSAGES/django.po | 42 +++++----- src/locale/da_DK/LC_MESSAGES/django.po | 42 +++++----- src/locale/de_CH/LC_MESSAGES/django.po | 42 +++++----- src/locale/de_DE/LC_MESSAGES/django.po | 42 +++++----- src/locale/el_GR/LC_MESSAGES/django.po | 42 +++++----- src/locale/es_ES/LC_MESSAGES/django.po | 42 +++++----- src/locale/et_EE/LC_MESSAGES/django.po | 42 +++++----- src/locale/fa_IR/LC_MESSAGES/django.po | 42 +++++----- src/locale/fi_FI/LC_MESSAGES/django.po | 42 +++++----- src/locale/fr_FR/LC_MESSAGES/django.po | 42 +++++----- src/locale/he_IL/LC_MESSAGES/django.po | 42 +++++----- src/locale/hi_IN/LC_MESSAGES/django.po | 42 +++++----- src/locale/hr_HR/LC_MESSAGES/django.po | 42 +++++----- src/locale/hu_HU/LC_MESSAGES/django.po | 42 +++++----- src/locale/id_ID/LC_MESSAGES/django.po | 48 ++++++------ src/locale/it_IT/LC_MESSAGES/django.po | 42 +++++----- src/locale/ja_JP/LC_MESSAGES/django.po | 42 +++++----- src/locale/ko_KR/LC_MESSAGES/django.po | 42 +++++----- src/locale/lb_LU/LC_MESSAGES/django.po | 42 +++++----- src/locale/lt_LT/LC_MESSAGES/django.po | 42 +++++----- src/locale/lv_LV/LC_MESSAGES/django.po | 42 +++++----- src/locale/mk_MK/LC_MESSAGES/django.po | 42 +++++----- src/locale/ms_MY/LC_MESSAGES/django.po | 42 +++++----- src/locale/nl_NL/LC_MESSAGES/django.po | 42 +++++----- src/locale/no_NO/LC_MESSAGES/django.po | 42 +++++----- src/locale/pl_PL/LC_MESSAGES/django.po | 42 +++++----- src/locale/pt_BR/LC_MESSAGES/django.po | 42 +++++----- src/locale/pt_PT/LC_MESSAGES/django.po | 42 +++++----- src/locale/ro_RO/LC_MESSAGES/django.po | 42 +++++----- src/locale/ru_RU/LC_MESSAGES/django.po | 42 +++++----- src/locale/sk_SK/LC_MESSAGES/django.po | 42 +++++----- src/locale/sl_SI/LC_MESSAGES/django.po | 42 +++++----- src/locale/sq_AL/LC_MESSAGES/django.po | 42 +++++----- src/locale/sr_CS/LC_MESSAGES/django.po | 42 +++++----- src/locale/sv_SE/LC_MESSAGES/django.po | 42 +++++----- src/locale/th_TH/LC_MESSAGES/django.po | 42 +++++----- src/locale/tr_TR/LC_MESSAGES/django.po | 42 +++++----- src/locale/uk_UA/LC_MESSAGES/django.po | 42 +++++----- src/locale/vi_VN/LC_MESSAGES/django.po | 42 +++++----- src/locale/zh_CN/LC_MESSAGES/django.po | 42 +++++----- src/locale/zh_TW/LC_MESSAGES/django.po | 42 +++++----- 94 files changed, 3389 insertions(+), 3389 deletions(-) diff --git a/src-ui/src/locale/messages.af_ZA.xlf b/src-ui/src/locale/messages.af_ZA.xlf index e7253b032..76313c092 100644 --- a/src-ui/src/locale/messages.af_ZA.xlf +++ b/src-ui/src/locale/messages.af_ZA.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF Editor @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Remove password protection @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Create an unprotected copy or replace the existing file. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Start @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Error loading preview @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Open preview @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Voer wagwoord in @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Fout by ophaal van metadata @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 Fout by die laai van die inhoud: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Next document @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Previous document @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Save document @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Save and close / next @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Fout by ophaal van voorstelle. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Document "" saved successfully. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Fout by bewaar van dokument @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Error deleting document @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 This operation will permanently recreate the archive file for this document. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 The archive file will be re-generated with the current settings. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Error executing operation @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Error downloading document @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Page Fit @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Error executing PDF edit operation @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executing password removal operation @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Print failed. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Error loading document for printing. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 An error occurred loading tiff: diff --git a/src-ui/src/locale/messages.am_ET.xlf b/src-ui/src/locale/messages.am_ET.xlf index 76de17302..ec754323e 100644 --- a/src-ui/src/locale/messages.am_ET.xlf +++ b/src-ui/src/locale/messages.am_ET.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF Editor @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Remove password protection @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Create an unprotected copy or replace the existing file. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Start @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Error loading preview @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Open preview @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Enter Password @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Error retrieving metadata @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 An error occurred loading content: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Next document @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Previous document @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Save document @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Save and close / next @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Error retrieving suggestions. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Document "" saved successfully. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Error saving document @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Error deleting document @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 This operation will permanently recreate the archive file for this document. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 The archive file will be re-generated with the current settings. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Error executing operation @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Error downloading document @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Page Fit @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Error executing PDF edit operation @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executing password removal operation @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Print failed. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Error loading document for printing. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 An error occurred loading tiff: diff --git a/src-ui/src/locale/messages.ar_AR.xlf b/src-ui/src/locale/messages.ar_AR.xlf index 8e3d44b84..874492637 100644 --- a/src-ui/src/locale/messages.ar_AR.xlf +++ b/src-ui/src/locale/messages.ar_AR.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF Editor @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Remove password protection @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Create an unprotected copy or replace the existing file. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Start @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 خطأ أثناء تحميل المعاينة @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Open preview @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 أدخل كلمة المرور @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 خطأ في استرجاع البيانات الوصفية @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 حدث خطأ في تحميل المحتوى @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 المستند التالي @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 المستند السابق @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 حفظ المستند @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Save and close / next @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 خطأ في استرداد الاقتراحات. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 تم حفظ المستند "بنجاح. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 خطأ أثناء حفظ المستند @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 خطأ أثناء حذف المستند @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 ستؤدي هذه العملية إلى إعادة إنشاء ملف الأرشيف لهذا المستند بشكل دائم. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 سيتم إعادة إنشاء ملف الأرشيف بالإعدادات الحالية. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 خطأ أثناء تنفيذ العملية @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Error downloading document @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 احتواء الصفحة @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Error executing PDF edit operation @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executing password removal operation @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Print failed. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Error loading document for printing. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 An error occurred loading tiff: diff --git a/src-ui/src/locale/messages.be_BY.xlf b/src-ui/src/locale/messages.be_BY.xlf index 6ca1b01a3..d67d55b63 100644 --- a/src-ui/src/locale/messages.be_BY.xlf +++ b/src-ui/src/locale/messages.be_BY.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF Editor @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Remove password protection @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Create an unprotected copy or replace the existing file. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Start @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Error loading preview @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Open preview @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Увядзіце пароль @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Error retrieving metadata @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 An error occurred loading content: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Next document @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Previous document @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Save document @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Save and close / next @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Error retrieving suggestions. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Document "" saved successfully. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Error saving document @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Error deleting document @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 This operation will permanently recreate the archive file for this document. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 The archive file will be re-generated with the current settings. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Error executing operation @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Error downloading document @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Page Fit @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Error executing PDF edit operation @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executing password removal operation @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Print failed. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Error loading document for printing. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 An error occurred loading tiff: diff --git a/src-ui/src/locale/messages.bg_BG.xlf b/src-ui/src/locale/messages.bg_BG.xlf index f123b3cce..5261212f7 100644 --- a/src-ui/src/locale/messages.bg_BG.xlf +++ b/src-ui/src/locale/messages.bg_BG.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF Editor @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Remove password protection @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Create an unprotected copy or replace the existing file. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Start @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Грешка при зареждане на визуализацията @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Отворете предварителен преглед @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Въведете парола @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Грешка при извличане на метаданни @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 Възникна грешка при зареждане на съдържание: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Следващ документ @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Предишен документ @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Запазете документ @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Запази и затвори / следващ @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Грешка при извличане на предложения. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Документ "" запазен успешно. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Грешка при запазване на документа @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Грешка при изтриване на документа @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 Тази операция ще пресъздаде архивен файл за този документ. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 Архивният файл ще бъде отново генериран с текущите настройки. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Грешка при изпълнение на операцията @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Грешка при изтегляне на документа @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Побиране на страницата @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Error executing PDF edit operation @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executing password removal operation @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Print failed. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Error loading document for printing. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 Възникна грешка при зареждането на tiff: diff --git a/src-ui/src/locale/messages.ca_ES.xlf b/src-ui/src/locale/messages.ca_ES.xlf index c9ee31200..99ac128b4 100644 --- a/src-ui/src/locale/messages.ca_ES.xlf +++ b/src-ui/src/locale/messages.ca_ES.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 Editor PDF @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Treure protecció de contrasenya @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Crear una còpia desprotegida de l'arxiu existent. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Inici @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Error carregant previsualització @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Obrir previsualització @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Introdueix Contrasenya @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Error recuperant les metadades @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 Error carregant contingut: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document Actualitzat @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document actualitzat a . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Recarrega per descartar les edicions locals no desades i carregar la darrera versió remota. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Recarrega @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document recarregat amb els darrers reptes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document recarregat. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Següent document @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Document Anterior @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Desar Document @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Desa i tanca/següent @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error recuperant el contingut de la versió @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Error recuperant els suggeriments. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Document "" desat satisfactòriament. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Error guardant document @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Error esborrant document @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 Aquesta operació recrearà l'arxivat per aquest document. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 Els arxius arxivats seran regenerats amb les opcions actuals. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Error executant operació @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Error descarregant document @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Encaix Pàgina @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Error en executar l'edició del PDF @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Entra la contrasenya actual abans d'intentar treure-la. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executant l'operació de treure contrasenya @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Impressió fallida. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Error carregant document per imprimir. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 Error al carregar tiff: diff --git a/src-ui/src/locale/messages.cs_CZ.xlf b/src-ui/src/locale/messages.cs_CZ.xlf index 4a862cc6f..9f2b8dbce 100644 --- a/src-ui/src/locale/messages.cs_CZ.xlf +++ b/src-ui/src/locale/messages.cs_CZ.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 Editor PDF @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Odstranit ochranu heslem @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Vytvořit nechráněnou kopii nebo nahradit existující soubor. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Spustit @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Chyba při načítání náhledu @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Otevřít náhled @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Zadejte heslo @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Chyba při načítání metadat @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 Při načítání obsahu došlo k chybě: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Další dokument @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Předchozí dokument @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Uložit dokument @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Uložit a zavřít/další @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Chyba při načítání návrhů. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Dokument „“ úspěšně uložen. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Chyba při ukládání dokumentu @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Chyba při mazání dokumentu @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 Tato operace trvale obnoví archivní soubor pro tento dokument. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 Archivní soubor bude znovu vytvořen s aktuálním nastavením. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Chyba při provádění operace @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Chyba při stahování dokumentu @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Přizpůsobení stránky @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Chyba při provádění operace editace PDF @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Zadejte aktuální heslo před pokusem o jeho odstranění. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Chyba při provádění operace odstranění hesla @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Tisk selhal. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Chyba při načítání dokumentu pro tisk. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 Došlo k chybě při načítání tiff: diff --git a/src-ui/src/locale/messages.da_DK.xlf b/src-ui/src/locale/messages.da_DK.xlf index 7db70a32d..bcc0b4201 100644 --- a/src-ui/src/locale/messages.da_DK.xlf +++ b/src-ui/src/locale/messages.da_DK.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF Editor @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Remove password protection @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Create an unprotected copy or replace the existing file. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Start @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Error loading preview @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Open preview @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Indtast adgangskode @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Error retrieving metadata @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 An error occurred loading content: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Next document @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Previous document @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Save document @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Save and close / next @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Error retrieving suggestions. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Document "" saved successfully. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Error saving document @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Error deleting document @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 This operation will permanently recreate the archive file for this document. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 The archive file will be re-generated with the current settings. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Error executing operation @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Error downloading document @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Page Fit @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Error executing PDF edit operation @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executing password removal operation @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Print failed. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Error loading document for printing. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 An error occurred loading tiff: diff --git a/src-ui/src/locale/messages.de_CH.xlf b/src-ui/src/locale/messages.de_CH.xlf index fffaa9982..1d57c79cc 100644 --- a/src-ui/src/locale/messages.de_CH.xlf +++ b/src-ui/src/locale/messages.de_CH.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF-Editor @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Kennwortschutz entfernen @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Ungeschützte Kopie erstellen oder bestehende Datei ersetzen. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Starten @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Fehler beim Laden der Vorschau @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Vorschau öffnen @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Kennwort eingeben @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Fehler beim Abrufen der Metadaten @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 Fehler beim Laden des Inhalts: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Dokument aktualisiert @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Dokument aktualisiert am . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Neu laden, um lokale ungespeicherte Änderungen zu verwerfen und aktuellste gespeicherte Version zu laden. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Neu laden @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Dokument mit den neuesten Änderungen neu geladen. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Dokument neu geladen. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Nächstes Dokument @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Vorheriges Dokument @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Dokument speichern @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Speichern und schliessen / weiter @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Fehler beim Abrufen des Versionsinhalts @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Fehler beim Abrufen der Vorschläge. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Dokument „“ erfolgreich gespeichert. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Fehler beim Speichern des Dokuments @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Fehler beim Löschen des Dokuments @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 Dieser Vorgang wird die Archivdatei dieses Dokuments unwiderruflich neu erstellen. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 Die Archivdatei wird mit den aktuellen Einstellungen neu generiert. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Fehler beim Ausführen der Aktion @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Fehler beim Herunterladen des Dokuments @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Seite einpassen @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Fehler beim Ausführen der PDF-Bearbeitung @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Bitte geben Sie das aktuelle Kennwort ein, bevor Sie versuchen, es zu entfernen. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Fehler beim Entfernen des Kennworts @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Drucken fehlgeschlagen. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Fehler beim Laden des Dokuments für den Druck. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 Fehler beim Laden des TIFF: diff --git a/src-ui/src/locale/messages.de_DE.xlf b/src-ui/src/locale/messages.de_DE.xlf index ca689a57a..d9cee2ef8 100644 --- a/src-ui/src/locale/messages.de_DE.xlf +++ b/src-ui/src/locale/messages.de_DE.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF-Editor @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -2520,7 +2520,7 @@ src/app/components/admin/tasks/tasks.component.ts 77 - LLM-Index + LLM-Indizierung Empty Trash @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Kennwortschutz entfernen @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Ungeschützte Kopie erstellen oder bestehende Datei ersetzen. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Starten @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Fehler beim Laden der Vorschau @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Vorschau öffnen @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Kennwort eingeben @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Fehler beim Abrufen der Metadaten @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 Fehler beim Laden des Inhalts: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Dokument aktualisiert @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Dokument aktualisiert am . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Neu laden, um lokale ungespeicherte Änderungen zu verwerfen und aktuellste gespeicherte Version zu laden. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Neu laden @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Dokument mit den neuesten Änderungen neu geladen. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Dokument neu geladen. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Nächstes Dokument @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Vorheriges Dokument @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Dokument speichern @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Speichern und schließen / weiter @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Fehler beim Abrufen des Versionsinhalts @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Fehler beim Abrufen der Vorschläge. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Dokument „“ erfolgreich gespeichert. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Fehler beim Speichern des Dokuments „ @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Fehler beim Speichern des Dokuments @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Möchten Sie das Dokument „“ wirklich in den Papierkorb verschieben? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Fehler beim Löschen des Dokuments @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 Dieser Vorgang wird die Archivdatei dieses Dokuments unwiderruflich neu erstellen. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 Die Archivdatei wird mit den aktuellen Einstellungen neu generiert. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Erneute Verarbeitung für „“ wird im Hintergrund gestartet. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Fehler beim Ausführen der Aktion @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Fehler beim Herunterladen des Dokuments @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Seite einpassen @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 Der Teilungsvorgang für „“ wird im Hintergrund gestartet. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Fehler beim Ausführen der PDF-Bearbeitung @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Bitte geben Sie das aktuelle Kennwort ein, bevor Sie versuchen, es zu entfernen. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Kennwortentfernung für „" wird im Hintergrund gestartet. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Fehler beim Entfernen des Kennworts @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Drucken fehlgeschlagen. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Fehler beim Laden des Dokuments für den Druck. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 Fehler beim Laden des TIFF: diff --git a/src-ui/src/locale/messages.el_GR.xlf b/src-ui/src/locale/messages.el_GR.xlf index a2e27a865..8bbb7df98 100644 --- a/src-ui/src/locale/messages.el_GR.xlf +++ b/src-ui/src/locale/messages.el_GR.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF Editor @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Remove password protection @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Create an unprotected copy or replace the existing file. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Start @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Error loading preview @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Open preview @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Εισαγωγή Κωδικού Πρόσβασης @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Σφάλμα ανάκτησης μεταδεδομένων @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 Παρουσιάστηκε σφάλμα κατά τη φόρτωση του περιεχομένου: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Next document @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Previous document @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Save document @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Save and close / next @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Σφάλμα στην ανάκτηση προτάσεων. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Document "" saved successfully. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Σφάλμα αποθήκευσης του εγγράφου @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Σφάλμα διαγραφής εγγράφου @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 This operation will permanently recreate the archive file for this document. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 The archive file will be re-generated with the current settings. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Σφάλμα εκτέλεσης λειτουργίας @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Error downloading document @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Page Fit @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Error executing PDF edit operation @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executing password removal operation @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Print failed. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Error loading document for printing. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 An error occurred loading tiff: diff --git a/src-ui/src/locale/messages.es_ES.xlf b/src-ui/src/locale/messages.es_ES.xlf index 99b2b68a4..0fb69954d 100644 --- a/src-ui/src/locale/messages.es_ES.xlf +++ b/src-ui/src/locale/messages.es_ES.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 Editor de PDF @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Eliminar protección por contraseña @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Crear una copia sin protección o reemplazar el archivo existente. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Inicio @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Error al cargar vista previa @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Abrir vista previa @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Introducir contraseña @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Error al recuperar los metadatos @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 Se ha producido un error al cargar el contenido: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Documento siguiente @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Documento anterior @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Guardar documento @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Guardar y cerrar / siguiente @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Error al recuperar las sugerencias. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Documento "" guardado correctamente. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Error al guardar el documento @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Error al eliminar documento @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 Esta operación recreará permanentemente el archivo de archivo para este documento. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 El archivo se regenerará con la configuración actual. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Error al ejecutar la operación @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Error al descargar el documento @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Ajuste de página @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Error al ejecutar la operación de edición PDF @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executing password removal operation @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Print failed. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Error loading document for printing. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 Se ha producido un error al cargar el tif: diff --git a/src-ui/src/locale/messages.et_EE.xlf b/src-ui/src/locale/messages.et_EE.xlf index f68ee5d63..ac8f53027 100644 --- a/src-ui/src/locale/messages.et_EE.xlf +++ b/src-ui/src/locale/messages.et_EE.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF Editor @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Remove password protection @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Create an unprotected copy or replace the existing file. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Start @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Error loading preview @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Open preview @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Enter Password @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Error retrieving metadata @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 An error occurred loading content: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Next document @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Previous document @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Save document @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Save and close / next @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Error retrieving suggestions. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Document "" saved successfully. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Error saving document @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Error deleting document @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 This operation will permanently recreate the archive file for this document. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 The archive file will be re-generated with the current settings. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Error executing operation @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Error downloading document @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Page Fit @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Error executing PDF edit operation @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executing password removal operation @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Print failed. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Error loading document for printing. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 An error occurred loading tiff: diff --git a/src-ui/src/locale/messages.fa_IR.xlf b/src-ui/src/locale/messages.fa_IR.xlf index 5aff15188..a19cb6368 100644 --- a/src-ui/src/locale/messages.fa_IR.xlf +++ b/src-ui/src/locale/messages.fa_IR.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF Editor @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Remove password protection @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Create an unprotected copy or replace the existing file. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Start @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 پیش نمایش در حال بارگیری خطا @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 پیش نمایش باز @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 رمز ورود را وارد کنید @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 خطا در بازیابی ابرداده @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 An error occurred loading content: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 سند بعدی @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 سند قبلی @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 سند را ذخیره کنید @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 ذخیره و بسته / بعدی @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 خطای بازیابی پیشنهادات. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Document "" saved successfully. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 سند ذخیره خطا @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 خطای حذف سند @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 این عملیات دائمی پرونده بایگانی را برای این سند بازآفرینی می کند. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 پرونده بایگانی با تنظیمات فعلی دوباره تولید می شود. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 عملیات اجرای خطا @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 سند بارگیری خطا @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 صفحه مناسب @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Error executing PDF edit operation @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executing password removal operation @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Print failed. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Error loading document for printing. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 An error occurred loading tiff: diff --git a/src-ui/src/locale/messages.fi_FI.xlf b/src-ui/src/locale/messages.fi_FI.xlf index a641bb002..3211cc0f3 100644 --- a/src-ui/src/locale/messages.fi_FI.xlf +++ b/src-ui/src/locale/messages.fi_FI.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF Editor @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Remove password protection @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Create an unprotected copy or replace the existing file. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Start @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Virhe esikatselua ladattaessa @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Avaa esikatselu @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Syötä salasana @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Virhe haettaessa metatietoja @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 Sisällön lataamisessa tapahtui virhe: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Seuraava asiakirja @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Edellinen asiakirja @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Tallenna asiakirja @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Tallenna ja sulje / seuraava @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Virhe ehdotuksia noutaessa. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Asiakirja "" tallennettu onnistuneesti. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Virhe tallennettaessa asiakirjaa @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Virhe asiakirjaa poistaessa @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 This operation will permanently recreate the archive file for this document. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 The archive file will be re-generated with the current settings. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Virhe toimintoa suoritettaessa @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Error downloading document @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Sivun sovitus @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Error executing PDF edit operation @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executing password removal operation @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Tulostus epäonnistui. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Error loading document for printing. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 An error occurred loading tiff: diff --git a/src-ui/src/locale/messages.fr_FR.xlf b/src-ui/src/locale/messages.fr_FR.xlf index f98e3d991..cbea53f8c 100644 --- a/src-ui/src/locale/messages.fr_FR.xlf +++ b/src-ui/src/locale/messages.fr_FR.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 Éditeur PDF @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Retirer la protection par mot de passe @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Créer une copie non protégée ou remplacer le fichier existant. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Démarrer @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Erreur du chargement de l'aperçu @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Ouvrir l’aperçu @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Saisir le mot de passe @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Erreur lors de la récupération des métadonnées @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 Une erreur s'est produite lors du chargement du contenu : @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document a été mis à jour @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document a été mis à jour à . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Recharger pour refuser vos changements locaux non sauvegardés et charger la dernière version en ligne. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Recharger @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Documents rechargés avec les derniers changements. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document rechargé. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Document suivant @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Document précédent @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Enregistrer le document @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Sauvegarder et fermer / suivant @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Erreur de récupération du contenu de la version @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Erreur lors de la récupération des suggestions. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Document «  » enregistré avec succès. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Erreur lors de la sauvegarde du document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Erreur lors de la sauvegarde du document @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Erreur lors de la suppression du document @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 Cette action recréera définitivement le fichier d'archive pour ce document. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 Le fichier d'archive va être régénéré avec les paramètres actuels. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Erreur lors de l'exécution de l'opération @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Erreur lors du téléchargement du document @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Ajustement de la page @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Erreur lors de l’exécution de l’opération de modification du PDF @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Veuillez saisir le mot de passe actuel avant d'essayer de le supprimer. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Erreur lors de la suppression du mot de passe @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Impression échouée. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Erreur lors du chargement du document pour impression. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 Une erreur s’est produite lors du chargement du tiff : diff --git a/src-ui/src/locale/messages.he_IL.xlf b/src-ui/src/locale/messages.he_IL.xlf index c0555786f..abe5c7794 100644 --- a/src-ui/src/locale/messages.he_IL.xlf +++ b/src-ui/src/locale/messages.he_IL.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 עורך PDF @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 הסר את הגנת הסיסמה @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 צור עותק ללא סיסמה או החלף את הקובץ הקיים. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 התחל @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 שגיאה בתצוגה מקדימה @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 פתח תצוגה מקדימה @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 הזן סיסמה @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 שגיאה באחזור נתונים @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 ארעה שגיאה בטעינת התוכן: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 המסמך הבא @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 המסמך הקודם @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 שמירת מסמך @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 שמירה וסגירה / הבא @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 שגיאה באחזור הצעות. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 המסמך "" נשמר בהצלחה. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 שגיאה בשמירת מסמך @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 שגיאה במחיקת מסמך @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 פעולה זו תבצע יצירה מחדש של קובץ הארכיון למסמך זה @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 קובץ הארכיון יווצר מחדש עם ההגדרות הנוכחיות. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 שגיאת הרצה @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 שגיאה בעת הורדת מסמך @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 התאם תצוגה לרוחב הדף @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Error executing PDF edit operation @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 אירעה שגיאה בעת ביצוע פעולת הסרת הסיסמה @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 הדפסה נכשלה. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 אירעה שגיאה בעת טעינת המסמך להדפסה. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 שגיאה בעת טעינת קובץ tiff: diff --git a/src-ui/src/locale/messages.hi_IN.xlf b/src-ui/src/locale/messages.hi_IN.xlf index 5fb4aa384..2061b6cf9 100644 --- a/src-ui/src/locale/messages.hi_IN.xlf +++ b/src-ui/src/locale/messages.hi_IN.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF Editor @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Remove password protection @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Create an unprotected copy or replace the existing file. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Start @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Error loading preview @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Open preview @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Enter Password @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Error retrieving metadata @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 An error occurred loading content: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Next document @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Previous document @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Save document @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Save and close / next @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Error retrieving suggestions. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Document "" saved successfully. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Error saving document @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Error deleting document @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 This operation will permanently recreate the archive file for this document. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 The archive file will be re-generated with the current settings. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Error executing operation @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Error downloading document @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Page Fit @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Error executing PDF edit operation @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executing password removal operation @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Print failed. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Error loading document for printing. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 An error occurred loading tiff: diff --git a/src-ui/src/locale/messages.hr_HR.xlf b/src-ui/src/locale/messages.hr_HR.xlf index 78d5796ce..141982415 100644 --- a/src-ui/src/locale/messages.hr_HR.xlf +++ b/src-ui/src/locale/messages.hr_HR.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF Uređivač @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Ukloni zaštitu lozinkom @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Create an unprotected copy or replace the existing file. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Start @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Pogreška pri učitavanju pregleda @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Otvori pregled @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Unesi lozinku @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Greška pri dohvaćanju metapodataka @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 Došlo je do pogreške prilikom učitavanja sadržaja: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Dokument je ažuriran @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Dokument je ažuriran u . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Učitajte ponovo da odbacite lokalne nespremljene izmjene i učitate najnoviju udaljenu verziju. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Učitaj ponovo @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Dokument učitan ponovo s najnovijim izmjenama. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Dokument učitan ponovo. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Sljedeći dokument @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Prethodni dokument @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Spremi dokument @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Spremi i zatvori / sljedeći @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Greška pri dohvaćanju sadržaja verzije @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Greška pri dohvaćanju prijedloga. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Dokument "" uspješno spremljen. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Greška pri spremanju dokumenta @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Greška pri brisanju dokumenta @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 Ova operacija će trajno ponovo kreirati arhivsku datoteku za ovaj dokument. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 Arhivska datoteka će se ponovo generirati s trenutnim postavkama. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Greška pri izvršavanju operacije @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Greška pri preuzimanju dokumenta @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Prilagodi stranicu @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Greška pri izvršavanju operacije uređivanja PDF-a @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Unesite trenutnu lozinku prije pokušaja uklanjanja. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Greška pri izvršavanju operacije uklanjanja lozinke @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Ispis nije uspio. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Greška pri učitavanju dokumenta za ispis. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 Došlo je do greške pri učitavanju TIFF-a: diff --git a/src-ui/src/locale/messages.hu_HU.xlf b/src-ui/src/locale/messages.hu_HU.xlf index a82be6564..af215dc2f 100644 --- a/src-ui/src/locale/messages.hu_HU.xlf +++ b/src-ui/src/locale/messages.hu_HU.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF szerkesztő @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Jelszóvédelem eltávolítása @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Hozzon létre egy nem védett másolatot, vagy cserélje ki a meglévő fájlt. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Indítás @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Hiba az előnézet betöltésekor @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Előnézet betöltése @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Jelszó megadása @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Hiba a metaadatok lekérdezésében @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 Hiba történt a tartalom betöltése során: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Következő dokumentum @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Előző dokumentum @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Dokumentum mentése @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Mentés és bezárás / következő @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Hiba a javaslatok lekérdezésében. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 "" sikeresen elmentve. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Dokumentum mentési hiba @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Hiba a dokumentum törlésében @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 Ez a művelet véglegesen újragenerálja a dokumentum archív fájlját. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 Az archív fájl újragenerálódik majd a jelenlegi beállításokkal. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Hiba a művelet végrehajtásában @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Hiba a dokumentum letöltésekor @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Oldal illesztése @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Hiba a PDF szerkesztése közben @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executing password removal operation @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Print failed. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Error loading document for printing. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 Hiba tiff betöltésekor: diff --git a/src-ui/src/locale/messages.id_ID.xlf b/src-ui/src/locale/messages.id_ID.xlf index 58dd0a635..e1ba0c30d 100644 --- a/src-ui/src/locale/messages.id_ID.xlf +++ b/src-ui/src/locale/messages.id_ID.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 Editor PDF @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Remove password protection @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Create an unprotected copy or replace the existing file. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Mulai @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Kesalahan saat memuat pratinjau @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Buka pratinjau @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Masukan Kata Sandi @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Kesalahan saat mendapatkan metadata @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 Terjadi kesalahan saat memuat konten: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Dokumen berikutnya @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Dokumen sebelumnya @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Simpan dokumen @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Simpan dan tutup / lanjut @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Gagal mengambil saran. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Dokumen "" berhasil disimpan. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Kesalahan saat menyimpan dokumen @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Kesalahan saat menghapus dokumen @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 Tindakan ini akan membuat ulang file arsip dokumen secara permanen. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 File arsip akan dibuat ulang dengan pengaturan saat ini. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Gagal menjalankan operasi @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Gagal mengunduh dokumen @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Sesuaikan halaman @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Gagal menjalankan proses edit PDF @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executing password removal operation @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Pencetakan gagal. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Error memuat dokumen untuk dicetak. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 Terjadi kesalahan saat memuat tiff: diff --git a/src-ui/src/locale/messages.it_IT.xlf b/src-ui/src/locale/messages.it_IT.xlf index a113b746c..5a1f2769d 100644 --- a/src-ui/src/locale/messages.it_IT.xlf +++ b/src-ui/src/locale/messages.it_IT.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 Editor PDF @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Rimuovi la protezione con password @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Crea una copia non protetta o sostituisci il file esistente. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Avvia @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Errore durante il caricamento dell'anteprima @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Apri anteprima @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Inserisci password @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Errore durante il recupero dei metadati @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 Si è verificato un errore durante il caricamento del contenuto: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Il documento è stato aggiornato @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Il documento è stato aggiornato alle . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Ricarica per eliminare le modifiche locali non salvate e caricare la versione remota più recente. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Ricarica @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Documento ricaricato con le ultime modifiche. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Documento ricaricato. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Documento successivo @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Documento precedente @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Salva documento @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Salva e chiudi / avanti @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Errore durante il recupero del contenuto della versione @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Errore durante il recupero dei suggerimenti. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Documento "" salvato correttamente. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Errore durante il salvataggio del documento "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Errore durante il salvataggio del documento @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Vuoi davvero spostare il documento "" nel cestino? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Errore durante l'eliminazione del documento @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 Questa operazione ricreerà in modo permanente il file di archivio per questo documento. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 Il file di archivio verrà rigenerato con le impostazioni correnti. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 L'operazione di rielaborazione per "" inizierà in background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Errore durante l'esecuzione dell'operazione @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Errore durante il download del documento @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Adatta alla pagina @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 L'operazione di modifica PDF per "" inizierà in background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Errore durante l'esecuzione dell'operazione di modifica PDF @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Inserisci la password corrente prima di tentare di rimuoverla. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 L'operazione di rimozione della password per "" inizierà in background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Errore durante l'esecuzione dell'operazione di rimozione della password @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Stampa non riuscita. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Errore durante il caricamento del documento per la stampa. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 Si è verificato un errore durante il caricamento del tiff: diff --git a/src-ui/src/locale/messages.ja_JP.xlf b/src-ui/src/locale/messages.ja_JP.xlf index e7a92fea7..5ba9f2188 100644 --- a/src-ui/src/locale/messages.ja_JP.xlf +++ b/src-ui/src/locale/messages.ja_JP.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF Editor @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Remove password protection @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Create an unprotected copy or replace the existing file. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Start @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 プレビューの読み込みに失敗しました @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 プレビューを開く @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 パスワードを入力 @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 メタデータの取得に失敗しました @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 コンテンツ: の読み込み中にエラーが発生しました @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 次のドキュメント @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 前のドキュメント @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 ドキュメントを保存 @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 保存して閉じる / 次へ @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 提案の取得に失敗しました @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 ドキュメント「」が正常に保存されました。 @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 ドキュメントの保存に失敗しました @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 ドキュメントの削除に失敗しました @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 この操作により、このドキュメントのアーカイブファイルが永続的に再作成されます。 @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 アーカイブファイルは現在の設定で再生成されます。 @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 操作の実行に失敗しました @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 ドキュメントのダウンロードに失敗しました @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 ページに合わせる @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Error executing PDF edit operation @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executing password removal operation @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Print failed. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Error loading document for printing. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 TIFFの読み込み中にエラーが発生しました: diff --git a/src-ui/src/locale/messages.ko_KR.xlf b/src-ui/src/locale/messages.ko_KR.xlf index b6405df3e..dab8a691b 100644 --- a/src-ui/src/locale/messages.ko_KR.xlf +++ b/src-ui/src/locale/messages.ko_KR.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF 편집기 @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Remove password protection @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Create an unprotected copy or replace the existing file. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Start @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 미리보기 로딩 오류 @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 미리보기 열기 @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 비밀번호 입력 @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 메타데이터를 가져오는데 실패하였습니다. @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 콘텐츠를 로드하는 동안 오류가 발생했습니다: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 다음 문서 @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 이전 문서 @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 문서 저장 @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 저장 및 닫기 / 다음 @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 추천을 가져오는데 실패하였습니다. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 문서 ""가 성공적으로 저장되었습니다. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 문서를 저장하는데 오류가 발생하였습니다. @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 문서 삭제 오류 @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 이 작업을 수행하면 이 문서의 아카이브 파일이 영구적으로 다시 생성됩니다. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 아카이브 파일은 현재 설정으로 다시 생성됩니다. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 작업 수행중 오류가 발생하였습니다. @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 문서 다운로드 중 오류 발생 @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 페이지 맞춤 @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Error executing PDF edit operation @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executing password removal operation @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 인쇄 실패. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Error loading document for printing. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 tiff를 로드하는 동안 오류가 발생했습니다: diff --git a/src-ui/src/locale/messages.lb_LU.xlf b/src-ui/src/locale/messages.lb_LU.xlf index 4226e3779..bfc412d7c 100644 --- a/src-ui/src/locale/messages.lb_LU.xlf +++ b/src-ui/src/locale/messages.lb_LU.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF Editor @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Remove password protection @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Create an unprotected copy or replace the existing file. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Start @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Error loading preview @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Open preview @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Passwuert aginn @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Error retrieving metadata @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 An error occurred loading content: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Next document @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Previous document @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Save document @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Save and close / next @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Error retrieving suggestions. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Document "" saved successfully. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Error saving document @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Error deleting document @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 This operation will permanently recreate the archive file for this document. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 The archive file will be re-generated with the current settings. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Error executing operation @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Error downloading document @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Page Fit @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Error executing PDF edit operation @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executing password removal operation @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Print failed. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Error loading document for printing. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 An error occurred loading tiff: diff --git a/src-ui/src/locale/messages.lt_LT.xlf b/src-ui/src/locale/messages.lt_LT.xlf index 9882a0536..e92debeb7 100644 --- a/src-ui/src/locale/messages.lt_LT.xlf +++ b/src-ui/src/locale/messages.lt_LT.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF Editor @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Remove password protection @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Create an unprotected copy or replace the existing file. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Start @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Error loading preview @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Open preview @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Įveskite slaptažodį @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Error retrieving metadata @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 An error occurred loading content: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Kitas dokumentas @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Ankstesnis dokumentas @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Išsaugoti dokumentą @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Save and close / next @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Error retrieving suggestions. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Document "" saved successfully. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Error saving document @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Error deleting document @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 This operation will permanently recreate the archive file for this document. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 The archive file will be re-generated with the current settings. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Error executing operation @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Error downloading document @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Page Fit @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Error executing PDF edit operation @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executing password removal operation @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Print failed. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Error loading document for printing. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 An error occurred loading tiff: diff --git a/src-ui/src/locale/messages.lv_LV.xlf b/src-ui/src/locale/messages.lv_LV.xlf index f04dc7466..c92b42762 100644 --- a/src-ui/src/locale/messages.lv_LV.xlf +++ b/src-ui/src/locale/messages.lv_LV.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF Editor @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Remove password protection @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Create an unprotected copy or replace the existing file. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Start @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Error loading preview @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Open preview @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Enter Password @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Error retrieving metadata @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 An error occurred loading content: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Next document @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Previous document @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Save document @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Save and close / next @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Error retrieving suggestions. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Document "" saved successfully. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Error saving document @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Error deleting document @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 This operation will permanently recreate the archive file for this document. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 The archive file will be re-generated with the current settings. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Error executing operation @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Error downloading document @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Page Fit @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Error executing PDF edit operation @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executing password removal operation @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Print failed. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Error loading document for printing. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 An error occurred loading tiff: diff --git a/src-ui/src/locale/messages.mk_MK.xlf b/src-ui/src/locale/messages.mk_MK.xlf index a5857190e..d1544d27a 100644 --- a/src-ui/src/locale/messages.mk_MK.xlf +++ b/src-ui/src/locale/messages.mk_MK.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF Editor @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Remove password protection @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Create an unprotected copy or replace the existing file. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Start @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Error loading preview @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Open preview @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Enter Password @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Error retrieving metadata @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 An error occurred loading content: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Next document @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Previous document @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Save document @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Save and close / next @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Error retrieving suggestions. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Document "" saved successfully. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Error saving document @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Error deleting document @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 This operation will permanently recreate the archive file for this document. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 The archive file will be re-generated with the current settings. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Error executing operation @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Error downloading document @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Page Fit @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Error executing PDF edit operation @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executing password removal operation @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Print failed. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Error loading document for printing. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 An error occurred loading tiff: diff --git a/src-ui/src/locale/messages.ms_MY.xlf b/src-ui/src/locale/messages.ms_MY.xlf index 75a91a725..9d8258c40 100644 --- a/src-ui/src/locale/messages.ms_MY.xlf +++ b/src-ui/src/locale/messages.ms_MY.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF Editor @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Remove password protection @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Create an unprotected copy or replace the existing file. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Start @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Error loading preview @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Open preview @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Enter Password @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Error retrieving metadata @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 An error occurred loading content: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Next document @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Previous document @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Save document @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Save and close / next @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Error retrieving suggestions. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Document "" saved successfully. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Error saving document @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Error deleting document @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 This operation will permanently recreate the archive file for this document. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 The archive file will be re-generated with the current settings. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Error executing operation @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Error downloading document @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Page Fit @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Error executing PDF edit operation @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executing password removal operation @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Print failed. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Error loading document for printing. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 An error occurred loading tiff: diff --git a/src-ui/src/locale/messages.nl_NL.xlf b/src-ui/src/locale/messages.nl_NL.xlf index 832cac2a4..4a1b05352 100644 --- a/src-ui/src/locale/messages.nl_NL.xlf +++ b/src-ui/src/locale/messages.nl_NL.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF-editor @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -3572,7 +3572,7 @@ src/app/components/manage/document-attributes/document-attributes.component.ts 105 - Document types + Documentsoorten Storage paths @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Verwijder wachtwoordbeveiliging @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Maak een niet-beveiligde kopie aan of vervang het bestaande bestand. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Begin @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Fout bij laden voorbeeld @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Voorbeeld openen @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Wachtwoord invoeren @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Fout bij ophalen metadata @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 Er is een fout opgetreden bij het laden van de inhoud: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Het document is bijgewerkt @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Volgend document @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Vorig document @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Document opslaan @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Opslaan en sluiten/volgende @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Fout bij ophalen suggesties. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Document "" succesvol opgeslagen. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Fout bij opslaan document @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Fout bij verwijderen document @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 Met deze bewerking wordt het gearchiveerde bestand voor dit document permanent opnieuw gemaakt. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 Het gearchiveerde bestand wordt opnieuw gegenereerd met de huidige instellingen. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Fout bij uitvoeren bewerking @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Fout bij downloaden document @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Pagina passend maken @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Fout tijdens het bewerken van PDF @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Voer het huidige wachtwoord in voordat je het verwijdert. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Fout bij het verwijderen van wachtwoord @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Printen mislukt. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Fout bij laden van document voor printen. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 Fout bij het laden van tiff: diff --git a/src-ui/src/locale/messages.no_NO.xlf b/src-ui/src/locale/messages.no_NO.xlf index 73063b02a..1dd3c9924 100644 --- a/src-ui/src/locale/messages.no_NO.xlf +++ b/src-ui/src/locale/messages.no_NO.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF-redigeringsprogram @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Fjern passordbeskyttelse @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Opprett en ubeskyttet kopi eller erstatte den eksisterende filen. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Start @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Feil ved forhåndsvisning @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Åpne forhåndsvisning @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Skriv inn passord @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Feil ved henting av metadata @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 Det oppstod en feil ved lasting av innhold: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Dokumentet ble oppdatert @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Dokumentet ble oppdatert på . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Last på nytt for å forkaste dine lokale ulagrede redigeringer og last den nyeste eksterne versjonen. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Last på nytt @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Dokumentet lastet på nytt med siste endringer. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Dokument lastet på nytt. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Neste dokument @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Forrige dokument @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Lagre dokument @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Lagre og lukk / neste @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Feil ved henting av versjonsinnhold @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Feil ved henting av forslag. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Dokument "" ble lagret. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Feil ved lagring av dokument "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Feil ved lagring av dokument @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Ønsker du virkelig å flytte dokumentet "" til papirkurven? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Feil ved sletting av dokumentet @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 Denne operasjonen vil permanent gjenskape arkivfilen for dette dokumentet. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 Arkivfilen vil bli generert på nytt med de nåværende innstillingene. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Ny import for "" vil begynne i bakgrunnen. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Feil under utføring av oppgaven @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Feil ved nedlasting av dokument @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Tilpass siden @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF redigering for "" vil begynne i bakgrunnen. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Feil under utføring av PDF-redigering @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Skriv inn nåværende passord før du prøver å fjerne det. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 PDF redigering for "" vil begynne i bakgrunnen. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Feil under fjerning av passord @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Utskrift mislyktes. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Feil ved lasting av dokument for utskrift. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 En feil oppstod under lasting av tiff: diff --git a/src-ui/src/locale/messages.pl_PL.xlf b/src-ui/src/locale/messages.pl_PL.xlf index 1e50111c8..c7e590d37 100644 --- a/src-ui/src/locale/messages.pl_PL.xlf +++ b/src-ui/src/locale/messages.pl_PL.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 Edytor dokumentu PDF @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Usuń ochronę hasłem @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Utwórz kopię bez zabezpieczenia lub zastąp istniejący plik. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Rozpocznij @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Błąd ładowania podglądu @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Otwórz podgląd @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Wprowadź hasło @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Błąd podczas pobierania metadanych @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 Wystąpił błąd podczas ładowania zawartości: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Dokument został zaktualizowany @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Dokument został zaktualizowany w . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Załaduj ponownie, aby odrzucić lokalne niezapisane zmiany i załadować najnowszą wersję zdalną. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Przeładuj @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Dokument ponownie załadowany z najnowszymi zmianami. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Dokument został przeładowany. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Następny dokument @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Poprzedni dokument @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Zapisz dokument @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Zapisz i zamknij / następny @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Błąd podczas pobierania zawartości wersji @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Błąd podczas pobierania sugestii. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Dokument "" zapisany pomyślnie. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Błąd podczas zapisywania dokumentu @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Błąd usuwania dokumentu @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 Ta operacja spowoduje trwałe odtworzenie pliku archiwum dla tego dokumentu. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 Plik archiwum zostanie ponownie wygenerowany z bieżącymi ustawieniami. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Błąd podczas wykonywania operacji @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Błąd pobierania dokumentu @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Dopasuj do strony @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Błąd podczas edycji dokumentu PDF @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Proszę wprowadzić aktualne hasło przed próbą jego usunięcia. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Błąd podczas operacji usuwania hasła @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Błąd drukowania. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Błąd ładowania dokumentu do wydruku. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 Wystąpił błąd podczas ładowania pliku TIFF: diff --git a/src-ui/src/locale/messages.pt_BR.xlf b/src-ui/src/locale/messages.pt_BR.xlf index 3626764c7..34f2c382e 100644 --- a/src-ui/src/locale/messages.pt_BR.xlf +++ b/src-ui/src/locale/messages.pt_BR.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 Editor de PDF @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Remover a proteção por senha @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Crie uma cópia sem proteção ou substitua o arquivo existente. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Iniciar @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7073,7 +7073,7 @@ Erro ao enviar documentos por e-mail Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Erro ao carregar pré-visualização @@ -7081,7 +7081,7 @@ Erro ao enviar documentos por e-mail Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Abrir pré-visualização @@ -8787,7 +8787,7 @@ Erro ao enviar documentos por e-mail Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Digite a senha @@ -8795,7 +8795,7 @@ Erro ao enviar documentos por e-mail Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Erro ao recuperar metadados @@ -8803,11 +8803,11 @@ Erro ao enviar documentos por e-mail An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 Ocorreu um erro ao carregar o conteúdo: @@ -8815,7 +8815,7 @@ Erro ao enviar documentos por e-mail Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8823,7 +8823,7 @@ Erro ao enviar documentos por e-mail Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8831,7 +8831,7 @@ Erro ao enviar documentos por e-mail Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8839,7 +8839,7 @@ Erro ao enviar documentos por e-mail Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8847,7 +8847,7 @@ Erro ao enviar documentos por e-mail Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8855,7 +8855,7 @@ Erro ao enviar documentos por e-mail Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8863,7 +8863,7 @@ Erro ao enviar documentos por e-mail Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Próximo documento @@ -8871,7 +8871,7 @@ Erro ao enviar documentos por e-mail Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Documento anterior @@ -8879,7 +8879,7 @@ Erro ao enviar documentos por e-mail Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8891,7 +8891,7 @@ Erro ao enviar documentos por e-mail Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Salvar documento @@ -8899,7 +8899,7 @@ Erro ao enviar documentos por e-mail Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Salvar e fechar / próximo @@ -8907,7 +8907,7 @@ Erro ao enviar documentos por e-mail Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8915,7 +8915,7 @@ Erro ao enviar documentos por e-mail Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Erro ao recuperar sugestões. @@ -8923,11 +8923,11 @@ Erro ao enviar documentos por e-mail Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Documento "" salvo com sucesso. @@ -8935,7 +8935,7 @@ Erro ao enviar documentos por e-mail Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8943,7 +8943,7 @@ Erro ao enviar documentos por e-mail Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Erro ao salvar documento @@ -8951,7 +8951,7 @@ Erro ao enviar documentos por e-mail Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8959,7 +8959,7 @@ Erro ao enviar documentos por e-mail Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8971,7 +8971,7 @@ Erro ao enviar documentos por e-mail Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Erro ao apagar documento @@ -8979,7 +8979,7 @@ Erro ao enviar documentos por e-mail Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8991,7 +8991,7 @@ Erro ao enviar documentos por e-mail This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 Essa operação irá recriar permanentemente o arquivo para este documento. @@ -8999,7 +8999,7 @@ Erro ao enviar documentos por e-mail The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 Os arquivos serão re-gerados com as configurações atuais. @@ -9007,7 +9007,7 @@ Erro ao enviar documentos por e-mail Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9015,7 +9015,7 @@ Erro ao enviar documentos por e-mail Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Erro ao executar a operação de divisão @@ -9023,7 +9023,7 @@ Erro ao enviar documentos por e-mail Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Erro ao baixar o documento @@ -9031,7 +9031,7 @@ Erro ao enviar documentos por e-mail Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Ajustar à Página @@ -9039,7 +9039,7 @@ Erro ao enviar documentos por e-mail PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9047,7 +9047,7 @@ Erro ao enviar documentos por e-mail Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Erro ao executar a operação de divisão @@ -9055,7 +9055,7 @@ Erro ao enviar documentos por e-mail Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Digite a senha atual antes de tentar removê-la. @@ -9063,7 +9063,7 @@ Erro ao enviar documentos por e-mail Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9071,7 +9071,7 @@ Erro ao enviar documentos por e-mail Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Erro ao executar operação de remoção de senha @@ -9079,7 +9079,7 @@ Erro ao enviar documentos por e-mail Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Impressão falhou. @@ -9087,7 +9087,7 @@ Erro ao enviar documentos por e-mail Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Erro ao carregar o documento para impressão. @@ -9095,11 +9095,11 @@ Erro ao enviar documentos por e-mail An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 Ocorreu um erro ao carregar tiff: diff --git a/src-ui/src/locale/messages.pt_PT.xlf b/src-ui/src/locale/messages.pt_PT.xlf index 72760e120..2b13371b7 100644 --- a/src-ui/src/locale/messages.pt_PT.xlf +++ b/src-ui/src/locale/messages.pt_PT.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF Editor @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Remove password protection @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Create an unprotected copy or replace the existing file. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Start @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Error loading preview @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Abrir pré-visualização @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Introduzir Palavra-Passe @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Erro ao obter os metadados @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 Ocurreu um erro ao carregar o conteúdo: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Next document @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Previous document @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Save document @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Save and close / next @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Erro ao obter sugestões. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Document "" saved successfully. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Erro ao gravar documento @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Error deleting document @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 This operation will permanently recreate the archive file for this document. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 The archive file will be re-generated with the current settings. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Error executing operation @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Error downloading document @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Page Fit @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Error executing PDF edit operation @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executing password removal operation @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Print failed. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Error loading document for printing. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 An error occurred loading tiff: diff --git a/src-ui/src/locale/messages.ro_RO.xlf b/src-ui/src/locale/messages.ro_RO.xlf index 6488aa354..6fe91c215 100644 --- a/src-ui/src/locale/messages.ro_RO.xlf +++ b/src-ui/src/locale/messages.ro_RO.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 Editor PDF @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Elimină protecția prin parolă @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Creează o copie neprotejată sau înlocuiește fișierul existent. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Pornire @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Eroare la încărcarea previzualizării @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Deschide previzualizarea @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Introdu Parola @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Eroare la preluarea metadatelor @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 A apărut o eroare la încărcarea conținutului: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Următorul document @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Documentul anterior @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Salvează documentul @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Salvează și închide / următorul @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Eroare la preluarea sugestiilor. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Documentul "salvat cu succes. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Eroare la salvarea documentului @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Eroare la ștergerea documentului @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 Această operație va recrea definitiv fișierul arhivă pentru acest document. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 Fişierul arhivă va fi re-generat cu setările curente. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Eroare la executarea operațiunii @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Eroare la descărcarea documentului @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Potrivire pagină @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Eroare la executarea operaţiei de editare PDF @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Te rugăm să introduci parola curentă înainte de a încerca să o elimini. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Eroare la executarea operaţiei de eliminare a parolei @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Imprimare eșuată. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Eroare la încărcarea documentului pentru imprimare. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 S-a produs o eroare la încărcarea tiff-ului: diff --git a/src-ui/src/locale/messages.ru_RU.xlf b/src-ui/src/locale/messages.ru_RU.xlf index 308ab6655..e9e03e13b 100644 --- a/src-ui/src/locale/messages.ru_RU.xlf +++ b/src-ui/src/locale/messages.ru_RU.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 Редактор PDF @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Remove password protection @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Create an unprotected copy or replace the existing file. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Start @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Ошибка при загрузке предпросмотра @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Открыть предпросмотр @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Введите пароль @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Ошибка при получении метаданных @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 Произошла ошибка при загрузке контента: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Следующий документ @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Предыдущий документ @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Сохранить документ @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Сохранить и закрыть / далее @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Ошибка при получении предложений. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Документ "" успешно сохранён. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Ошибка при сохранении документа @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Ошибка удаления документа @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 Это действие перезапишет файл архива для этого документа. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 Файл архива будет сгенерирован с текущими настройками. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Ошибка при выполнении операции @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Ошибка скачивания документа @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Вместить страницу @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Ошибка при выполнении операции редактирования PDF @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executing password removal operation @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Печать не удалась. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Ошибка загрузки документа для печати. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 Произошла ошибка при загрузке tiff: diff --git a/src-ui/src/locale/messages.sk_SK.xlf b/src-ui/src/locale/messages.sk_SK.xlf index 15a153834..4874fde2e 100644 --- a/src-ui/src/locale/messages.sk_SK.xlf +++ b/src-ui/src/locale/messages.sk_SK.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF Editor @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Remove password protection @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Create an unprotected copy or replace the existing file. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Start @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Error loading preview @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Open preview @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Zadajte Heslo @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Chyba pri získavaní metadát @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 Vyskytla sa chyba počas nahrávania obsahu: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Next document @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Previous document @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Save document @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Save and close / next @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Chyba pri získavaní odporúčaní. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Document "" saved successfully. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Chyba pri ukladaní dokumentu @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Error deleting document @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 This operation will permanently recreate the archive file for this document. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 The archive file will be re-generated with the current settings. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Error executing operation @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Error downloading document @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Page Fit @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Error executing PDF edit operation @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executing password removal operation @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Print failed. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Error loading document for printing. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 An error occurred loading tiff: diff --git a/src-ui/src/locale/messages.sl_SI.xlf b/src-ui/src/locale/messages.sl_SI.xlf index 228c9465f..d291be34f 100644 --- a/src-ui/src/locale/messages.sl_SI.xlf +++ b/src-ui/src/locale/messages.sl_SI.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 Urejevalnik PDF @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Odstranite zaščito z geslom @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Ustvarite nezaščiteno kopijo ali zamenjajte obstoječo datoteko. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Začni @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Napaka pri nalaganju predogleda @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Odpri predogled @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Vnesi geslo @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Napaka pri pridobivanju metapodatkov @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 Napaka pri nalaganju vsebine: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Dokument je bil posodobljen @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Dokument je bil posodobljen ob . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Ponovno naloži, da zavržeš lokalne neshranjene spremembe in naložiš najnovejšo oddaljeno različico. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Ponovno naloži @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Dokument je bil ponovno naložen z najnovejšimi spremembami. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Dokument je bil ponovno naložen. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Naslednji dokument @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Prejšnji dokument @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Shrani dokument @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Shrani in zapri / naprej @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Napaka pri pridobivanju vsebine različice @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Napaka pri pridobivanju priporočil. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Dokument "" je bil uspešno shranjen. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Napaka pri shranjevanju dokumenta "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Napaka pri shranjevanju dokumenta @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Ali res želite premakniti dokument "" v koš? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Napaka pri brisanju dokumenta @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 To dejanje bo dokončno poustvarilo arhivsko datoteko za izbran dokument. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 Arhivska datoteka bo poustvarjena s trenutnimi nastavitvami. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 V ozadju se bo začel postopek ponovne obdelave za "". @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Napaka pri izvajanju operacije @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Napaka pri prenosu dokumenta @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Prileganje strani @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 Urejanje PDF-ja za "" se bo začelo v ozadju. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Napaka pri urejanju PDF @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Preden poskusite odstraniti geslo, ga vnesite. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Operacija odstranitve gesla za "" se bo začela v ozadju. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Napaka pri izvajanju odstranitve gesla @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Tiskanje ni uspelo. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Napaka pri nalaganju dokumenta za tiskanje. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 Pri nalaganju datoteke tiff je prišlo do napake: diff --git a/src-ui/src/locale/messages.sq_AL.xlf b/src-ui/src/locale/messages.sq_AL.xlf index 114ebee87..0a43b5def 100644 --- a/src-ui/src/locale/messages.sq_AL.xlf +++ b/src-ui/src/locale/messages.sq_AL.xlf @@ -1399,7 +1399,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF Editor @@ -2359,7 +2359,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3339,11 +3339,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4003,7 +4003,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4127,7 +4127,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 [SQ] Remove password protection @@ -4139,7 +4139,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Create an unprotected copy or replace the existing file. @@ -4151,7 +4151,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 [SQ] Start @@ -6275,7 +6275,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7073,7 +7073,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 [SQ] Error loading preview @@ -7081,7 +7081,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 [SQ] Open preview @@ -8787,7 +8787,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Enter Password @@ -8795,7 +8795,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 [SQ] Error retrieving metadata @@ -8803,11 +8803,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 [SQ] An error occurred loading content: @@ -8815,7 +8815,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8823,7 +8823,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8831,7 +8831,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 [SQ] Reload to discard your local unsaved edits and load the latest remote version. @@ -8839,7 +8839,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 [SQ] Reload @@ -8847,7 +8847,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8855,7 +8855,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8863,7 +8863,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 [SQ] Next document @@ -8871,7 +8871,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 [SQ] Previous document @@ -8879,7 +8879,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8891,7 +8891,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Save document @@ -8899,7 +8899,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Save and close / next @@ -8907,7 +8907,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 [SQ] Error retrieving version content @@ -8915,7 +8915,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 [SQ] Error retrieving suggestions. @@ -8923,11 +8923,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Document "" saved successfully. @@ -8935,7 +8935,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8943,7 +8943,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 [SQ] Error saving document @@ -8951,7 +8951,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8959,7 +8959,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8971,7 +8971,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 [SQ] Error deleting document @@ -8979,7 +8979,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8991,7 +8991,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 [SQ] This operation will permanently recreate the archive file for this document. @@ -8999,7 +8999,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 [SQ] The archive file will be re-generated with the current settings. @@ -9007,7 +9007,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9015,7 +9015,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 [SQ] Error executing operation @@ -9023,7 +9023,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 [SQ] Error downloading document @@ -9031,7 +9031,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 [SQ] Page Fit @@ -9039,7 +9039,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9047,7 +9047,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 [SQ] Error executing PDF edit operation @@ -9055,7 +9055,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 [SQ] Please enter the current password before attempting to remove it. @@ -9063,7 +9063,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9071,7 +9071,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 [SQ] Error executing password removal operation @@ -9079,7 +9079,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 [SQ] Print failed. @@ -9087,7 +9087,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 [SQ] Error loading document for printing. @@ -9095,11 +9095,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 [SQ] An error occurred loading tiff: diff --git a/src-ui/src/locale/messages.sr_CS.xlf b/src-ui/src/locale/messages.sr_CS.xlf index 21c9be186..d33e17fe5 100644 --- a/src-ui/src/locale/messages.sr_CS.xlf +++ b/src-ui/src/locale/messages.sr_CS.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF uređivač @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Uklonite zaštitu lozinkom @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Napravite nezaštićenu kopiju ili zamenite postojeću datoteku. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Pokrеni @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Greška prilikom učitavanja pregleda @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Otvori pregled @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Unesite lozinku @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Greška pri preuzimanju metapodataka @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 Greške se pojavila prilikom učitavanja sadržaja: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Dokument je ažuriran @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Dokument je ažuriran u . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Ponovo učitajte da biste odbacili lokalne nesačuvane izmene i učitali najnoviju udaljenu verziju. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Osveži @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Dokument je ponovo učitan sa najnovijim izmenama. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Dokument je ponovo učitan. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Sledeći dokument @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Prethodni dokument @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Sačuvaj dokument @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Sačuvaj i zatvori / sledeće @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Greška pri preuzimanju sadržaja verzije @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Greška pri preuzimanju predloga. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Dokument "" je sačuvan uspešno. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Greška prilikom čuvanja dokumenta @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Greška prilikom brisanja dokumenta @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 Ova akcija će trajno ponovo kreirati arhivski fajl za ovaj dokument. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 Arhivski fajl će biti ponovo generisan sa trenutnim podešavanjima. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Greška prilikom izvršavanja operacije @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Greška prilikom preuzimanja dokumenta @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Prilagodi stranicu @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Greška pri izvršavanju operacije uređivanja PDF-a @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Molimo vas da unesete trenutnu lozinku pre nego što pokušate da je uklonite. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Greška pri izvršavanju operacije uklanjanja lozinke @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Štampanje nije uspelo. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Greška pri učitavanju dokumenta za štampanje. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 Došlo je do greške prilikom učitavanja TIFF-a: diff --git a/src-ui/src/locale/messages.sv_SE.xlf b/src-ui/src/locale/messages.sv_SE.xlf index 8502e4ea9..2d15833aa 100644 --- a/src-ui/src/locale/messages.sv_SE.xlf +++ b/src-ui/src/locale/messages.sv_SE.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF-redigerare @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Ta bort lösenordsskydd @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Create an unprotected copy or replace the existing file. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Start @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Fel vid inläsning av förhandsgranskning @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Öppna förhandsvisning @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Ange lösenord @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Fel vid hämtning av metadata @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 Ett fel uppstod när innehållet laddades: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Dokument uppdaterades @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Ladda om @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Dokument laddat om med senaste ändringarna. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Dokument laddat om. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Nästa dokument @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Föregående dokument @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Spara dokument @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Spara och stäng / nästa @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Fel vid hämtning av versionsinnehåll @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Fel vid hämtning av förslag. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Document "" saved successfully. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Kunde inte spara dokumentet @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Fel vid borttagning av dokument @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 This operation will permanently recreate the archive file for this document. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 The archive file will be re-generated with the current settings. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Error executing operation @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Fel vid hämtning av dokument @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Page Fit @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Error executing PDF edit operation @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executing password removal operation @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Utskrift misslyckades. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Fel vid inläsning av dokument för utskrift. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 An error occurred loading tiff: diff --git a/src-ui/src/locale/messages.th_TH.xlf b/src-ui/src/locale/messages.th_TH.xlf index bd9ab093d..e8a53835c 100644 --- a/src-ui/src/locale/messages.th_TH.xlf +++ b/src-ui/src/locale/messages.th_TH.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF Editor @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Remove password protection @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Create an unprotected copy or replace the existing file. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Start @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Error loading preview @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Open preview @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 กรอกรหัสผ่าน @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Error retrieving metadata @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 An error occurred loading content: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Next document @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Previous document @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Save document @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Save and close / next @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Error retrieving suggestions. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Document "" saved successfully. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Error saving document @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 เกิดข้อผิดพลาดในการลบเอกสาร @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 This operation will permanently recreate the archive file for this document. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 The archive file will be re-generated with the current settings. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Error executing operation @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Error downloading document @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Page Fit @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Error executing PDF edit operation @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executing password removal operation @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Print failed. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Error loading document for printing. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 An error occurred loading tiff: diff --git a/src-ui/src/locale/messages.tr_TR.xlf b/src-ui/src/locale/messages.tr_TR.xlf index 476989d8e..9267d2376 100644 --- a/src-ui/src/locale/messages.tr_TR.xlf +++ b/src-ui/src/locale/messages.tr_TR.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF Düzenleyici @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Remove password protection @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Create an unprotected copy or replace the existing file. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Start @@ -6276,7 +6276,7 @@ tüm krite src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7074,7 +7074,7 @@ tüm krite Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Ön izleme yüklenirken hata @@ -7082,7 +7082,7 @@ tüm krite Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Ön izlemeyi aç @@ -8788,7 +8788,7 @@ tüm krite Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Parolayı girin @@ -8796,7 +8796,7 @@ tüm krite Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Metaveri alınırken bir hata meydana geldi @@ -8804,11 +8804,11 @@ tüm krite An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 İçerik yüklenirken bir hata ile karşılaşıldı: @@ -8816,7 +8816,7 @@ tüm krite Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8824,7 +8824,7 @@ tüm krite Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8832,7 +8832,7 @@ tüm krite Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8840,7 +8840,7 @@ tüm krite Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8848,7 +8848,7 @@ tüm krite Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8856,7 +8856,7 @@ tüm krite Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8864,7 +8864,7 @@ tüm krite Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Sonraki belge @@ -8872,7 +8872,7 @@ tüm krite Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Önceki belge @@ -8880,7 +8880,7 @@ tüm krite Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8892,7 +8892,7 @@ tüm krite Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Belgeyi kaydet @@ -8900,7 +8900,7 @@ tüm krite Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Kaydet, kapat ve bir sonrakine geç @@ -8908,7 +8908,7 @@ tüm krite Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8916,7 +8916,7 @@ tüm krite Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Öneriler getirilirken bir hata meydana geldi. @@ -8924,11 +8924,11 @@ tüm krite Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 "" belgesi başarıyla kaydedildi. @@ -8936,7 +8936,7 @@ tüm krite Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8944,7 +8944,7 @@ tüm krite Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Belge kaydedilirken bir hata ile karşılaşıldı @@ -8952,7 +8952,7 @@ tüm krite Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8960,7 +8960,7 @@ tüm krite Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8972,7 +8972,7 @@ tüm krite Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Belge silinirken bir hata meydana geldi @@ -8980,7 +8980,7 @@ tüm krite Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8992,7 +8992,7 @@ tüm krite This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 Bu işlem, bu belge için arşiv dosyasını kalıcı olarak yeniden oluşturacaktır. @@ -9000,7 +9000,7 @@ tüm krite The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 Arşiv dosyası mevcut ayarlarla yeniden oluşturulacaktır. @@ -9008,7 +9008,7 @@ tüm krite Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9016,7 +9016,7 @@ tüm krite Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 İşlemi gerçekleştirirken bir hata ile karşılaşıldı @@ -9024,7 +9024,7 @@ tüm krite Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Belge indirilirken bir hata meydana geldi @@ -9032,7 +9032,7 @@ tüm krite Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Sayfa Sığdır @@ -9040,7 +9040,7 @@ tüm krite PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9048,7 +9048,7 @@ tüm krite Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 PDF düzenleme işlemleri uygulanırken bir hata ile karşılaşıldı @@ -9056,7 +9056,7 @@ tüm krite Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9064,7 +9064,7 @@ tüm krite Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9072,7 +9072,7 @@ tüm krite Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executing password removal operation @@ -9080,7 +9080,7 @@ tüm krite Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Yazdırma başarısız oldu. @@ -9088,7 +9088,7 @@ tüm krite Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Belgeyi yazdırmaya hazırlarken bir hata ile karşılaşıldı. @@ -9096,11 +9096,11 @@ tüm krite An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 tiff'i yüklenirken bir hata meydana geldi diff --git a/src-ui/src/locale/messages.uk_UA.xlf b/src-ui/src/locale/messages.uk_UA.xlf index 69b1248d8..85f1aec49 100644 --- a/src-ui/src/locale/messages.uk_UA.xlf +++ b/src-ui/src/locale/messages.uk_UA.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF Editor @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Remove password protection @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Create an unprotected copy or replace the existing file. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Start @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Помилка при завантаженні попереднього перегляду @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Відкрити попередній перегляд @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Введіть пароль @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Помилка отримання метаданих @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 Під час завантаження вмісту сталася помилка: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Наступний документ @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Попередній документ @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Зберегти документ @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Зберегти й закрити / наступний @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Помилка при отриманні пропозицій. @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Document "" saved successfully. @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Помилка при збереженні документа @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Помилка видалення документа @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 Ця операція остаточно відновить архівний файл цього документа. @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 Файл архіву буде повторно створений з поточними налаштуваннями. @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Помилка виконання операції @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Помилка завантаження документа @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Вмістити сторінку @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Error executing PDF edit operation @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executing password removal operation @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 Print failed. @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Error loading document for printing. @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 An error occurred loading tiff: diff --git a/src-ui/src/locale/messages.vi_VN.xlf b/src-ui/src/locale/messages.vi_VN.xlf index 50668b124..4c792832b 100644 --- a/src-ui/src/locale/messages.vi_VN.xlf +++ b/src-ui/src/locale/messages.vi_VN.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 Trình chỉnh sửa PDF @@ -2360,7 +2360,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3348,11 +3348,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4020,7 +4020,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4144,7 +4144,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Remove password protection @@ -4156,7 +4156,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Create an unprotected copy or replace the existing file. @@ -4168,7 +4168,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 Start @@ -6302,7 +6302,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7106,7 +7106,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 Lỗi tải Xem trước @@ -7114,7 +7114,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 Mở bản xem trước @@ -8836,7 +8836,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 Nhập mật khẩu @@ -8844,7 +8844,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 Lỗi truy xuất siêu dữ liệu @@ -8852,11 +8852,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 Đã xảy ra lỗi Nội dung tải: @@ -8866,7 +8866,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8874,7 +8874,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8882,7 +8882,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8890,7 +8890,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8898,7 +8898,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8906,7 +8906,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8914,7 +8914,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 Tài liệu sau @@ -8922,7 +8922,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 Tài liệu trước @@ -8930,7 +8930,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8942,7 +8942,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 Lưu tài liệu @@ -8950,7 +8950,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 Lưu và đóng / tiếp theo @@ -8958,7 +8958,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8966,7 +8966,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 Lỗi khi lấy các gợi ý. @@ -8974,11 +8974,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 Tài liệu "" Đã lưu thành công. @@ -8988,7 +8988,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8996,7 +8996,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 Lỗi khi lưu tài liệu @@ -9004,7 +9004,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -9012,7 +9012,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -9024,7 +9024,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 Lỗi khi xóa tài liệu. @@ -9032,7 +9032,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -9044,7 +9044,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 Thao tác này sẽ tạo lại vĩnh viễn tệp lưu trữ cho tài liệu này. @@ -9052,7 +9052,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 Tệp lưu trữ sẽ được tạo lại với các cài đặt hiện tại. @@ -9060,7 +9060,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9068,7 +9068,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 Lỗi thực hiện thao tác @@ -9076,7 +9076,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 Lỗi khi tải xuống tài liệu @@ -9084,7 +9084,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 Vừa khít trang @@ -9092,7 +9092,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9100,7 +9100,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 Lỗi khi thực hiện chỉnh sửa PDF @@ -9108,7 +9108,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9116,7 +9116,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9124,7 +9124,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executing password removal operation @@ -9132,7 +9132,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 In ấn thất bại. @@ -9140,7 +9140,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 Lỗi khi tải tài liệu để in. @@ -9148,11 +9148,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 Đã xảy ra lỗi tải TIFF: diff --git a/src-ui/src/locale/messages.zh_CN.xlf b/src-ui/src/locale/messages.zh_CN.xlf index dc49adbfd..0f8fea1aa 100644 --- a/src-ui/src/locale/messages.zh_CN.xlf +++ b/src-ui/src/locale/messages.zh_CN.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF 编辑器 @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 删除密码保护 @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 创建一个不受保护的副本或替换现有文件。 @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 开始 @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 预览加载时发生错误 @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 打开预览 @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 输入密码 @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 获取元数据时发生错误 @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 加载内容时发生错误: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 文档已更新 @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 文档已于 更新。 @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 重新加载以丢弃本地未保存的更改,并加载最新的远程版本。 @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 重新加载 @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 已重新加载文档,已应用最新更改。 @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 文档已重新加载。 @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 下一个文档 @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 上一个文档 @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 保存文档 @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 保存并关闭 / 下一个 @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 获取版本内容出错 @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 获取建议时发生错误。 @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 文档 "" 保存成功。 @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 保存文档 时发生错误 @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 保存文档时发生错误 @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 您真的要将文档 "" 移动到回收站吗? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 删除文档时发生错误。 @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 此操作将永久重新创建此文档的归档文件。 @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 归档文件将使用当前设置重新生成。 @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 ” 的重新处理操作将在后台开始。 @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 执行操作时发生错误 @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 下载文档时出错 @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 适应页面 @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 对‘’的 PDF 编辑操作将在后台开始。 @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 执行 PDF 编辑操作出错 @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 请在试图删除之前输入当前密码。 @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 "" 的密码删除操作将在后台开始。 @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 执行密码删除操作时出错 @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 打印失败。 @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 加载打印文档时出错。 @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 加载内容时发生错误: diff --git a/src-ui/src/locale/messages.zh_TW.xlf b/src-ui/src/locale/messages.zh_TW.xlf index 97918795b..447d4c29c 100644 --- a/src-ui/src/locale/messages.zh_TW.xlf +++ b/src-ui/src/locale/messages.zh_TW.xlf @@ -1398,7 +1398,7 @@ src/app/components/document-detail/document-detail.component.ts - 1787 + 1791 PDF 編輯器 @@ -2358,7 +2358,7 @@ src/app/components/document-detail/document-detail.component.ts - 653 + 657 src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html @@ -3338,11 +3338,11 @@ src/app/components/document-detail/document-detail.component.ts - 1405 + 1409 src/app/components/document-detail/document-detail.component.ts - 1788 + 1792 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4002,7 +4002,7 @@ src/app/components/document-detail/document-detail.component.ts - 1358 + 1362 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -4126,7 +4126,7 @@ src/app/components/document-detail/document-detail.component.ts - 1841 + 1845 Remove password protection @@ -4138,7 +4138,7 @@ src/app/components/document-detail/document-detail.component.ts - 1842 + 1846 Create an unprotected copy or replace the existing file. @@ -4150,7 +4150,7 @@ src/app/components/document-detail/document-detail.component.ts - 1843 + 1847 開始 @@ -6274,7 +6274,7 @@ src/app/components/document-detail/document-detail.component.ts - 1362 + 1366 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -7072,7 +7072,7 @@ Error loading preview src/app/components/common/preview-popup/preview-popup.component.html - 10 + 11 讀取預覽時發生錯誤 @@ -7080,7 +7080,7 @@ Open preview src/app/components/common/preview-popup/preview-popup.component.ts - 61 + 62 開啟預覽 @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 512 + 513 輸入密碼 @@ -8794,7 +8794,7 @@ Error retrieving metadata src/app/components/document-detail/document-detail.component.ts - 423 + 424 取得詮釋資料時發生錯誤 @@ -8802,11 +8802,11 @@ An error occurred loading content: src/app/components/document-detail/document-detail.component.ts - 525,527 + 526,528 src/app/components/document-detail/document-detail.component.ts - 982,984 + 986,988 讀取內容時發生錯誤: @@ -8814,7 +8814,7 @@ Document was updated src/app/components/document-detail/document-detail.component.ts - 648 + 652 Document was updated @@ -8822,7 +8822,7 @@ Document was updated at . src/app/components/document-detail/document-detail.component.ts - 649 + 653 Document was updated at . @@ -8830,7 +8830,7 @@ Reload to discard your local unsaved edits and load the latest remote version. src/app/components/document-detail/document-detail.component.ts - 650 + 654 Reload to discard your local unsaved edits and load the latest remote version. @@ -8838,7 +8838,7 @@ Reload src/app/components/document-detail/document-detail.component.ts - 652 + 656 Reload @@ -8846,7 +8846,7 @@ Document reloaded with latest changes. src/app/components/document-detail/document-detail.component.ts - 708 + 712 Document reloaded with latest changes. @@ -8854,7 +8854,7 @@ Document reloaded. src/app/components/document-detail/document-detail.component.ts - 719 + 723 Document reloaded. @@ -8862,7 +8862,7 @@ Next document src/app/components/document-detail/document-detail.component.ts - 821 + 825 下一個文件 @@ -8870,7 +8870,7 @@ Previous document src/app/components/document-detail/document-detail.component.ts - 831 + 835 上一個文件 @@ -8878,7 +8878,7 @@ Close document src/app/components/document-detail/document-detail.component.ts - 839 + 843 src/app/services/open-documents.service.ts @@ -8890,7 +8890,7 @@ Save document src/app/components/document-detail/document-detail.component.ts - 846 + 850 儲存文件 @@ -8898,7 +8898,7 @@ Save and close / next src/app/components/document-detail/document-detail.component.ts - 855 + 859 儲存並關閉/下一個 @@ -8906,7 +8906,7 @@ Error retrieving version content src/app/components/document-detail/document-detail.component.ts - 965 + 969 Error retrieving version content @@ -8914,7 +8914,7 @@ Error retrieving suggestions. src/app/components/document-detail/document-detail.component.ts - 1026 + 1030 取得建議時發生錯誤。 @@ -8922,11 +8922,11 @@ Document "" saved successfully. src/app/components/document-detail/document-detail.component.ts - 1238 + 1242 src/app/components/document-detail/document-detail.component.ts - 1265 + 1269 文件「」儲存成功。 @@ -8934,7 +8934,7 @@ Error saving document "" src/app/components/document-detail/document-detail.component.ts - 1271 + 1275 Error saving document "" @@ -8942,7 +8942,7 @@ Error saving document src/app/components/document-detail/document-detail.component.ts - 1326 + 1330 儲存文件時發生錯誤 @@ -8950,7 +8950,7 @@ Do you really want to move the document "" to the trash? src/app/components/document-detail/document-detail.component.ts - 1359 + 1363 Do you really want to move the document "" to the trash? @@ -8958,7 +8958,7 @@ Documents can be restored prior to permanent deletion. src/app/components/document-detail/document-detail.component.ts - 1360 + 1364 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8970,7 +8970,7 @@ Error deleting document src/app/components/document-detail/document-detail.component.ts - 1381 + 1385 刪除文件時發生錯誤 @@ -8978,7 +8978,7 @@ Reprocess confirm src/app/components/document-detail/document-detail.component.ts - 1401 + 1405 src/app/components/document-list/bulk-editor/bulk-editor.component.ts @@ -8990,7 +8990,7 @@ This operation will permanently recreate the archive file for this document. src/app/components/document-detail/document-detail.component.ts - 1402 + 1406 將永久重新建立此文件的封存檔案。 @@ -8998,7 +8998,7 @@ The archive file will be re-generated with the current settings. src/app/components/document-detail/document-detail.component.ts - 1403 + 1407 封存檔案將以目前設定重新產生。 @@ -9006,7 +9006,7 @@ Reprocess operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1413 + 1417 Reprocess operation for "" will begin in the background. @@ -9014,7 +9014,7 @@ Error executing operation src/app/components/document-detail/document-detail.component.ts - 1424 + 1428 執行作業時發生錯誤 @@ -9022,7 +9022,7 @@ Error downloading document src/app/components/document-detail/document-detail.component.ts - 1487 + 1491 下載文件時發生錯誤 @@ -9030,7 +9030,7 @@ Page Fit src/app/components/document-detail/document-detail.component.ts - 1565 + 1569 符合頁面大小 @@ -9038,7 +9038,7 @@ PDF edit operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1808 + 1812 PDF edit operation for "" will begin in the background. @@ -9046,7 +9046,7 @@ Error executing PDF edit operation src/app/components/document-detail/document-detail.component.ts - 1820 + 1824 執行 PDF 編輯時時發生錯誤 @@ -9054,7 +9054,7 @@ Please enter the current password before attempting to remove it. src/app/components/document-detail/document-detail.component.ts - 1831 + 1835 Please enter the current password before attempting to remove it. @@ -9062,7 +9062,7 @@ Password removal operation for "" will begin in the background. src/app/components/document-detail/document-detail.component.ts - 1865 + 1869 Password removal operation for "" will begin in the background. @@ -9070,7 +9070,7 @@ Error executing password removal operation src/app/components/document-detail/document-detail.component.ts - 1879 + 1883 Error executing password removal operation @@ -9078,7 +9078,7 @@ Print failed. src/app/components/document-detail/document-detail.component.ts - 1925 + 1929 列印失敗。 @@ -9086,7 +9086,7 @@ Error loading document for printing. src/app/components/document-detail/document-detail.component.ts - 1938 + 1942 載入列印文件時發生錯誤 @@ -9094,11 +9094,11 @@ An error occurred loading tiff: src/app/components/document-detail/document-detail.component.ts - 2008 + 2012 src/app/components/document-detail/document-detail.component.ts - 2014 + 2018 讀取 TIFF 檔時發生錯誤: diff --git a/src/locale/af_ZA/LC_MESSAGES/django.po b/src/locale/af_ZA/LC_MESSAGES/django.po index cdc66a34e..e4a12fd6f 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Afrikaans\n" "Language: af_ZA\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Dokumente" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "Waarde moet geldige JSON wees." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Ongeldige gepasmaakte veldnavraaguitdrukking" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "Ongeldige uitdrukking lys. Moet nie leeg wees nie." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Ongeldige logiese uitdrukking {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "" -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "" -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "" -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "" -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1379,7 +1379,7 @@ msgstr "Ongeldige veranderlike bespeur." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1634,36 +1634,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4629 +#: documents/views.py:4641 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 69d1c309e..b582ea706 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Amharic\n" "Language: am_ET\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "መዝገባት" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "የሚሰራው እሴት \"JSON\" መሆን አለበት" -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "ልክ ያልሆነ የተወሰነ የቦታ መጠይቅ አገላለጽ" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "ልክ ያልሆነ የመግለጫ ዝርዝር። ባዶ መሆን የለበትም።" -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "ልክ ያልሆነ የሎጂክ ኦፕሬተር {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "ከፍተኛው የጥያቄ ሁኔታዎች/መጠን ብዛት አልፏል።" -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} ይሄ ታዐማኒነት ያለው ልማድ አይደለም።" -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "ጥያቄን አይደግፍም expr {expr!r}." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "ከፍተኛው የጥገኝነት ጥልቀት አልፏል።" -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "ይህ ልማድ አልተገኘም" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1379,7 +1379,7 @@ msgstr "" msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1634,36 +1634,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4629 +#: documents/views.py:4641 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 9ec82ea16..82b160330 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Arabic\n" "Language: ar_SA\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "المستندات" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "يجب أن تكون القيمة JSON." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "تعبير استعلام غير صالح للحقول المخصصة" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "قائمة عبارة خاطئة." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "تجاوز الحد الأقصى لعدد شروط الاستعلام." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} حقل مخصص غير صالح." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} لا يدعم تعبير الاستعلام {expr!r}." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "" -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "لم يتم العثور على حقل مخصص" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1379,7 +1379,7 @@ msgstr "اكتشاف متغير خاطئ." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1635,36 +1635,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4629 +#: documents/views.py:4641 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 056fa9a51..d1c4b4069 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Belarusian\n" "Language: be_BY\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Дакументы" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "" -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "" -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "" -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "" -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "" -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "" -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1379,7 +1379,7 @@ msgstr "Выяўлена няправільная зменная." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1634,36 +1634,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4629 +#: documents/views.py:4641 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 3ca4dcb1f..dcce36278 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Language: bg_BG\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Документи" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "Стойността трябва да е валидна JSON." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Невалидна заявка на персонализираното полето" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "Списък с невалиден израз. Не може да е празно." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Невалиден логически оператор {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "Надвишен е максимален брой за заявки." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} не е валидно персонализирано поле." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} не поддържа заявка expr {expr!r}." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "Надвишена е максималната дълбочина на вмъкване." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Персонализирано поле не е намерено" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "стартиране на работните процеси" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1379,7 +1379,7 @@ msgstr "Засечена е невалидна променлива." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1635,36 +1635,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4629 +#: documents/views.py:4641 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 0f64b5f95..c7e325744 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Catalan\n" "Language: ca_ES\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Documents " -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "Valor ha de ser un JSON valid." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Expressió de camp de consulta invàlid" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "Expressió de llista invàlida. No ha d'estar buida." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Invàlid operand lògic {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "Condicions de consulta excedits." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} no és un camp personalitzat vàlid." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} no suporta expressió de consulta {expr!r}." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "Màxima profunditat anidada excedida." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Camp personalitzat no trobat" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "flux corrents" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Permisos insuficients." @@ -1379,7 +1379,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:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "Documents no trobats: %(ids)s" @@ -1635,36 +1635,36 @@ msgstr "L'esquema d'URI '{parts.scheme}' no està permès. Esquemes permesos: {' msgid "Unable to parse URI {value}" msgstr "No s'ha pogut analitzar l'URI {value}" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "Invalid more_like_id" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "Configuració AI invàlida." -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 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:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Permisos insuficients per compartir document %(id)s." -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "Paquet ja s'està processant." -#: documents/views.py:4619 +#: documents/views.py:4631 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:4629 +#: documents/views.py:4641 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 887407318..6a89a08a3 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Dokumenty" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "Hodnota musí být platný JSON." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Neplatný výraz dotazu na vlastní pole" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "Neplatný seznam výrazů. Nesmí být prázdný." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Neplatný logický operátor {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "Překročen maximální počet podmínek dotazu." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} není platné vlastní pole." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} nepodporuje výraz dotazu {expr!r}." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "Překročena maximální hloubka větvení." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Vlastní pole nebylo nalezeno" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "spuštění pracovních postupů" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Nedostatečná oprávnění." @@ -1379,7 +1379,7 @@ msgstr "Zjištěna neplatná proměnná." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1636,36 +1636,36 @@ msgstr "URI schéma '{parts.scheme}' není povoleno. Povolená schémata: {',\n" msgid "Unable to parse URI {value}" msgstr "Nelze zpracovat URI {value}" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, 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:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4629 +#: documents/views.py:4641 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 c2e6ab236..376f62469 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Dokumenter" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "Værdien skal være gyldig JSON." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Ugyldigt tilpasset feltforespørgselsudtryk" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "Ugyldig udtryksliste. Må ikke være tom." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Ugyldig logisk operatør {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "Maksimalt antal forespørgselsbetingelser overskredet." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} er ikke et gyldigt tilpasset felt." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} understøtter ikke forespørgsel expr {expr!r}." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "Maksimal indlejringsdybde overskredet." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Tilpasset felt ikke fundet" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "workflow-kørsler" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1379,7 +1379,7 @@ msgstr "Ugyldig variabel fundet." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1635,36 +1635,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4629 +#: documents/views.py:4641 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 671e260f5..d5440e9bb 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: German, Switzerland\n" "Language: de_CH\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Dokumente" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "Wert muss gültiges JSON sein." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Ungültiger benutzerdefinierter Feldabfrageausdruck" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "Ungültige Ausdrucksliste. Darf nicht leer sein." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Ungültiger logischer Operator {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "Maximale Anzahl an Abfragebedingungen überschritten." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} ist kein gültiges Zusatzfeld." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} unterstützt den Abfrageausdruck {expr!r} nicht." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "Maximale Verschachtelungstiefe überschritten." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Benutzerdefiniertes Feld nicht gefunden" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "Arbeitsablauf wird ausgeführt" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Unzureichende Berechtigungen." @@ -1379,7 +1379,7 @@ msgstr "Ungültige Variable erkannt." msgid "Duplicate document identifiers are not allowed." msgstr "Doppelte Dokumentbezeichner sind nicht erlaubt." -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "Dokumente nicht gefunden: %(ids)s" @@ -1635,36 +1635,36 @@ msgstr "URI-Schema „{parts.scheme}“ ist nicht erlaubt. Erlaubte Schemata: {' msgid "Unable to parse URI {value}" msgstr "URI {value} kann nicht gelesen werden" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "Ungültige more_like_id" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "Ungültige KI-Konfiguration." -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 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:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Unzureichende Berechtigungen, um Dokument %(id)s zu teilen." -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "Paket wird bereits verarbeitet." -#: documents/views.py:4619 +#: documents/views.py:4631 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:4629 +#: documents/views.py:4641 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 440d48cd7..95af669c4 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Dokumente" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "Wert muss gültiges JSON sein." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Ungültiger Zusatzfeld-Abfrageausdruck" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "Ungültige Ausdrucksliste. Darf nicht leer sein." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Ungültiger logischer Operator {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "Maximale Anzahl an Abfragebedingungen überschritten." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} ist kein gültiges Zusatzfeld." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} unterstützt den Abfrageausdruck {expr!r} nicht." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "Maximale Verschachtelungstiefe überschritten." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Zusatzfeld nicht gefunden" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "Arbeitsablauf wird ausgeführt" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Unzureichende Berechtigungen." @@ -1379,7 +1379,7 @@ msgstr "Ungültige Variable erkannt." msgid "Duplicate document identifiers are not allowed." msgstr "Doppelte Dokumentbezeichner sind nicht erlaubt." -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "Dokumente nicht gefunden: %(ids)s" @@ -1635,36 +1635,36 @@ msgstr "URI-Schema „{parts.scheme}“ ist nicht erlaubt. Erlaubte Schemata: {' msgid "Unable to parse URI {value}" msgstr "URI {value} kann nicht gelesen werden" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "Ungültige more_like_id" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "Ungültige KI-Konfiguration." -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "Zeitüberschreitung bei der KI-Backendanfrage." -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 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:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Unzureichende Berechtigungen, um Dokument %(id)s zu teilen." -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "Paket wird bereits verarbeitet." -#: documents/views.py:4619 +#: documents/views.py:4631 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:4629 +#: documents/views.py:4641 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 5141c0694..3a03ff0f0 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Έγγραφα" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "Η τιμή πρέπει να είναι σε έγκυρη μορφή JSON." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Μη έγκυρη έκφραση προσαρμοσμένου ερωτήματος πεδίου" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "Μη έγκυρη λίστα έκφρασης. Πρέπει να είναι μη κενή." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Μη έγκυρος λογικός τελεστής {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "Υπέρβαση μέγιστου αριθμού συνθηκών ερωτήματος." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "Το προσαρμοσμένο πεδίο {name!r} δεν είναι ένα έγκυρο." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "Το {data_type} δεν υποστηρίζει το ερώτημα expr {expr!r}s." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "Υπέρβαση μέγιστου βάθους εμφώλευσης." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Το προσαρμοσμένο πεδίο δε βρέθηκε" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "εκτελέσεις ροής εργασίας" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1379,7 +1379,7 @@ msgstr "Εντοπίστηκε μη έγκυρη μεταβλητή." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1635,36 +1635,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4629 +#: documents/views.py:4641 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 d04c984bc..52892a3ce 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Documentos" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "El valor debe ser un JSON válido." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Expresión de consulta de campo personalizado no válida" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "Lista de expresiones no válida. No debe estar vacía." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Operador lógico inválido {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "Se ha superado el número máximo de condiciones de consulta." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{nombre!r} no es un campo personalizado válido." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} no admite la consulta expr {expr!r}." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "Profundidad máxima de nidificación superada." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Campo personalizado no encontrado" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "ejecuciones de flujo de trabajo" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Permisos insuficientes." @@ -1379,7 +1379,7 @@ msgstr "Variable inválida." msgid "Duplicate document identifiers are not allowed." msgstr "No se permiten identificadores de documento duplicados." -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "Documentos no encontrados: %(ids)s" @@ -1635,36 +1635,36 @@ msgstr "El esquema URI '{parts.scheme}' no está permitido. Esquemas permitidos: msgid "Unable to parse URI {value}" msgstr "No se puede analizar la URI {value}" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "Configuración de IA inválida." -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 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:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Permisos insuficientes para compartir el documento %(id)s." -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "El paquete ya está siendo procesado." -#: documents/views.py:4619 +#: documents/views.py:4631 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:4629 +#: documents/views.py:4641 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 bd7487f80..1e8b47b0d 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Estonian\n" "Language: et_EE\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Dokumendid" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "Väärtus peab olema lubatav JSON." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Vigane kohandatud välja päringu avaldis" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "Vigane avaldiste loend. Peab olema mittetühi." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Vigane loogikaoperaator {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "Päringutingimuste suurim hulk on ületatud." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} ei ole lubatud kohandatud väli." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} ei toeta päringu avaldist {expr!r}." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "Suurim pesastamis sügavus ületatud." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Kohandatud välja ei leitud" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1379,7 +1379,7 @@ msgstr "" msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1634,36 +1634,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4629 +#: documents/views.py:4641 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 8586d6bae..e6d7a8089 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "اسناد و مدارک" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "مقدار باید JSON معتبر باشد." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Invalid custom field query expression" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "لیست عبارت‌ها نامعتبر است. نباید خالی باشد." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "حداکثر تعداد شرایط پرس و جو از آن فراتر رفته است." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{نام! R} یک زمینه سفارشی معتبر نیست." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "" -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "حداکثر عمق تودرتویی بیش از حد مجاز است." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "زمینه سفارشی یافت نشد" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "گردش کار اجرا می شود" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1379,7 +1379,7 @@ msgstr "متغیر نامعتبر شناسایی شده است." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1634,36 +1634,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4629 +#: documents/views.py:4641 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 a2a51e04b..965a6d696 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Asiakirjat" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "Arvon on oltava kelvollista JSON:ia." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "" -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "" -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "" -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "" -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "" -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1379,7 +1379,7 @@ msgstr "Virheellinen muuttuja havaittu." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1635,36 +1635,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4629 +#: documents/views.py:4641 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 ec30a050a..847a11e35 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Documents" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "La valeur doit être un JSON valide." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Requête de champ personnalisé invalide" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "Liste d'expressions invalide. Doit être non vide." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Opérateur logique {op!r} invalide" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "Nombre maximum de conditions dans la requête dépassé." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} n'est pas un champ personnalisé valide." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} ne supporte pas l'expression {expr!r}." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "Profondeur de récursion maximale dépassée." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Champ personnalisé non trouvé" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "le flux de travail s'exécute" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Droits insuffisants." @@ -1379,7 +1379,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:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "Documents introuvables : %(ids)s" @@ -1634,36 +1634,36 @@ msgstr "Le schéma d'URI « {parts.scheme} » n'est pas autorisé. Schémas aut msgid "Unable to parse URI {value}" msgstr "Impossible d'analyser l'URI {value}" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "More_like_id invalide" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "Configuration IA invalide." -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "La requête d'arrière-plan IA a expiré." -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 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:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Droits d'accès insuffisant pour partager %(id)s document." -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "Le paquet est déjà en cours de traitement." -#: documents/views.py:4619 +#: documents/views.py:4631 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:4629 +#: documents/views.py:4641 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 bdf9b0777..da303cae5 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "מסמכים" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "ערך חייב להיות JSON תקין." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "ביטוי שאילתה לא חוקי של שדה מותאם אישית" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "רשימת ביטויים לא חוקית. חייב לכלול ערך." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "סימן פעולה לוגית לא חוקי {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "חריגה ממספר תנאי השאילתה המרבי." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} הוא לא שדה מותאם אישית חוקי." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} לא תומך בביטוי שאילתה {expr!r}." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "חריגה מעומק הקינון המרבי." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "שדה מותאם אישית לא נמצא" @@ -1340,7 +1340,7 @@ msgid "workflow runs" msgstr "הרצות זרימת עבודה" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "הרשאות אינן מספיקות." @@ -1380,7 +1380,7 @@ msgstr "משתנה לא חוקי זוהה." msgid "Duplicate document identifiers are not allowed." msgstr "מזהי מסמכים כפולים אינם מורשים." -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "מסמכים לא נמצאו: %(ids)s" @@ -1636,36 +1636,36 @@ msgstr "פרוטוקול ה-URI ‏'{parts.scheme}' אינו מורשה. הפר msgid "Unable to parse URI {value}" msgstr "לא ניתן לפענח את ה URI ‏{value}" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "מזהה more_like_id אינו תקין" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "הגדרות בינה מלאכותית שגויות." -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "יש לציין רק אחד מהבאים: text‏, title_search‏, query או more_like_id." -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "הרשאות לא מספיקות לשיתוף מסמך %(id)s." -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "החבילה (Bundle) כבר נמצאת בתהליך עיבוד." -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "חבילת קישור השיתוף עדיין בהכנה. נא לנסות שוב מאוחר יותר." -#: documents/views.py:4629 +#: documents/views.py:4641 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 bdd2ff447..15b93af59 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Language: hi_IN\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "दस्तावेज़" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "मान वैध JSON होना चाहिए." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "अमान्य कस्टम फ़ील्ड क्वेरी एक्सप्रेशन" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "अमान्य एक्सप्रेशन सूची। खाली नहीं होनी चाहिए।" -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "अमान्य लॉजिकल ऑपरेटर {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "क्वेरी शर्तों की अधिकतम संख्या पार हो गई है।" -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} यह एक वैध कस्टम फ़ील्ड नहीं है।" -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} क्वेरी एक्सप्रेशन {expr!r} का समर्थन नहीं करता है।" -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "अधिकतम नेस्टिंग डेप्थ पार हो गई है।" -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "कस्टम फ़ील्ड नहीं मिला" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1379,7 +1379,7 @@ msgstr "" msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1634,36 +1634,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4629 +#: documents/views.py:4641 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 9ec876d6c..e16dc4f93 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Croatian\n" "Language: hr_HR\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Dokumenti" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "Vrijednost mora biti važeći JSON." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Nevažeći izraz upita prilagođenog polja" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "Nevažeći popis izraza. Ne smije biti prazno." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Nevažeći logički operator {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "Premašen je maksimalan broj uvjeta upita." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} nije važeće prilagođeno polje." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} ne podržava upit izraz {expr!r}." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "Premašena je najveća razina ugniježđivanja." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Prilagođeno polje nije pronađeno" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "tijek rada pokrenut" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Nedovoljne ovlasti." @@ -1379,7 +1379,7 @@ msgstr "Otkrivena je nevaljana vrsta datoteke." msgid "Duplicate document identifiers are not allowed." msgstr "Duplicirani identifikatori dokumenata nisu dopušteni." -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "Dokumenti nisu pronađeni: %(ids)s" @@ -1635,36 +1635,36 @@ msgstr "URI shema '{parts.scheme}' nije dopuštena. Dopuštene sheme: {', '.join msgid "Unable to parse URI {value}" msgstr "Nije moguće raščlaniti URI {value}" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "Nevažeći more_like_id" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "Nevažeća AI konfiguracija." -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 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:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Nedovoljne ovlasti za dijeljenje dokumenta %(id)s." -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "Paket se već obrađuje." -#: documents/views.py:4619 +#: documents/views.py:4631 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:4629 +#: documents/views.py:4641 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 85e06d51f..890527fc8 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Dokumentumok" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "Érvényes JSON érték szükséges." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Érvénytelen egyéni mező lekérdezési kifejezés" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "Érvénytelen kifejezéslista. Nem lehet üres." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Érvénytelen logikai operátor {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "Maximum lekérdezési feltételszám átlépve." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} nem érvényes egyéni mező." -#: documents/filters.py:635 +#: documents/filters.py:637 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:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "Maximum beágyazási mélység túllépve." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Az egyéni mező nem található" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "munkafolyamat futtatások" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Nincs jogosúltsága." @@ -1379,7 +1379,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:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "Dokumentumok nem találhatók: %(ids)s" @@ -1635,36 +1635,36 @@ msgstr "A '{parts.scheme}' séma nem engedélyezett. Engedélyezett sémák: {', msgid "Unable to parse URI {value}" msgstr "A {value} URI értelmezése sikertelen" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "Érvénytelen more_like_id" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "Érvénytelen MI konfiguráció." -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 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:4512 +#: documents/views.py:4524 #, 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:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "A csomag feldolgozása már folyamatban van." -#: documents/views.py:4619 +#: documents/views.py:4631 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:4629 +#: documents/views.py:4641 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 a66d916fc..e391bcfd7 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Dokumen" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "Nilai harus berupa JSON yang valid." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Ekspresi pencarian bidang khusus tidak valid" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "Daftar ekspresi tidak valid. Tidak boleh kosong." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Operator logika {op!r} tidak valid" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "Jumlah maksimal kondisi pencarian terlampaui." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} bukan bidang khusus yang valid." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} tidak mendukung ekspresi pencarian expr {expr!r}." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "Kedalaman susunan maksimal terlampaui." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Bidang khusus tidak ditemukan" @@ -590,11 +590,11 @@ msgstr "" #: documents/models.py:681 msgid "Success" -msgstr "" +msgstr "Sukses" #: documents/models.py:682 msgid "Failure" -msgstr "" +msgstr "Gagal" #: documents/models.py:683 msgid "Revoked" @@ -626,7 +626,7 @@ msgstr "" #: documents/models.py:692 msgid "Empty Trash" -msgstr "" +msgstr "Kosongkan Sampah" #: documents/models.py:693 msgid "Check Workflows" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "daftar jalankan alur kerja" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Izin tidak mencukupi" @@ -1379,7 +1379,7 @@ msgstr "Variabel ilegal terdeteksi." msgid "Duplicate document identifiers are not allowed." msgstr "Penggunaan pengenal dokumen ganda tidak diperbolehkan." -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "Dokumen tidak ditemukan: %(ids)s" @@ -1635,36 +1635,36 @@ msgstr "Skema URI '{parts.scheme}' tidak diizinkan. Skema yang diizinkan: {', '. msgid "Unable to parse URI {value}" msgstr "Gagal membaca URI {value}" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Izin tidak mencukupi untuk berbagi dokumen %(id)s" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "Paket sedang diproses." -#: documents/views.py:4619 +#: documents/views.py:4631 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:4629 +#: documents/views.py:4641 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 11d807d84..91e3c42f2 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Documenti" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "Il valore deve essere un JSON valido." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Campo personalizzato della query non valido" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "Elenco delle espressioni non valido. Deve essere non vuoto." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Operatore logico non valido {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "Numero massimo di condizioni di query superato." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} non è un campo personalizzato valido." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} Non supporta la jQuery Expo {Expo!r}." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "Profondità massima di nidificazione superata." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Campo personalizzato non trovato" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "esecuzioni del flusso di lavoro" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Autorizzazioni insufficienti." @@ -1379,7 +1379,7 @@ msgstr "Variabile non valida rilevata." msgid "Duplicate document identifiers are not allowed." msgstr "Non sono consentiti identificatori di documenti duplicati." -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "Documenti non trovati: %(ids)s" @@ -1635,36 +1635,36 @@ msgstr "Lo schema URI '{parts.scheme}' non è consentito. Schemi consentiti: {', msgid "Unable to parse URI {value}" msgstr "Impossibile analizzare l'URI {value}" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "more_like_id non valido" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "Configurazione AI non valida." -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "Richiesta di backend AI scaduta." -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 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:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Autorizzazioni insufficienti per condividere il documento %(id)s." -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "Il pacchetto è già in fase di elaborazione." -#: documents/views.py:4619 +#: documents/views.py:4631 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:4629 +#: documents/views.py:4641 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 783e80f49..dce5e8a5c 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "ドキュメント" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "値は有効なJSONである必要があります。" -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "無効なカスタムフィールドクエリ式" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "無効な式リストです。空であってはなりません。" -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "無効な論理演算子 {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "クエリ条件の最大数を超えました。" -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} は有効なカスタムフィールドではありません。" -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} はクエリ expr {expr!r} をサポートしていません。" -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "最大ネストの深さを超えました。" -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "カスタムフィールドが見つかりません" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "ワークフローの実行" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1379,7 +1379,7 @@ msgstr "無効な変数を検出しました" msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1635,36 +1635,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4629 +#: documents/views.py:4641 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 c55c39bcb..105c1f16a 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "문서" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "값은 유효한 JSON이어야 합니다." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "잘못된 사용자 정의 필드 쿼리 표현식" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "잘못된 표현식 목록입니다. 비어 있지 않아야 합니다." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "잘못된 논리 연산자 {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "쿼리 조건의 최대 개수를 초과했습니다." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} 은 잘못된 사용자 정의 필드입니다." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type}은 쿼리 표현식 {expr!r}을(를) 지원하지 않습니다." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "최대 중첩 깊이를 초과했습니다." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "사용자 지정 필드를 찾을 수 없음" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "워크플로우 실행" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1379,7 +1379,7 @@ msgstr "잘못된 변수가 감지되었습니다." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1635,36 +1635,36 @@ msgstr "URI 스킴 '{parts.scheme}'는 허용되지 않습니다. 허용된 스 msgid "Unable to parse URI {value}" msgstr "{value} URI를 파싱할 수 없음" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4629 +#: documents/views.py:4641 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 8d24efc54..500a00b58 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Luxembourgish\n" "Language: lb_LU\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Dokumenter" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "" -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "" -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "" -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "" -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "" -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "" -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1379,7 +1379,7 @@ msgstr "Ongëlteg Zeechen detektéiert." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1634,36 +1634,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4629 +#: documents/views.py:4641 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 0fab1c121..478969a1b 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Lithuanian\n" "Language: lt_LT\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Dokumentai" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "Reikšmė turi būti galiojantis JSON." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Neteisinga pasirinktinio lauko užklausos išraiška" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "Neteisingas išraiškos sąrašas. Jis turi būti netuščias." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Neteisingas loginis operatorius {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "Viršytas maksimalus užklausos sąlygų skaičius." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} nėra galiojantis pasirinktas laukas." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} nepalaiko užklausos išraiškos {expr!r}." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "Viršytas maksimalus įdėjimo gylis." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Pasirinktinis laukas nerastas" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1379,7 +1379,7 @@ msgstr "" msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1634,36 +1634,36 @@ msgstr "URI schema '{parts.scheme}' nėra leistina. Galimos schemos: {', '.join( msgid "Unable to parse URI {value}" msgstr "Nepavyko apdoroti URI {value}" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Nepakanka leidimų bendrinti dokumentą %(id)s." -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "Rinkinys jau apdorojamas." -#: documents/views.py:4619 +#: documents/views.py:4631 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:4629 +#: documents/views.py:4641 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 93489708b..988448657 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Latvian\n" "Language: lv_LV\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Dokuments" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "" -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "" -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "" -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "" -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "" -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "" -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1379,7 +1379,7 @@ msgstr "" msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1634,36 +1634,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4629 +#: documents/views.py:4641 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 64611be5c..78f82087e 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Macedonian\n" "Language: mk_MK\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "" -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "" -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "" -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "" -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "" -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "" -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1379,7 +1379,7 @@ msgstr "" msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1634,36 +1634,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4629 +#: documents/views.py:4641 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/ms_MY/LC_MESSAGES/django.po b/src/locale/ms_MY/LC_MESSAGES/django.po index 10b0cc1ca..1d84c0a81 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Malay\n" "Language: ms_MY\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Dokumen" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "" -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "" -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "" -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "" -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "" -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "" -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1379,7 +1379,7 @@ msgstr "" msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1634,36 +1634,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4629 +#: documents/views.py:4641 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 daef76a80..4d6d74302 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Documenten" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "Waarde moet een geldige JSON zijn." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Ongeldige aangepaste veld query expressie" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "Ongeldige expressielijst mag niet leeg zijn." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Ongeldige logische operator {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "Maximum aantal query voorwaarden overschreden." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} is geen geldig aangepast veld." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} ondersteunt geen query expr {expr!r}." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "Maximale nestdiepte overschreden." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Aangepast veld niet gevonden" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1379,7 +1379,7 @@ msgstr "Ongeldige variabele ontdekt." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1635,36 +1635,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4629 +#: documents/views.py:4641 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 45f3d1e24..52ce43aa5 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 23:30\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Dokumenter" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "Verdien må være gyldig JSON." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Ugyldig spørringsuttrykk for egendefinerte felt" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "Ugyldig uttrykksliste. Kan ikke være tom." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Ugyldig logiske operator {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "Maksimalt antall spørringsbetingelser er overskredet." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} er ikke et gyldig egendefinert felt." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} støtter ikke spørring expr {expr!r}." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "For mange nivåer med nøsting." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Egendefinert felt ble ikke funnet" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "workflow runs (NO)" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Insufficient permissions. (NO)" @@ -1379,7 +1379,7 @@ msgstr "Ugyldig variabel oppdaget." msgid "Duplicate document identifiers are not allowed." msgstr "Duplicate document identifiers are not allowed. (NO)" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "Documents not found: %(ids)s (NO)" @@ -1635,36 +1635,36 @@ msgstr "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join( msgid "Unable to parse URI {value}" msgstr "Unable to parse URI {value} (NO)" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "Invalid more_like_id (NO)" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "Invalid AI configuration. (NO)" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "Forespørselen til KI-tjenesten fikk tidsavbrudd." -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 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:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Insufficient permissions to share document %(id)s. (NO)" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "Bundle is already being processed. (NO)" -#: documents/views.py:4619 +#: documents/views.py:4631 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:4629 +#: documents/views.py:4641 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 e75ced652..ea5d06eb9 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Dokumenty" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "Wartość musi być poprawnym JSON-em." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Nieprawidłowe wyrażenie zapytania pola niestandardowego" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "Nieprawidłowa lista wyrażeń. Nie może być pusta." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Nieprawidłowy operator logiczny {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "Maksymalna liczba warunków zapytania została przekroczona." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} nie jest prawidłowym polem niestandardowym." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} nie obsługuje wyrażenia zapytania {expr!r}." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "Przekroczono maksymalną głębokość zagnieżdżenia." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Nie znaleziono pola niestandardowego" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "uruchomienia przepływu pracy" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Niewystarczające uprawnienia." @@ -1379,7 +1379,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:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "Nie znaleziono dokumentów: %(ids)s" @@ -1635,36 +1635,36 @@ msgstr "Schemat URI '{parts.scheme}' jest niedozwolony. Dozwolone schematy: {', msgid "Unable to parse URI {value}" msgstr "Nie można przetworzyć URI {value}" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "Nieprawidłowy more_like_id" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Brak uprawnień do udostępnienia dokumentu %(id)s." -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "Pakiet jest już przetwarzany." -#: documents/views.py:4619 +#: documents/views.py:4631 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:4629 +#: documents/views.py:4641 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 75265c237..0d8f2c283 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Documentos" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "O valor deve ser um JSON válido." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Expressão de consulta de campo personalizado inválida" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "Lista de expressões inválida. Deve estar não vazia." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Operador lógico inválido {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "Número máximo de condições de consulta excedido." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} não é um campo personalizado válido." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} Não suporta a consulta expr {expr!r}." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "Profundidade máxima do aninhamento excedida." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Campo personalizado não encontrado" @@ -1340,7 +1340,7 @@ msgid "workflow runs" msgstr "execução de fluxo de trabalho" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1380,7 +1380,7 @@ msgstr "Variável inválida detectada." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1637,36 +1637,36 @@ msgstr "Esquema URI '{parts.scheme}' não é permitido. Esquemas permitidos:\n" msgid "Unable to parse URI {value}" msgstr "Não é possível analisar o URI {value}" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4629 +#: documents/views.py:4641 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/pt_PT/LC_MESSAGES/django.po b/src/locale/pt_PT/LC_MESSAGES/django.po index 825ae48fa..05a90e6f8 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Portuguese\n" "Language: pt_PT\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Documentos" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "O valor deve ser JSON válido." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Expressão de consulta de campo personalizado inválido" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "Lista de expressões inválida. Não deve estar vazia." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Operador lógico inválido {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "O número máximo de condições de consulta foi excedido." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} não é um campo personalizado válido." -#: documents/filters.py:635 +#: documents/filters.py:637 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:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "" -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Campo personalizado não encontrado" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1379,7 +1379,7 @@ msgstr "Variável inválida detetada." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1635,36 +1635,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "Não foi possível analisar o URI {value}" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4629 +#: documents/views.py:4641 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 e27804ec8..5d3250a6e 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Romanian\n" "Language: ro_RO\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Documente" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "Valoarea trebuie să fie validă JSON." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Expresie de interogare pentru câmp personalizat nevalidă" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "Listă de expresii nevalidă. Trebuie să nu fie goală." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Operator logic nevalid {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "Numărul maxim de condiții de interogare a fost depășit." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} nu este un câmp personalizat valid." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} nu acceptă interogare expr {expr!r}." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "Adâncimea maximă depășită." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Câmpul personalizat nu a fost găsit" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "rulări flux de lucru" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1379,7 +1379,7 @@ msgstr "Variabilă nevalidă detectată." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1635,36 +1635,36 @@ msgstr "Schema URI '{parts.scheme}' nu este permisă. Schemele permise: {', '.jo msgid "Unable to parse URI {value}" msgstr "Nu se poate analiza URI {value}" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4629 +#: documents/views.py:4641 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 f70353567..33ce65898 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Документы" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "Значение должно быть корректным JSON." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Неверное выражение запроса пользовательского поля" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "Недопустимый список выражений. Не может быть пустым." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Недопустимый логический оператор {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "Превышено максимальное количество условий запроса." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} не является допустимым пользовательским полем." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} не поддерживает запрос {expr!r}." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "Превышена максимальная глубина вложения." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Пользовательское поле не найдено" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "запуски рабочего процесса" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1379,7 +1379,7 @@ msgstr "Обнаружена неверная переменная." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1635,36 +1635,36 @@ msgstr "Недопустимая схема URI '{parts.scheme}'. Разреше msgid "Unable to parse URI {value}" msgstr "Невозможно распознать URI {value}" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4629 +#: documents/views.py:4641 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 a0604aad6..0a2409833 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Slovak\n" "Language: sk_SK\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Dokumenty" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "Hodnota musí byť vo validnom formáte JSON." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Neplatný výraz požiadavky na vlastné pole" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "Neplatný zoznam výrazov. Nesmie byť prázdny." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Neplatný logický operátor {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "Prekročili ste maximálny počet podmienok požiadavky." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} nie je platné vlastné pole." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} nepodporuje výraz požiadavky {expr!r}." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "Bola prekročená maximálna hĺbka vetvenia." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Vlastné pole nebolo nájdené" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "spustenia pracovných postupov" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1379,7 +1379,7 @@ msgstr "Zistená neplatná premenná." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1635,36 +1635,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4629 +#: documents/views.py:4641 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/sl_SI/LC_MESSAGES/django.po b/src/locale/sl_SI/LC_MESSAGES/django.po index 3d1bf4966..93e082904 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Dokumenti" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "Vrednost mora biti veljaven JSON." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Neveljaven izraz poizvedbe po polju po meri" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "Neveljaven seznam izrazov. Ne sme biti prazen." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Neveljaven logični operator {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "Preseženo je bilo največje dovoljeno število pogojev poizvedbe." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} ni veljavno polje po meri." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} ne podpira izraza poizvedbe {expr!r}." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "Presežena je bila največja globina gnezdenja." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Polja po meri ni bilo mogoče najti" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "poteka dela" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Nezadostna dovoljenja." @@ -1379,7 +1379,7 @@ msgstr "Zaznani neveljavni znaki." msgid "Duplicate document identifiers are not allowed." msgstr "Podvojeni identifikatorji dokumentov niso dovoljeni." -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "Dokumentov ni bilo mogoče najti: %(ids)s" @@ -1635,36 +1635,36 @@ msgstr "Shema URI '{parts.scheme}' ni dovoljena. Dovoljene sheme: {', '.join(all msgid "Unable to parse URI {value}" msgstr "Ni mogoče razčleniti URI-ja {value}" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "Neveljaven more_like_id" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "Neveljavna konfiguracija umetne inteligence." -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "Časovna omejitev zahteve za umetno inteligenco je potekla." -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 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:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Nezadostna dovoljenja za skupno rabo dokumenta %(id)s." -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "Paket se že obdeluje." -#: documents/views.py:4619 +#: documents/views.py:4631 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:4629 +#: documents/views.py:4641 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 15924f8a7..bd18caa47 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Albanian\n" "Language: sq_AL\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Documents" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "Value must be valid JSON." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Invalid custom field query expression" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "Invalid expression list. Must be nonempty." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Invalid logical operator {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "[SQ] Maximum number of query conditions exceeded." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "[SQ] {name!r} is not a valid custom field." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "[SQ] {data_type} does not support query expr {expr!r}." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "[SQ] Maximum nesting depth exceeded." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Custom field not found" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "[SQ] workflow runs" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "[SQ] Insufficient permissions." @@ -1379,7 +1379,7 @@ msgstr "Invalid variable detected." msgid "Duplicate document identifiers are not allowed." msgstr "[SQ] Duplicate document identifiers are not allowed." -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "Documents not found: %(ids)s" @@ -1635,36 +1635,36 @@ msgstr "[SQ] URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '. msgid "Unable to parse URI {value}" msgstr "[SQ] Unable to parse URI {value}" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "Invalid more_like_id" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "Invalid AI configuration." -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 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." -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "[SQ] Insufficient permissions to share document %(id)s." -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "[SQ] Bundle is already being processed." -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "[SQ] The share link bundle is still being prepared. Please try again later." -#: documents/views.py:4629 +#: documents/views.py:4641 msgid "The share link bundle is unavailable." msgstr "[SQ] The share link bundle is unavailable." diff --git a/src/locale/sr_CS/LC_MESSAGES/django.po b/src/locale/sr_CS/LC_MESSAGES/django.po index ed0512309..7a5ee37cb 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Serbian (Latin)\n" "Language: sr_CS\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Dokumenta" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "Vrednost mora da bude važeći JSON." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Nevažeći izraz upita prilagođen polja" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "Nevažeća lista izraza. Ne sme biti prazna." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Nevažeći logični operator {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "Premašen je maksimalni broj uslova u upitu." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} nije validno prilagođeno polje." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} ne podržava izraz u upitu {expr!r}." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "Premašena je maksimalna dubina grananja." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Nije pronađeno prilagođeno polje" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "pokretanje tokova rada" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Nedovoljne dozvole." @@ -1379,7 +1379,7 @@ msgstr "Otkrivena je nevažeća promenljiva." msgid "Duplicate document identifiers are not allowed." msgstr "Duplirani identifikatori dokumenata nisu dozvoljeni." -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "Dokumenti nisu pronađeni: %(ids)s" @@ -1635,36 +1635,36 @@ msgstr "Šema URI-ja '{parts.scheme}' nije dozvoljena. Dozvoljene šeme {', '.jo msgid "Unable to parse URI {value}" msgstr "Nije moguće analizirati URI {value}" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "Nevažeći more_like_id" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "Nevažeća konfiguracija veštačke inteligencije." -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 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:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Nedovoljne dozvole za deljenje dokumenta %(id)s." -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "Paket se već obrađuje." -#: documents/views.py:4619 +#: documents/views.py:4631 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:4629 +#: documents/views.py:4641 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 fc56493c7..de1ce9a24 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Dokument" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "Värdet måste vara giltigt JSON." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Ogiltigt sökordsuttryck för anpassade fält" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "Ogiltig uttryckslista. Får inte vara tom." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Ogiltig logisk operator {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "Maximalt antal frågevillkor överskrids." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} är inte ett giltigt anpassat fält." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} stöder inte frågan expr {expr!r}." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "Maximalt antal nästlade nivåer överskrids." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Anpassat fält hittades inte" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "arbetsflöde körs" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Otillräckliga behörigheter." @@ -1379,7 +1379,7 @@ msgstr "Ogiltig variabel upptäckt." msgid "Duplicate document identifiers are not allowed." msgstr "Dubbletter av dokumentidentifierare är inte tillåtna." -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "Dokumenten hittades inte: %(ids)s" @@ -1635,36 +1635,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "Ogiltig more_like_id" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "Ogiltig AI-konfiguration." -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4629 +#: documents/views.py:4641 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/th_TH/LC_MESSAGES/django.po b/src/locale/th_TH/LC_MESSAGES/django.po index 9deaf2ae7..8216507af 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "เอกสาร" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "ค่า ต้องอยู่ในรูปแบบ JSON ที่ถูกต้อง" -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "รูปแบบการค้นหาฟิลด์ที่กำหนดเองไม่ถูกต้อง" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "รายการคำสั่งไม่ถูกต้อง ต้องไม่เว้นว่าง" -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "ตัวดำเนินการเชิงตรรกะ {op!r} ไม่ถูกต้อง" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "จำนวนเงื่อนไขในการค้นหาเกินกำหนด" -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} ไม่ใช่ฟิลด์ที่กำหนดเองที่ถูกต้อง" -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} ไม่รองรับรูปแบบการค้นหา {expr!r}" -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "จำนวนการซ้อนเงื่อนไขสูงสุดเกินขีดจำกัด" -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "ไม่พบฟิลด์ที่กำหนด" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1379,7 +1379,7 @@ msgstr "ตรวจพบตัวแปรไม่ถูกต้อง" msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1634,36 +1634,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4629 +#: documents/views.py:4641 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 d613005e1..bdc0495da 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Belgeler" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "Değer geçerli bir JSON olmalıdır." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Geçersiz özel alan sorgu ifadesi" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "Geçersiz ifade listesi. Boş olmamalıdır." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Geçersiz mantıksal işleç {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "En çok sorgu koşulu sayısı aşıldı." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} geçerli bir özel alan değil." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type}, {expr!r} sorgu ifadesini desteklemiyor." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "En çok iç içe geçme izni aşıldı." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Özel alan bulunamadı" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "iş akışı çalıştırma" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1379,7 +1379,7 @@ msgstr "Geçersiz değişken algılandı." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1635,36 +1635,36 @@ msgstr "URI şeması ‘{parts.scheme}’ izin verilmez. İzin verilen şemalar: msgid "Unable to parse URI {value}" msgstr "URI {value} işlenemiyor" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4629 +#: documents/views.py:4641 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 ec4d5c2a7..dc7187dfa 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Документи" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "Значення має бути коректним JSON." -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "Хибний вираз запиту користувацького поля" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "Недопустимий список виразів. Має бути непустим." -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Неприпустимий логічний оператор {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "Перевищено максимальну кількість умов запиту." -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} не є дійсним користувацьким полем." -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} не підтримує вираз {expr!r}." -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "" -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Не знайдено користувацьке поле" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1379,7 +1379,7 @@ msgstr "Виявлено неправильну змінну." msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1635,36 +1635,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4629 +#: documents/views.py:4641 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 714739215..b90710588 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "Tài liệu" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "." -#: documents/filters.py:489 +#: documents/filters.py:491 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:499 +#: documents/filters.py:501 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:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "Toán tử lô-gic không hợp lệ {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 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:598 +#: documents/filters.py:600 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:635 +#: documents/filters.py:637 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:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "Đã vượt quá độ sâu lồng nhau tối đa." -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Không tìm thấy trường tùy chỉnh" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "các lần chạy quy trình" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Không có đủ quyền." @@ -1379,7 +1379,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:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "Không tìm thấy tài liệu: %(ids)s" @@ -1635,36 +1635,36 @@ msgstr "Giao thức URI '{parts.scheme}' không được phép. Các giao thức msgid "Unable to parse URI {value}" msgstr "Không thể phân tích URI {value}" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, 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:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "Gói đang được xử lý" -#: documents/views.py:4619 +#: documents/views.py:4631 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:4629 +#: documents/views.py:4641 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 d069d4879..fc1c91cc3 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "文档" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "值必须是有效的 JSON 格式。" -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "无效的自定义字段查询表达式" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "无效的表达式列表。必须不为空。" -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "无效的逻辑运算符 {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "超出查询条件的最大数量。" -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} 不是一个有效的自定义字段。" -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} 不支持查询表达式 {expr!r}。" -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "超出最大嵌套深度。" -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "Custom field not found" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "工作流运行" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "权限不足。" @@ -1379,7 +1379,7 @@ msgstr "检测到无效变量。" msgid "Duplicate document identifiers are not allowed." msgstr "不允许重复文档标识符。" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "未找到文档:%(ids)s" @@ -1635,36 +1635,36 @@ msgstr "URI 格式 '{parts.scheme}' 不支持。支持的格式有:{', '.join( msgid "Unable to parse URI {value}" msgstr "无法解析 URI {value}" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "无效的more_like_id" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "无效的 AI 配置。" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "AI 后端请求超时。" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "只能指定 text、title_search、query 或 more_like_id 中的一项。" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "权限不足以分享文件:%(id)s。" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "捆绑包已在处理中。" -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "分享链接包仍在准备中,请稍后再试。" -#: documents/views.py:4629 +#: documents/views.py:4641 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 8d2bacbe4..40fbbf94e 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-07-25 07:12+0000\n" -"PO-Revision-Date: 2026-07-25 07:14\n" +"POT-Creation-Date: 2026-07-27 19:34+0000\n" +"PO-Revision-Date: 2026-07-27 19:35\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Language: zh_TW\n" @@ -21,39 +21,39 @@ msgstr "" msgid "Documents" msgstr "文件" -#: documents/filters.py:470 +#: documents/filters.py:472 msgid "Value must be valid JSON." msgstr "參數值必須是有效的 JSON。" -#: documents/filters.py:489 +#: documents/filters.py:491 msgid "Invalid custom field query expression" msgstr "無效的自訂欄位查詢表達式" -#: documents/filters.py:499 +#: documents/filters.py:501 msgid "Invalid expression list. Must be nonempty." msgstr "無效的表達式列表,不能為空。" -#: documents/filters.py:520 +#: documents/filters.py:522 msgid "Invalid logical operator {op!r}" msgstr "無效的邏輯運算符 {op!r}" -#: documents/filters.py:534 +#: documents/filters.py:536 msgid "Maximum number of query conditions exceeded." msgstr "超過查詢條件的最大數量。" -#: documents/filters.py:598 +#: documents/filters.py:600 msgid "{name!r} is not a valid custom field." msgstr "{name!r} 不是有效的自訂欄位。" -#: documents/filters.py:635 +#: documents/filters.py:637 msgid "{data_type} does not support query expr {expr!r}." msgstr "{data_type} 不支援查詢表達式 {expr!r}。" -#: documents/filters.py:750 documents/models.py:136 +#: documents/filters.py:752 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "超過最大巢狀深度。" -#: documents/filters.py:1067 +#: documents/filters.py:1094 msgid "Custom field not found" msgstr "找不到自訂欄位" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "執行工作流程" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541 +#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1379,7 +1379,7 @@ msgstr "偵測到無效的變數。" msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4500 +#: documents/serialisers.py:2849 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1635,36 +1635,36 @@ msgstr "URI 協定「{parts.scheme}」不被允許。允許的協定有:{', '. msgid "Unable to parse URI {value}" msgstr "無法解析 URI {value}" -#: documents/views.py:291 documents/views.py:2538 +#: documents/views.py:292 documents/views.py:2550 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1556 +#: documents/views.py:1562 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1565 +#: documents/views.py:1571 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2363 documents/views.py:2684 +#: documents/views.py:2375 documents/views.py:2696 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4512 +#: documents/views.py:4524 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4558 +#: documents/views.py:4570 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4619 +#: documents/views.py:4631 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4629 +#: documents/views.py:4641 msgid "The share link bundle is unavailable." msgstr "" From 3bc03bbaec3e996ef7ddf7b6aec79f42969efc15 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 27 Jul 2026 20:14:39 -0700 Subject: [PATCH 17/77] Bump version to 3.0.4 --- 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 e0afadfdc..b8216ba4c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "paperless-ngx" -version = "3.0.3" +version = "3.0.4" description = "A community-supported supercharged document management system: scan, index and archive all your physical documents" readme = "README.md" requires-python = ">=3.11" diff --git a/src-ui/package.json b/src-ui/package.json index a3f2b3e28..337eed279 100644 --- a/src-ui/package.json +++ b/src-ui/package.json @@ -1,6 +1,6 @@ { "name": "paperless-ngx-ui", - "version": "3.0.3", + "version": "3.0.4", "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 acda25a98..1642ac4e7 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.0.3', + version: '3.0.4', 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 e39457ecc..9444373ef 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, 0, 3) +__version__: Final[tuple[int, int, int]] = (3, 0, 4) # 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 ae834d4c7..65317c7a2 100644 --- a/uv.lock +++ b/uv.lock @@ -2880,7 +2880,7 @@ wheels = [ [[package]] name = "paperless-ngx" -version = "3.0.3" +version = "3.0.4" source = { virtual = "." } dependencies = [ { name = "azure-ai-documentintelligence", marker = "sys_platform == 'darwin' or sys_platform == 'linux'" }, From 217421bceb2e00d4f87856da113748e9018bc820 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 27 Jul 2026 21:21:10 -0700 Subject: [PATCH 18/77] Documentation: Add v3.0.4 changelog (#13356) --- docs/changelog.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index 4deb4e9c7..9c8a0592a 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,51 @@ # Changelog +## paperless-ngx 3.0.4 + +### Bug Fixes + +- Fix: prevent pdfjs highlight scrolling from affecting the entire page [@shamoon](https://github.com/shamoon) ([#13355](https://github.com/paperless-ngx/paperless-ngx/pull/13355)) +- Fix: don't skip OCR/archive for tagged PDFs with no actual text [@stumpylog](https://github.com/stumpylog) ([#13351](https://github.com/paperless-ngx/paperless-ngx/pull/13351)) +- Performance: more efficient diacritic normalization in dropdown filtering [@shamoon](https://github.com/shamoon) ([#13347](https://github.com/paperless-ngx/paperless-ngx/pull/13347)) +- Fix: dedupe permission-visible documents when combined with multi-tag filters [@stumpylog](https://github.com/stumpylog) ([#13345](https://github.com/paperless-ngx/paperless-ngx/pull/13345)) +- Fixhancement: pass LLM output language to chat if specified [@shamoon](https://github.com/shamoon) ([#13340](https://github.com/paperless-ngx/paperless-ngx/pull/13340)) +- Fix: ensure preview reload on live changes [@shamoon](https://github.com/shamoon) ([#13321](https://github.com/paperless-ngx/paperless-ngx/pull/13321)) +- Fix: clamp all out out-of-range possible fields [@stumpylog](https://github.com/stumpylog) ([#13316](https://github.com/paperless-ngx/paperless-ngx/pull/13316)) +- Fix: add docstring to DocumentClassifierSchema for cleaner LLM tool description [@stumpylog](https://github.com/stumpylog) ([#13315](https://github.com/paperless-ngx/paperless-ngx/pull/13315)) +- Fix: guard build\_document\_node against stale FK on deleted correspondent/doc type [@stumpylog](https://github.com/stumpylog) ([#13318](https://github.com/paperless-ngx/paperless-ngx/pull/13318)) +- Fix: prevent search filter loss when closing document with Escape key [@shamoon](https://github.com/shamoon) ([#13317](https://github.com/paperless-ngx/paperless-ngx/pull/13317)) +- Fix: fix frontend permissions display for stats/system perms [@shamoon](https://github.com/shamoon) ([#13305](https://github.com/paperless-ngx/paperless-ngx/pull/13305)) + +### Documentation + +- Documentation: fix PAPERLESS\_AI\_LLM\_OUTPUT\_LANGUAGE heading level [@SuperSandro2000](https://github.com/SuperSandro2000) ([#13341](https://github.com/paperless-ngx/paperless-ngx/pull/13341)) + +### Dependencies + +- Chore: resolve npm provenance issues with chokidar and semver [@shamoon](https://github.com/shamoon) ([#13323](https://github.com/paperless-ngx/paperless-ngx/pull/13323)) + +### All App Changes + +
+14 changes + +- Fix: prevent pdfjs highlight scrolling from affecting the entire page [@shamoon](https://github.com/shamoon) ([#13355](https://github.com/paperless-ngx/paperless-ngx/pull/13355)) +- Fix: don't skip OCR/archive for tagged PDFs with no actual text [@stumpylog](https://github.com/stumpylog) ([#13351](https://github.com/paperless-ngx/paperless-ngx/pull/13351)) +- Performance: more efficient diacritic normalization in dropdown filtering [@shamoon](https://github.com/shamoon) ([#13347](https://github.com/paperless-ngx/paperless-ngx/pull/13347)) +- Performance: prefetch notes and custom fields for LLM index text building [@stumpylog](https://github.com/stumpylog) ([#13350](https://github.com/paperless-ngx/paperless-ngx/pull/13350)) +- Fix: dedupe permission-visible documents when combined with multi-tag filters [@stumpylog](https://github.com/stumpylog) ([#13345](https://github.com/paperless-ngx/paperless-ngx/pull/13345)) +- Performance: Scope llm index updates to actually modified documents [@stumpylog](https://github.com/stumpylog) ([#13322](https://github.com/paperless-ngx/paperless-ngx/pull/13322)) +- Fixhancement: pass LLM output language to chat if specified [@shamoon](https://github.com/shamoon) ([#13340](https://github.com/paperless-ngx/paperless-ngx/pull/13340)) +- Chore: resolve npm provenance issues with chokidar and semver [@shamoon](https://github.com/shamoon) ([#13323](https://github.com/paperless-ngx/paperless-ngx/pull/13323)) +- Fix: ensure preview reload on live changes [@shamoon](https://github.com/shamoon) ([#13321](https://github.com/paperless-ngx/paperless-ngx/pull/13321)) +- Fix: clamp all out out-of-range possible fields [@stumpylog](https://github.com/stumpylog) ([#13316](https://github.com/paperless-ngx/paperless-ngx/pull/13316)) +- Fix: add docstring to DocumentClassifierSchema for cleaner LLM tool description [@stumpylog](https://github.com/stumpylog) ([#13315](https://github.com/paperless-ngx/paperless-ngx/pull/13315)) +- Fix: guard build\_document\_node against stale FK on deleted correspondent/doc type [@stumpylog](https://github.com/stumpylog) ([#13318](https://github.com/paperless-ngx/paperless-ngx/pull/13318)) +- Fix: prevent search filter loss when closing document with Escape key [@shamoon](https://github.com/shamoon) ([#13317](https://github.com/paperless-ngx/paperless-ngx/pull/13317)) +- Fix: fix frontend permissions display for stats/system perms [@shamoon](https://github.com/shamoon) ([#13305](https://github.com/paperless-ngx/paperless-ngx/pull/13305)) + +
+ ## paperless-ngx 3.0.3 ### Bug Fixes From a68c487d604de6785384bdc5d09247d7a9de6d91 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 27 Jul 2026 23:33:13 -0700 Subject: [PATCH 19/77] Fix: fix Enter selection in search autocomplete (#13361) --- .../filter-editor.component.spec.ts | 30 +++++++++++++++++++ .../filter-editor/filter-editor.component.ts | 4 +++ 2 files changed, 34 insertions(+) diff --git a/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.spec.ts b/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.spec.ts index 7cc8f3638..1cf05b781 100644 --- a/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.spec.ts +++ b/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.spec.ts @@ -2269,4 +2269,34 @@ describe('FilterEditorComponent', () => { component.itemSelected({ item: 'world', preventDefault: () => true }) expect(component.textFilter).toEqual('hello world ') }) + + it('should choose the active autocomplete item with Enter', () => { + component.textFilterTarget = 'fulltext-query' + jest + .spyOn(searchService, 'autocomplete') + .mockReturnValue(of(['hello', 'help'])) + + const input = component.textFilterInput.nativeElement as HTMLInputElement + input.value = 'he' + input.dispatchEvent(new Event('input')) + tick(250) + + input.dispatchEvent( + new KeyboardEvent('keydown', { + key: 'ArrowDown', + bubbles: true, + cancelable: true, + }) + ) + input.dispatchEvent( + new KeyboardEvent('keydown', { + key: 'Enter', + bubbles: true, + cancelable: true, + }) + ) + fixture.detectChanges() + + expect(component.textFilter).toEqual('help ') + }) }) diff --git a/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.ts b/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.ts index 5566f9ecd..d747002b2 100644 --- a/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.ts +++ b/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.ts @@ -1314,6 +1314,10 @@ export class FilterEditorComponent textFilterKeydown(event: KeyboardEvent) { if (event.key == 'Enter') { + if (event.defaultPrevented) { + // NgbTypeahead calls preventDefault, so use that to detect if the Enter key was for the dropdown + return + } const filterString = ( this.textFilterInput.nativeElement as HTMLInputElement ).value From de9f520143aac757b1f232d39ae75ab630a003b4 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue, 28 Jul 2026 00:34:30 -0700 Subject: [PATCH 20/77] Chore/fix: refactor frontend task service (#13365) --- .../admin/tasks/tasks.component.html | 2 +- src-ui/src/app/services/tasks.service.spec.ts | 132 ++++++++---------- src-ui/src/app/services/tasks.service.ts | 89 ++++++------ 3 files changed, 96 insertions(+), 127 deletions(-) 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 7fae03a7f..f1220e4b5 100644 --- a/src-ui/src/app/components/admin/tasks/tasks.component.html +++ b/src-ui/src/app/components/admin/tasks/tasks.component.html @@ -21,7 +21,7 @@ -@if (!tasksService.completedFileTasks && tasksService.loading) { +@if (loading() && pagedTasks().length === 0) {
Loading...
} diff --git a/src-ui/src/app/services/tasks.service.spec.ts b/src-ui/src/app/services/tasks.service.spec.ts index 3412ae2ce..c8dca41fb 100644 --- a/src-ui/src/app/services/tasks.service.spec.ts +++ b/src-ui/src/app/services/tasks.service.spec.ts @@ -50,13 +50,66 @@ describe('TasksService', () => { req.flush({ count: 0, results: [] }) }) - it('does not call tasks api endpoint on reload if already loading', () => { - tasksService.loading = true + it('cancels an in-progress reload when reloading again', () => { tasksService.reload() - httpTestingController.expectNone( + const staleReload = httpTestingController.expectOne( (req: HttpRequest) => req.url === `${environment.apiBaseUrl}tasks/` ) + tasksService.reload() + + expect(staleReload.cancelled).toBe(true) + httpTestingController + .expectOne( + (req: HttpRequest) => + req.url === `${environment.apiBaseUrl}tasks/` + ) + .flush({ count: 0, results: [] }) + }) + + it('continues reloading after a reload request fails', () => { + tasksService.reload() + httpTestingController + .expectOne( + (req: HttpRequest) => + req.url === `${environment.apiBaseUrl}tasks/` + ) + .flush('error', { status: 500, statusText: 'error' }) + + expect(tasksService.loading).toBe(false) + + tasksService.reload() + httpTestingController + .expectOne( + (req: HttpRequest) => + req.url === `${environment.apiBaseUrl}tasks/` + ) + .flush({ count: 0, results: [] }) + }) + + it('reloads after dismissing a task while a reload is already in progress', () => { + tasksService.reload() + const staleReload = httpTestingController.expectOne( + (req: HttpRequest) => + req.url === `${environment.apiBaseUrl}tasks/` && + req.params.get('acknowledged') === 'false' + ) + + tasksService.dismissTasks(new Set([1])).subscribe() + httpTestingController + .expectOne(`${environment.apiBaseUrl}tasks/acknowledge/`) + .flush([]) + + expect(staleReload.cancelled).toBe(true) + httpTestingController + .expectOne( + (req: HttpRequest) => + req.url === `${environment.apiBaseUrl}tasks/` && + req.params.get('acknowledged') === 'false' + ) + .flush({ count: 0, results: [] }) + + expect(tasksService.needsAttentionTasks).toHaveLength(0) }) it('calls acknowledge_tasks api endpoint on dismiss and reloads', () => { @@ -101,79 +154,6 @@ describe('TasksService', () => { .flush({ count: 0, results: [] }) }) - it('groups mixed task types by status when reloading', () => { - expect(tasksService.total).toEqual(0) - const mockTasks = [ - { - task_type: PaperlessTaskType.ConsumeFile, - trigger_source: PaperlessTaskTriggerSource.FolderConsume, - status: PaperlessTaskStatus.Success, - acknowledged: false, - task_id: '1234', - input_data: { filename: 'file1.pdf' }, - date_created: new Date(), - related_document_ids: [], - }, - { - task_type: PaperlessTaskType.SanityCheck, - trigger_source: PaperlessTaskTriggerSource.System, - status: PaperlessTaskStatus.Failure, - acknowledged: false, - task_id: '1235', - input_data: {}, - date_created: new Date(), - related_document_ids: [], - }, - { - task_type: PaperlessTaskType.MailFetch, - trigger_source: PaperlessTaskTriggerSource.Scheduled, - status: PaperlessTaskStatus.Pending, - acknowledged: false, - task_id: '1236', - input_data: {}, - date_created: new Date(), - related_document_ids: [], - }, - { - task_type: PaperlessTaskType.LlmIndex, - trigger_source: PaperlessTaskTriggerSource.WebUI, - status: PaperlessTaskStatus.Started, - acknowledged: false, - task_id: '1237', - input_data: {}, - date_created: new Date(), - related_document_ids: [], - }, - { - task_type: PaperlessTaskType.EmptyTrash, - trigger_source: PaperlessTaskTriggerSource.Manual, - status: PaperlessTaskStatus.Success, - acknowledged: false, - task_id: '1238', - input_data: {}, - date_created: new Date(), - related_document_ids: [], - }, - ] - - tasksService.reload() - - const req = httpTestingController.expectOne( - (req: HttpRequest) => - req.url === `${environment.apiBaseUrl}tasks/` && - req.params.get('acknowledged') === 'false' && - req.params.get('page_size') === '1000' - ) - - req.flush({ count: mockTasks.length, results: mockTasks }) - - expect(tasksService.allFileTasks).toHaveLength(5) - expect(tasksService.completedFileTasks).toHaveLength(2) - expect(tasksService.failedFileTasks).toHaveLength(1) - expect(tasksService.queuedFileTasks).toHaveLength(1) - expect(tasksService.startedFileTasks).toHaveLength(1) - }) - it('includes revoked tasks in needs attention', () => { const mockTasks = [ { diff --git a/src-ui/src/app/services/tasks.service.ts b/src-ui/src/app/services/tasks.service.ts index 8b71c6923..189d3ac62 100644 --- a/src-ui/src/app/services/tasks.service.ts +++ b/src-ui/src/app/services/tasks.service.ts @@ -1,7 +1,15 @@ import { HttpClient } from '@angular/common/http' import { Injectable, inject, signal } from '@angular/core' -import { Observable, Subject } from 'rxjs' -import { first, map, takeUntil, tap } from 'rxjs/operators' +import { EMPTY, Observable, Subject } from 'rxjs' +import { + catchError, + finalize, + first, + map, + switchMap, + takeUntil, + tap, +} from 'rxjs/operators' import { PaperlessTask, PaperlessTaskStatus, @@ -23,44 +31,40 @@ export class TasksService { public loading: boolean = false - private readonly fileTasks = signal([]) + private readonly tasks = signal([]) + private readonly reloadNotifier = new Subject() private unsubscribeNotifer: Subject = new Subject() - public get total(): number { - return this.fileTasks().length - } - - public get allFileTasks(): PaperlessTask[] { - return this.fileTasks().slice(0) - } - - public get queuedFileTasks(): PaperlessTask[] { - return this.fileTasks().filter( - (t) => t.status === PaperlessTaskStatus.Pending - ) - } - - public get startedFileTasks(): PaperlessTask[] { - return this.fileTasks().filter( - (t) => t.status === PaperlessTaskStatus.Started - ) - } - - public get completedFileTasks(): PaperlessTask[] { - return this.fileTasks().filter( - (t) => t.status === PaperlessTaskStatus.Success - ) - } - - public get failedFileTasks(): PaperlessTask[] { - return this.fileTasks().filter( - (t) => t.status === PaperlessTaskStatus.Failure - ) + constructor() { + this.reloadNotifier + .pipe( + switchMap(() => { + this.loading = true + return this.http + .get>(`${this.baseUrl}${this.endpoint}/`, { + params: { + acknowledged: 'false', + page_size: this.defaultReloadPageSize, + }, + }) + .pipe( + map((response) => response.results), + takeUntil(this.unsubscribeNotifer), + catchError(() => EMPTY), + finalize(() => { + this.loading = false + }) + ) + }) + ) + .subscribe((tasks) => { + this.tasks.set(tasks) + }) } public get needsAttentionTasks(): PaperlessTask[] { - return this.fileTasks().filter((t) => + return this.tasks().filter((t) => [PaperlessTaskStatus.Failure, PaperlessTaskStatus.Revoked].includes( t.status ) @@ -68,22 +72,7 @@ export class TasksService { } public reload() { - if (this.loading) return - this.loading = true - - this.http - .get>(`${this.baseUrl}${this.endpoint}/`, { - params: { - acknowledged: 'false', - page_size: this.defaultReloadPageSize, - }, - }) - .pipe(map((r) => r.results)) - .pipe(takeUntil(this.unsubscribeNotifer), first()) - .subscribe((r) => { - this.fileTasks.set(r) - this.loading = false - }) + this.reloadNotifier.next() } public list( From 6a1d7b1bca22c49db761ffe6eb7d5a147cdb48c6 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue, 28 Jul 2026 07:21:02 -0700 Subject: [PATCH 21/77] Fix: close non-atomic db connections in before_task_publish (#13366) --- src/documents/signals/handlers.py | 5 +++++ src/documents/tests/test_task_signals.py | 26 ++++++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/src/documents/signals/handlers.py b/src/documents/signals/handlers.py index fe1d1f94d..30c682cbf 100644 --- a/src/documents/signals/handlers.py +++ b/src/documents/signals/handlers.py @@ -1134,6 +1134,11 @@ def before_task_publish_handler( return try: + # Close stale connections without disrupting a transaction publishing a task + for connection in connections.all(initialized_only=True): + if not connection.in_atomic_block: + connection.close_if_unusable_or_obsolete() + _, task_kwargs, _ = body task_id = headers["id"] diff --git a/src/documents/tests/test_task_signals.py b/src/documents/tests/test_task_signals.py index 2c9fde16f..83652b5df 100644 --- a/src/documents/tests/test_task_signals.py +++ b/src/documents/tests/test_task_signals.py @@ -56,6 +56,32 @@ def send_publish( @pytest.mark.django_db class TestBeforeTaskPublishHandler: + @mock.patch("documents.signals.handlers.connections.all") + def test_closes_old_connections_outside_atomic_blocks( + self, + connections_all, + ) -> None: + connection = mock.Mock(in_atomic_block=False) + connections_all.return_value = [connection] + + task_id = send_publish("documents.tasks.train_classifier", (), {}) + + connection.close_if_unusable_or_obsolete.assert_called_once_with() + assert PaperlessTask.objects.filter(task_id=task_id).exists() + + @mock.patch("documents.signals.handlers.connections.all") + def test_keeps_connections_open_inside_atomic_blocks( + self, + connections_all, + ) -> None: + connection = mock.Mock(in_atomic_block=True) + connections_all.return_value = [connection] + + task_id = send_publish("documents.tasks.train_classifier", (), {}) + + connection.close_if_unusable_or_obsolete.assert_not_called() + assert PaperlessTask.objects.filter(task_id=task_id).exists() + def test_creates_task_for_consume_file( self, consume_input_doc, From 9c98f30d3f8e0a87ce7c18597c35ab10b4517a36 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2026 15:29:20 +0000 Subject: [PATCH 22/77] Chore(deps): Bump pymdown-extensions in the uv group across 1 directory (#13378) Bumps the uv group with 1 update in the / directory: [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions). Updates `pymdown-extensions` from 10.21.3 to 11.0 - [Release notes](https://github.com/facelessuser/pymdown-extensions/releases) - [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.21.3...11.0) --- updated-dependencies: - dependency-name: pymdown-extensions dependency-version: '11.0' dependency-type: indirect dependency-group: uv ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- uv.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/uv.lock b/uv.lock index 65317c7a2..30db974d4 100644 --- a/uv.lock +++ b/uv.lock @@ -3735,15 +3735,15 @@ crypto = [ [[package]] name = "pymdown-extensions" -version = "10.21.3" +version = "11.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "markdown", marker = "sys_platform == 'darwin' or sys_platform == 'linux'" }, { name = "pyyaml", marker = "sys_platform == 'darwin' or sys_platform == 'linux'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9e/26/d1015444da4d952a1ca487a236b522eb979766f0295a0bd0c5fc089989a9/pymdown_extensions-10.21.3.tar.gz", hash = "sha256:72cfcf55f07aea0d4af2c4f11dd4e52466ddfb1bb819673146398e0bd3a77354", size = 854140, upload-time = "2026-05-13T12:57:32.267Z" } +sdist = { url = "https://files.pythonhosted.org/packages/47/67/f1e79672a5f91985577c7984c9709ca110e4fd37fe7fd167b60422e6ccc2/pymdown_extensions-11.0.tar.gz", hash = "sha256:8269cef0247f9e2d0a62fcea10860aba05c1cbab5470fd4b63230b96434dc589", size = 857049, upload-time = "2026-06-23T02:27:45.146Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/85/545a951eecc270fcd688288c600017e2050a1aacb56c711d208586d3e470/pymdown_extensions-10.21.3-py3-none-any.whl", hash = "sha256:d7a5d08014fc571e80ca21dd6f854e31f94c489800350564d55d15b3c41e76b6", size = 269002, upload-time = "2026-05-13T12:57:30.296Z" }, + { url = "https://files.pythonhosted.org/packages/af/b6/1ae53367e28b9cffa3be7574e13fbe4589694272fd47710fbdbafd3d63c6/pymdown_extensions-11.0-py3-none-any.whl", hash = "sha256:fbc4acb641814fa9d17521bbd21a5240ef739a662f11c06330c4b78c93e954d6", size = 269415, upload-time = "2026-06-23T02:27:43.826Z" }, ] [[package]] From 12d318deff27e4a2aa51ce95fa3efa8fa42bf2fb Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Tue, 28 Jul 2026 09:21:14 -0700 Subject: [PATCH 23/77] Documentation: Add Password Removal workflow action documentation (#13377) Addresses discussion #13373. Documents that password removal creates a new document version via re-consumption of the decrypted file rather than editing in place, and explains why the Consumption Started trigger produces an initial un-OCR'd version followed by a properly processed one. --- docs/usage.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/docs/usage.md b/docs/usage.md index e4009cdff..bd03c9a51 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -620,6 +620,34 @@ no other workflow will be executed on the document. If a "Move to Trash" action is executed in a consume pipeline, the consumption will be aborted and the file will be deleted. +##### Password Removal {#workflow-action-password-removal} + +"Password Removal" actions attempt to remove password protection from encrypted PDF documents. You can specify: + +- One or more passwords to try, separated by commas or new lines +- Each password is tried in order until one successfully unlocks the document + +Password removal never modifies a file in place. Instead, once a working password is found, the +decrypted content is consumed as a new [document version](#document-file-versions), leaving the +original (still encrypted) version in the document's version history. + +**Consumption Started**: because this trigger fires before the document exists yet, the password +removal itself is deferred until after the initial consumption of the encrypted file has completed. +OCR engines cannot process an encrypted PDF, so this first version is typically stored with no +extracted text (unless the file already contained extractable text outside of OCR). Immediately +afterwards, the password is removed and the decrypted file is automatically re-consumed as a second, +new version of the same document, this time with normal OCR/text extraction applied. In other words, +a password-protected file added with this trigger will briefly exist as an un-OCR'd version before +the properly processed version is created. + +**Document Added**, **Document Updated**, **Scheduled**: these triggers run against a document that +already exists, so password removal happens immediately: the decrypted content is queued for +consumption as a new version right away. Note that if the document's initial consumption also +happened while it was still encrypted, that original version will likewise be missing OCR text. + +**Current limitation**: Passwords are stored as a simple list without descriptions. To handle +multiple PDF types with different passwords, create separate workflows for each use case. + #### Workflow placeholders Titles and webhook payloads can be generated by workflows using [Jinja templates](https://jinja.palletsprojects.com/en/3.1.x/templates/). From 1b32b9d67869f0a80fbd0acbc5502a3fb985ed2f Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Tue, 28 Jul 2026 09:58:38 -0700 Subject: [PATCH 24/77] Fix: exclude next-period start from relative date-range filters (#13381) * Fix: exclude next-period start from relative date-range filters Tantivy's [lo TO hi] range is inclusive on both ends, but computed upper bounds (keyword ranges, YYYY/YYYYMM/YYYYMMDD tokens) represent the start of the next period. Use half-open [lo TO hi} for those so e.g. "previous month" no longer matches the 1st of the current month. * Adds a regression test down to the second check for the hi range --- src/documents/search/_dates.py | 12 +++- src/documents/search/_translate.py | 15 ++++- src/documents/tests/search/test_query.py | 4 +- src/documents/tests/search/test_translate.py | 68 ++++++++++---------- src/documents/tests/test_api_search.py | 42 ++++++++++++ 5 files changed, 102 insertions(+), 39 deletions(-) diff --git a/src/documents/search/_dates.py b/src/documents/search/_dates.py index a94935022..dbdf6b42b 100644 --- a/src/documents/search/_dates.py +++ b/src/documents/search/_dates.py @@ -43,8 +43,16 @@ def _fmt(dt: datetime) -> str: def _iso_range(lo: datetime, hi: datetime) -> str: - """Format a [lo TO hi] range string in ISO 8601 for Tantivy query syntax.""" - return f"[{_fmt(lo)} TO {_fmt(hi)}]" + """ + Format a half-open ``[lo TO hi)`` range in ISO 8601 for Tantivy query syntax. + + ``hi`` is always the exclusive ceiling of a computed period (the start of + the *next* day/week/month/quarter/year), so the closing bracket must be + the Tantivy exclusive-range brace ``}`` rather than ``]`` — otherwise the + first instant of the following period (e.g. the 1st of next month) is + incorrectly included in the match. + """ + return f"[{_fmt(lo)} TO {_fmt(hi)}}}" def _quarter_start(d: date) -> date: diff --git a/src/documents/search/_translate.py b/src/documents/search/_translate.py index 7afa23773..a3ec729fd 100644 --- a/src/documents/search/_translate.py +++ b/src/documents/search/_translate.py @@ -566,6 +566,17 @@ def translate_range(field: str, lo: str, hi: str, tz: tzinfo) -> str: lo_pair, hi_pair = hi_pair, lo_pair lo_iso = _fmt(lo_pair[0]) if lo_pair is not None else OPEN_LO - hi_iso = _fmt(hi_pair[1]) if hi_pair is not None else OPEN_HI - return f"{field}:[{lo_iso} TO {hi_iso}]" + # A bound resolves to (floor, ceil) where floor == ceil for an exact instant + # (a full ISO datetime, "now", or a "+/-N unit" offset) and floor != ceil for + # a coarser period token (year/month/day precision). Only the latter needs a + # half-open close: its ceil is the start of the *next* period and must be + # excluded, or that instant (e.g. the 1st of next month) wrongly matches. + if hi_pair is not None: + hi_iso = _fmt(hi_pair[1]) + hi_close = "]" if hi_pair[0] == hi_pair[1] else "}" + else: + hi_iso = OPEN_HI + hi_close = "]" + + return f"{field}:[{lo_iso} TO {hi_iso}{hi_close}" diff --git a/src/documents/tests/search/test_query.py b/src/documents/tests/search/test_query.py index 60ba2bf2f..2b7112047 100644 --- a/src/documents/tests/search/test_query.py +++ b/src/documents/tests/search/test_query.py @@ -32,7 +32,9 @@ AUCKLAND = ZoneInfo("Pacific/Auckland") # UTC+13 in southern-hemisphere summer def _range(result: str, field: str) -> tuple[str, str]: - m = re.search(rf"{field}:\[(.+?) TO (.+?)\]", result) + # Half-open period ranges close with "}" (exclusive); exact-instant ranges + # (full ISO datetimes, "now", relative offsets) close with "]" (inclusive). + m = re.search(rf"{field}:\[(.+?) TO (.+?)[\]}}]", result) assert m, f"No range for {field!r} in: {result!r}" return m.group(1), m.group(2) diff --git a/src/documents/tests/search/test_translate.py b/src/documents/tests/search/test_translate.py index ff91cf301..70611aecc 100644 --- a/src/documents/tests/search/test_translate.py +++ b/src/documents/tests/search/test_translate.py @@ -214,27 +214,27 @@ class TestTranslateScalar: ( "created", "2020", - "created:[2020-01-01T00:00:00Z TO 2021-01-01T00:00:00Z]", + "created:[2020-01-01T00:00:00Z TO 2021-01-01T00:00:00Z}", ), ( "created", "202003", - "created:[2020-03-01T00:00:00Z TO 2020-04-01T00:00:00Z]", + "created:[2020-03-01T00:00:00Z TO 2020-04-01T00:00:00Z}", ), ( "created", "20200115", - "created:[2020-01-15T00:00:00Z TO 2020-01-16T00:00:00Z]", + "created:[2020-01-15T00:00:00Z TO 2020-01-16T00:00:00Z}", ), ( "created", "2020-01-15", - "created:[2020-01-15T00:00:00Z TO 2020-01-16T00:00:00Z]", + "created:[2020-01-15T00:00:00Z TO 2020-01-16T00:00:00Z}", ), ( "created", "2020-03", - "created:[2020-03-01T00:00:00Z TO 2020-04-01T00:00:00Z]", + "created:[2020-03-01T00:00:00Z TO 2020-04-01T00:00:00Z}", ), ], ) @@ -248,9 +248,9 @@ class TestTranslateScalar: assert exc_info.value.value == "202023" def test_keyword_delegates(self) -> None: - # keyword path produces a range; just assert it is a created range + # keyword path produces a half-open range; just assert it is a created range out = translate_scalar("created", "today", UTC) - assert out.startswith("created:[") and out.endswith("]") + assert out.startswith("created:[") and out.endswith("}") def test_14digit_compact_datetime(self) -> None: out = translate_scalar("created", "20240115120000", UTC) @@ -279,21 +279,21 @@ class TestTranslateRange: @pytest.mark.parametrize( ("lo", "hi", "expected"), [ - ("2005", "2009", "created:[2005-01-01T00:00:00Z TO 2010-01-01T00:00:00Z]"), + ("2005", "2009", "created:[2005-01-01T00:00:00Z TO 2010-01-01T00:00:00Z}"), ( "202001", "202006", - "created:[2020-01-01T00:00:00Z TO 2020-07-01T00:00:00Z]", + "created:[2020-01-01T00:00:00Z TO 2020-07-01T00:00:00Z}", ), ( "20200101", "20201231", - "created:[2020-01-01T00:00:00Z TO 2021-01-01T00:00:00Z]", + "created:[2020-01-01T00:00:00Z TO 2021-01-01T00:00:00Z}", ), ( "2020-01-01", "2020-12-31", - "created:[2020-01-01T00:00:00Z TO 2021-01-01T00:00:00Z]", + "created:[2020-01-01T00:00:00Z TO 2021-01-01T00:00:00Z}", ), ], ) @@ -302,7 +302,7 @@ class TestTranslateRange: def test_reversed_swaps(self): assert translate_range("created", "2009", "2005", UTC) == ( - "created:[2005-01-01T00:00:00Z TO 2010-01-01T00:00:00Z]" + "created:[2005-01-01T00:00:00Z TO 2010-01-01T00:00:00Z}" ) def test_open_upper(self): @@ -311,7 +311,7 @@ class TestTranslateRange: def test_open_lower(self): out = translate_range("created", "", "2020", UTC) - assert out == f"created:[{OPEN_LO} TO 2021-01-01T00:00:00Z]" + assert out == f"created:[{OPEN_LO} TO 2021-01-01T00:00:00Z}}" def test_invalid_bound_raises(self): with pytest.raises(InvalidDateQuery) as exc_info: @@ -334,16 +334,16 @@ class TestTranslateQuery: [ ( "created:2020", - "created:[2020-01-01T00:00:00Z TO 2021-01-01T00:00:00Z]", + "created:[2020-01-01T00:00:00Z TO 2021-01-01T00:00:00Z}", ), ("tag:foo,bar", "tag:foo AND tag:bar"), # 'type' is a user-facing alias rewritten to 'document_type' (the real schema field) ("tag:foo,type:bar", "tag:foo AND document_type:bar"), ( "created:[2020 TO 2021],added:[2022 TO 2023]", - "created:[2020-01-01T00:00:00Z TO 2022-01-01T00:00:00Z]" + "created:[2020-01-01T00:00:00Z TO 2022-01-01T00:00:00Z}" " AND " - "added:[2022-01-01T00:00:00Z TO 2024-01-01T00:00:00Z]", + "added:[2022-01-01T00:00:00Z TO 2024-01-01T00:00:00Z}", ), # correspondent is not multi-value: comma stays literal inside the value ("correspondent:foo,bar", "correspondent:foo,bar"), @@ -506,7 +506,7 @@ class TestOperatorNormalization: def test_date_range_preserved(self) -> None: out = translate_query("created:[2020 TO 2021]", UTC) # Must not corrupt the ISO range - assert out == "created:[2020-01-01T00:00:00Z TO 2022-01-01T00:00:00Z]" + assert out == "created:[2020-01-01T00:00:00Z TO 2022-01-01T00:00:00Z}" def test_date_scalar_with_or(self) -> None: out = translate_query("created:2020 OR foo", UTC) @@ -581,42 +581,42 @@ class TestKeywordDateResolution: [ pytest.param( "today", - "created:[2026-03-28T00:00:00Z TO 2026-03-29T00:00:00Z]", + "created:[2026-03-28T00:00:00Z TO 2026-03-29T00:00:00Z}", id="today", ), pytest.param( "yesterday", - "created:[2026-03-27T00:00:00Z TO 2026-03-28T00:00:00Z]", + "created:[2026-03-27T00:00:00Z TO 2026-03-28T00:00:00Z}", id="yesterday", ), pytest.param( "previous week", - "created:[2026-03-16T00:00:00Z TO 2026-03-23T00:00:00Z]", + "created:[2026-03-16T00:00:00Z TO 2026-03-23T00:00:00Z}", id="previous-week", ), pytest.param( "this month", - "created:[2026-03-01T00:00:00Z TO 2026-04-01T00:00:00Z]", + "created:[2026-03-01T00:00:00Z TO 2026-04-01T00:00:00Z}", id="this-month", ), pytest.param( "previous month", - "created:[2026-02-01T00:00:00Z TO 2026-03-01T00:00:00Z]", + "created:[2026-02-01T00:00:00Z TO 2026-03-01T00:00:00Z}", id="previous-month", ), pytest.param( "this year", - "created:[2026-01-01T00:00:00Z TO 2027-01-01T00:00:00Z]", + "created:[2026-01-01T00:00:00Z TO 2027-01-01T00:00:00Z}", id="this-year", ), pytest.param( "previous year", - "created:[2025-01-01T00:00:00Z TO 2026-01-01T00:00:00Z]", + "created:[2025-01-01T00:00:00Z TO 2026-01-01T00:00:00Z}", id="previous-year", ), pytest.param( "previous quarter", - "created:[2025-10-01T00:00:00Z TO 2026-01-01T00:00:00Z]", + "created:[2025-10-01T00:00:00Z TO 2026-01-01T00:00:00Z}", id="previous-quarter", ), ], @@ -637,42 +637,42 @@ class TestKeywordDateResolution: [ pytest.param( "today", - "added:[2026-03-27T15:00:00Z TO 2026-03-28T15:00:00Z]", + "added:[2026-03-27T15:00:00Z TO 2026-03-28T15:00:00Z}", id="today", ), pytest.param( "yesterday", - "added:[2026-03-26T15:00:00Z TO 2026-03-27T15:00:00Z]", + "added:[2026-03-26T15:00:00Z TO 2026-03-27T15:00:00Z}", id="yesterday", ), pytest.param( "previous week", - "added:[2026-03-15T15:00:00Z TO 2026-03-22T15:00:00Z]", + "added:[2026-03-15T15:00:00Z TO 2026-03-22T15:00:00Z}", id="previous-week", ), pytest.param( "this month", - "added:[2026-02-28T15:00:00Z TO 2026-03-31T15:00:00Z]", + "added:[2026-02-28T15:00:00Z TO 2026-03-31T15:00:00Z}", id="this-month", ), pytest.param( "previous month", - "added:[2026-01-31T15:00:00Z TO 2026-02-28T15:00:00Z]", + "added:[2026-01-31T15:00:00Z TO 2026-02-28T15:00:00Z}", id="previous-month", ), pytest.param( "this year", - "added:[2025-12-31T15:00:00Z TO 2026-12-31T15:00:00Z]", + "added:[2025-12-31T15:00:00Z TO 2026-12-31T15:00:00Z}", id="this-year", ), pytest.param( "previous year", - "added:[2024-12-31T15:00:00Z TO 2025-12-31T15:00:00Z]", + "added:[2024-12-31T15:00:00Z TO 2025-12-31T15:00:00Z}", id="previous-year", ), pytest.param( "previous quarter", - "added:[2025-09-30T15:00:00Z TO 2025-12-31T15:00:00Z]", + "added:[2025-09-30T15:00:00Z TO 2025-12-31T15:00:00Z}", id="previous-quarter", ), ], @@ -719,7 +719,7 @@ class TestISODatetimeBounds: def test_translate_query_text_before_comma_separated_date_clause(self) -> None: result = translate_query("schäfersee,created:previous year", UTC) assert result == ( - "schäfersee AND created:[2025-01-01T00:00:00Z TO 2026-01-01T00:00:00Z]" + "schäfersee AND created:[2025-01-01T00:00:00Z TO 2026-01-01T00:00:00Z}" ) def test_invalid_iso_datetime_raises(self) -> None: diff --git a/src/documents/tests/test_api_search.py b/src/documents/tests/test_api_search.py index b42907132..dac1d6fb0 100644 --- a/src/documents/tests/test_api_search.py +++ b/src/documents/tests/test_api_search.py @@ -720,6 +720,48 @@ class TestDocumentSearchApi(DirectoriesMixin, APITestCase): self.assertEqual(results[0]["id"], 3) self.assertEqual(results[0]["title"], "bank statement 3") + def test_search_added_previous_month_excludes_next_period_start(self) -> None: + """ + GIVEN: + - One document added at the last instant of last month + - One document added exactly at the first instant of this month + WHEN: + - Query for documents added in the previous month + THEN: + - Only the document from last month is returned; the document dated + exactly at the start of this month (the exclusive upper bound of + the range) is not + """ + d1 = DocumentFactory.create( + title="end of last month", + content="last instant of last month", + checksum="A", + pk=1, + added=timezone.make_aware(datetime.datetime(2024, 1, 31, 23, 59, 59)), + ) + d2 = DocumentFactory.create( + title="start of this month", + content="first instant of this month", + checksum="B", + pk=2, + added=timezone.make_aware(datetime.datetime(2024, 2, 1, 0, 0, 0)), + ) + + backend = get_backend() + backend.add_or_update(d1) + backend.add_or_update(d2) + + with time_machine.travel( + timezone.make_aware(datetime.datetime(2024, 2, 15, 12, 0, 0)), + tick=False, + ): + response = self.client.get("/api/documents/?query=added:previous month") + results = response.data["results"] + + self.assertEqual(len(results), 1) + self.assertEqual(results[0]["id"], 1) + self.assertEqual(results[0]["title"], "end of last month") + def test_search_added_invalid_date(self) -> None: """ GIVEN: From 04779d72bbd703ab5e01aba88459ef6d64bb807b Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue, 28 Jul 2026 11:26:37 -0700 Subject: [PATCH 25/77] Tweak: adjust doc details button toolbar flow (#13382) --- .../document-detail.component.html | 56 ++++++++++--------- 1 file changed, 30 insertions(+), 26 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 6ee6b442a..664fa950c 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 @@ -113,8 +113,8 @@
-
-
+
+
@@ -127,32 +127,36 @@
-
- - +
+
+ + +
+ +
+ + +
-
- - +
+
- -
-
+
@@ -440,7 +444,7 @@
-
+
@if (hasNext()) { From 09c9fa03cf00f384d6b2b797ec6162aafd87c34f Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 28 Jul 2026 18:28:12 +0000 Subject: [PATCH 26/77] 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 9e98563f0..e8f0ae0bf 100644 --- a/src-ui/messages.xlf +++ b/src-ui/messages.xlf @@ -659,7 +659,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -831,7 +831,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1355,7 +1355,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1596,7 +1596,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 @@ -1607,7 +1607,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1638,7 +1638,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1669,7 +1669,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -4914,7 +4914,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 @@ -7760,14 +7760,14 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -7790,14 +7790,14 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -7808,14 +7808,14 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -7826,147 +7826,147 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 History src/app/components/document-detail/document-detail.component.html - 379 + 383 Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 From bbb9c86ba444f49b9410d69e2ec8af8c11673a4a Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Wed, 29 Jul 2026 07:14:13 -0700 Subject: [PATCH 27/77] Fix: avoid NotSupportedError from document_importer on MariaDB (#13400) --- .../management/commands/document_importer.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/documents/management/commands/document_importer.py b/src/documents/management/commands/document_importer.py index 90986858b..0e54b0ced 100644 --- a/src/documents/management/commands/document_importer.py +++ b/src/documents/management/commands/document_importer.py @@ -386,10 +386,19 @@ class Command(CryptMixin, PaperlessCommand): raise DeserializationError( f"{model.__name__} has no updatable fields; PK-only models are not supported by the importer", ) + # MySQL/MariaDB support upserts via ON DUPLICATE KEY UPDATE but, + # unlike PostgreSQL/SQLite, cannot target a specific unique field + # for the conflict -- passing unique_fields there raises + # NotSupportedError. + unique_fields = ( + [model._meta.pk.attname] + if connection.features.supports_update_conflicts_with_target + else None + ) model.objects.bulk_create( # type: ignore[attr-defined] instances, update_conflicts=True, - unique_fields=[model._meta.pk.attname], + unique_fields=unique_fields, update_fields=update_fields, ) loaded_models.add(model) From 5bd72014a68e16023d5ccc83569ac2b0dca74e5c Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Wed, 29 Jul 2026 07:35:30 -0700 Subject: [PATCH 28/77] Fix: handle hidden line breaks in email subjects when sending email (#13402) --- src/documents/mail.py | 3 +++ src/documents/tests/test_api_email.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/documents/mail.py b/src/documents/mail.py index 21bf03c7a..e9c4cf6ad 100644 --- a/src/documents/mail.py +++ b/src/documents/mail.py @@ -36,6 +36,9 @@ def send_email( TODO: re-evaluate this pending https://code.djangoproject.com/ticket/35581 / https://github.com/django/django/pull/18966 """ + if "\r" in subject or "\n" in subject: + subject = " ".join(line.strip(" \t") for line in subject.splitlines()) + email = EmailMessage( subject=subject, body=body, diff --git a/src/documents/tests/test_api_email.py b/src/documents/tests/test_api_email.py index f6f30a226..90a629e1a 100644 --- a/src/documents/tests/test_api_email.py +++ b/src/documents/tests/test_api_email.py @@ -75,7 +75,7 @@ class TestEmail(DirectoriesMixin, SampleDirMixin, APITestCase): { "documents": [self.doc1.pk, self.doc2.pk], "addresses": "hello@paperless-ngx.com,test@example.com", - "subject": "Bulk email test", + "subject": "Bulk email\n test", "message": "Here are your documents", }, ), From 668fa77428b3b2ad3788202342f49ad7ba0d5c88 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Wed, 29 Jul 2026 09:25:37 -0700 Subject: [PATCH 29/77] Fix: prevent scale vs page loop in pngx PDF viewer (#13406) --- .../pdf-viewer/pdf-viewer.component.spec.ts | 18 +++++++++++++++--- .../common/pdf-viewer/pdf-viewer.component.ts | 9 ++++++--- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src-ui/src/app/components/common/pdf-viewer/pdf-viewer.component.spec.ts b/src-ui/src/app/components/common/pdf-viewer/pdf-viewer.component.spec.ts index 0e16ac2b2..ffb1fe8b5 100644 --- a/src-ui/src/app/components/common/pdf-viewer/pdf-viewer.component.spec.ts +++ b/src-ui/src/app/components/common/pdf-viewer/pdf-viewer.component.spec.ts @@ -129,13 +129,25 @@ describe('PngxPdfViewerComponent', () => { ;(component as any).applyScale() expect(viewer.currentScaleValue).toBe(PdfZoomScale.PageFit) expect(viewer.currentScale).toBe(2) + }) + it('does not reapply scale for page-only changes', async () => { + await initComponent() + + const pdf = (component as any).pdf as { numPages: number } + pdf.numPages = 3 + const viewer = (component as any).pdfViewer as PDFViewer + viewer.setDocument(pdf) const applyScaleSpy = jest.spyOn(component as any, 'applyScale') component.page = 2 - ;(component as any).lastViewerPage = 2 - ;(component as any).applyViewerState() + + component.ngOnChanges({ + page: new SimpleChange(1, 2, false), + }) + + expect(viewer.currentPageNumber).toBe(2) expect((component as any).lastViewerPage).toBeUndefined() - expect(applyScaleSpy).toHaveBeenCalled() + expect(applyScaleSpy).not.toHaveBeenCalled() }) it('does not reset the viewer when it is already on the requested page', async () => { diff --git a/src-ui/src/app/components/common/pdf-viewer/pdf-viewer.component.ts b/src-ui/src/app/components/common/pdf-viewer/pdf-viewer.component.ts index 4a0478316..153c67d91 100644 --- a/src-ui/src/app/components/common/pdf-viewer/pdf-viewer.component.ts +++ b/src-ui/src/app/components/common/pdf-viewer/pdf-viewer.component.ts @@ -116,7 +116,10 @@ export class PngxPdfViewerComponent changes['zoomScale'] || changes['rotation'] ) { - this.applyViewerState() + // Prevent loop with page / scale application see https://github.com/paperless-ngx/paperless-ngx/issues/13404 + this.applyViewerState( + !!(changes['zoom'] || changes['zoomScale'] || changes['rotation']) + ) } if (changes['searchQuery']) { @@ -240,7 +243,7 @@ export class PngxPdfViewerComponent } } - private applyViewerState(): void { + private applyViewerState(applyScale = true): void { if (!this.pdfViewer) { return } @@ -264,7 +267,7 @@ export class PngxPdfViewerComponent if (this.page === this.lastViewerPage) { this.lastViewerPage = undefined } - if (hasPages) { + if (hasPages && applyScale) { this.applyScale() } this.dispatchFindIfReady() From 350684cd6b29f01681b9d0fa849863ba4d470fe6 Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Wed, 29 Jul 2026 12:41:09 -0700 Subject: [PATCH 30/77] Fix: consolidate born-digital PDF detection between archive decision and OCR (#13409) * Fix: unify born-digital PDF detection between archive decision and OCR should_produce_archive() and RasterisedDocumentParser.parse() each reimplemented the "does this PDF have real text" check independently, using different normalization of pdftotext output. Raw pdftotext output can be non-empty (whitespace/form-feed layout padding) even when there is no real content, so the two checks could disagree: consumer.py treated a tagged-but-textless PDF as born-digital and skipped the archive, while the parser's own (stricter, normalized) check found no text and ran OCR anyway, leaving the document with no archive despite real OCR text (GH #13387). Both call sites now share one predicate, pdf_born_digital_text() in paperless/parsers/utils.py, so they can no longer drift apart. * Fix: restore extract_text seam for born-digital detection in parse() parse() had switched to calling pdf_born_digital_text() directly for its initial text/born-digital check, bypassing the parser's own extract_text instance method. That broke test mockability (tests patch tesseract_parser.extract_text to control the born-digital decision) and caused CI failures with mismatched OCR call counts and text. Split pdf_born_digital_text() into is_born_digital_text(text, path, log) - a pure decision function - and a thin pdf_born_digital_text() wrapper for callers without text in hand (consumer.should_produce_archive). parse() now extracts via self.extract_text(None, document_path) and passes the result to is_born_digital_text(), restoring the seam with no change to production behavior. Co-Authored-By: Claude Sonnet 5 * Cleanup: simplify born-digital detection, close #13387 test gap Simplification pass over the born-digital detection consolidation: - is_born_digital_text(): drop the has_text temp for an early return. - consumer.py: standardize the archive-decision log lines on plain hyphens (was a mix of em-dash and hyphen) and hoist the duplicated text_length computation. - Parametrize TestPdfBornDigitalText instead of four near-identical tests. Code review follow-up: the existing tests only ever exercised pdf_born_digital_text() through mocks, so the actual #13387 scenario (a tagged PDF whose only "text" is layout padding) was never checked against real pdftotext/pikepdf output - a regression in the normalize-before-decide logic itself would have gone undetected. Moved tagged_no_text_pdf_file from parsers/conftest.py up to the shared paperless/tests/conftest.py (it was previously only visible to tests under parsers/) and added a non-mocked regression test against the real sample file. Also fixed two stale comments in test_consumer.py referencing a _extract_text_for_archive_check helper that no longer exists. Co-Authored-By: Claude Sonnet 5 --------- Co-authored-by: Claude Sonnet 5 --- src/documents/consumer.py | 40 +++---- src/documents/tests/test_consumer.py | 4 +- src/documents/tests/test_consumer_archive.py | 56 +++------ src/paperless/parsers/tesseract.py | 27 +---- src/paperless/parsers/utils.py | 82 +++++++++++++ src/paperless/tests/conftest.py | 17 +++ .../tests/parsers/test_tesseract_parser.py | 46 ++------ .../samples/tesseract/tagged-but-no-text.pdf | Bin 0 -> 5506 bytes src/paperless/tests/test_parser_utils.py | 110 ++++++++++++++++++ 9 files changed, 254 insertions(+), 128 deletions(-) create mode 100644 src/paperless/tests/samples/tesseract/tagged-but-no-text.pdf diff --git a/src/documents/consumer.py b/src/documents/consumer.py index e7f026e71..43185c19a 100644 --- a/src/documents/consumer.py +++ b/src/documents/consumer.py @@ -57,9 +57,7 @@ from paperless.models import ArchiveFileGenerationChoices from paperless.parsers import ParserContext from paperless.parsers import ParserProtocol from paperless.parsers.registry import get_parser_registry -from paperless.parsers.utils import PDF_TEXT_MIN_LENGTH -from paperless.parsers.utils import extract_pdf_text -from paperless.parsers.utils import is_tagged_pdf +from paperless.parsers.utils import pdf_born_digital_text LOGGING_NAME: Final[str] = "paperless.consumer" @@ -138,53 +136,45 @@ def should_produce_archive( # Must produce a PDF so the frontend can display the original format at all. if parser.requires_pdf_rendition: - _log.debug("Archive: yes — parser requires PDF rendition for frontend display") + _log.debug("Archive: yes - parser requires PDF rendition for frontend display") return True # Parser cannot produce an archive (e.g. TextDocumentParser). if not parser.can_produce_archive: - _log.debug("Archive: no — parser cannot produce archives") + _log.debug("Archive: no - parser cannot produce archives") return False generation = OcrConfig().archive_file_generation if generation == ArchiveFileGenerationChoices.ALWAYS: - _log.debug("Archive: yes — ARCHIVE_FILE_GENERATION=always") + _log.debug("Archive: yes - ARCHIVE_FILE_GENERATION=always") return True if generation == ArchiveFileGenerationChoices.NEVER: - _log.debug("Archive: no — ARCHIVE_FILE_GENERATION=never") + _log.debug("Archive: no - ARCHIVE_FILE_GENERATION=never") return False # auto: produce archives for scanned/image documents; skip for born-digital PDFs. if mime_type.startswith("image/"): - _log.debug("Archive: yes — image document, ARCHIVE_FILE_GENERATION=auto") + _log.debug("Archive: yes - image document, ARCHIVE_FILE_GENERATION=auto") return True if mime_type == "application/pdf": - text = extract_pdf_text(document_path) - has_text = text is not None and len(text) > 0 - if has_text and is_tagged_pdf(document_path): + text, born_digital = pdf_born_digital_text(document_path, log=_log) + text_length = len(text) if text else 0 + if born_digital: _log.debug( - "Archive: no — born-digital PDF (structure tags detected)," + "Archive: no - born-digital PDF (text_length=%d)," " ARCHIVE_FILE_GENERATION=auto", + text_length, ) return False - if text is None or len(text) <= PDF_TEXT_MIN_LENGTH: - _log.debug( - "Archive: yes — scanned PDF (text_length=%d ≤ %d)," - " ARCHIVE_FILE_GENERATION=auto", - len(text) if text else 0, - PDF_TEXT_MIN_LENGTH, - ) - return True _log.debug( - "Archive: no — born-digital PDF (text_length=%d > %d)," + "Archive: yes - scanned/textless PDF (text_length=%d)," " ARCHIVE_FILE_GENERATION=auto", - len(text), - PDF_TEXT_MIN_LENGTH, + text_length, ) - return False + return True _log.debug( - "Archive: no — MIME type %r not eligible for auto archive generation", + "Archive: no - MIME type %r not eligible for auto archive generation", mime_type, ) return False diff --git a/src/documents/tests/test_consumer.py b/src/documents/tests/test_consumer.py index fccc736f6..e5b988e1d 100644 --- a/src/documents/tests/test_consumer.py +++ b/src/documents/tests/test_consumer.py @@ -1329,7 +1329,7 @@ class PreConsumeTestCase(DirectoriesMixin, GetConsumerMixin, TestCase): with self.get_consumer(self.test_file) as c: c.run() # Verify no pre-consume script subprocess was invoked - # (run_subprocess may still be called by _extract_text_for_archive_check) + # (run_subprocess may still be called by pdf_born_digital_text via pdftotext) script_calls = [ call for call in m.call_args_list @@ -1354,7 +1354,7 @@ class PreConsumeTestCase(DirectoriesMixin, GetConsumerMixin, TestCase): self.assertTrue(m.called) # Find the call that invoked the pre-consume script - # (run_subprocess may also be called by _extract_text_for_archive_check) + # (run_subprocess may also be called by pdf_born_digital_text via pdftotext) script_call = next( call for call in m.call_args_list diff --git a/src/documents/tests/test_consumer_archive.py b/src/documents/tests/test_consumer_archive.py index c179162db..59de1ce42 100644 --- a/src/documents/tests/test_consumer_archive.py +++ b/src/documents/tests/test_consumer_archive.py @@ -134,60 +134,32 @@ class TestShouldProduceArchive: assert should_produce_archive(parser, mime, Path("/tmp/doc")) is expected @pytest.mark.parametrize( - ("extracted_text", "expected"), + ("born_digital", "expected"), [ - pytest.param( - "This is a born-digital PDF with lots of text content. " * 10, - False, - id="born-digital-long-text-skips-archive", - ), - pytest.param(None, True, id="no-text-scanned-produces-archive"), - pytest.param("tiny", True, id="short-text-treated-as-scanned"), + pytest.param(True, False, id="born-digital-skips-archive"), + pytest.param(False, True, id="not-born-digital-produces-archive"), ], ) def test_auto_pdf_archive_decision( self, mocker: MockerFixture, settings, - extracted_text: str | None, + born_digital: bool, # noqa: FBT001 expected: bool, # noqa: FBT001 ) -> None: + """Archive decision tracks pdf_born_digital_text()'s verdict exactly. + + should_produce_archive() defers entirely to pdf_born_digital_text() + for the has-real-text decision, so both callers of that predicate + (this function and RasterisedDocumentParser.parse()) always agree. + """ settings.ARCHIVE_FILE_GENERATION = "auto" - mocker.patch("documents.consumer.is_tagged_pdf", return_value=False) - mocker.patch("documents.consumer.extract_pdf_text", return_value=extracted_text) + mocker.patch( + "documents.consumer.pdf_born_digital_text", + return_value=("some text", born_digital), + ) parser = _parser_instance(can_produce=True, requires_rendition=False) assert ( should_produce_archive(parser, "application/pdf", Path("/tmp/doc.pdf")) is expected ) - - def test_tagged_pdf_skips_archive_in_auto_mode( - self, - mocker: MockerFixture, - settings, - ) -> None: - """Tagged PDFs (e.g. Word exports) with real text are treated as born-digital, even below PDF_TEXT_MIN_LENGTH.""" - settings.ARCHIVE_FILE_GENERATION = "auto" - mocker.patch("documents.consumer.is_tagged_pdf", return_value=True) - mocker.patch("documents.consumer.extract_pdf_text", return_value="tiny") - parser = _parser_instance(can_produce=True, requires_rendition=False) - assert ( - should_produce_archive(parser, "application/pdf", Path("/tmp/doc.pdf")) - is False - ) - - def test_tagged_pdf_without_text_produces_archive( - self, - mocker: MockerFixture, - settings, - ) -> None: - """A tagged PDF with no actual extractable text (e.g. some scanner firmware) is not - trusted as born-digital — the tag alone must not bypass OCR.""" - settings.ARCHIVE_FILE_GENERATION = "auto" - mocker.patch("documents.consumer.is_tagged_pdf", return_value=True) - mocker.patch("documents.consumer.extract_pdf_text", return_value=None) - parser = _parser_instance(can_produce=True, requires_rendition=False) - assert ( - should_produce_archive(parser, "application/pdf", Path("/tmp/doc.pdf")) - is True - ) diff --git a/src/paperless/parsers/tesseract.py b/src/paperless/parsers/tesseract.py index 78ce4c5c4..f3ebf9925 100644 --- a/src/paperless/parsers/tesseract.py +++ b/src/paperless/parsers/tesseract.py @@ -3,7 +3,6 @@ from __future__ import annotations import importlib.resources import logging import os -import re import shutil import tempfile from pathlib import Path @@ -25,9 +24,9 @@ from paperless.config import OcrConfig from paperless.models import CleanChoices from paperless.models import ModeChoices from paperless.models import OutputTypeChoices -from paperless.parsers.utils import PDF_TEXT_MIN_LENGTH from paperless.parsers.utils import extract_pdf_text -from paperless.parsers.utils import is_tagged_pdf +from paperless.parsers.utils import is_born_digital_text +from paperless.parsers.utils import post_process_text from paperless.parsers.utils import read_file_handle_unicode_errors from paperless.version import __full_version_str__ @@ -510,10 +509,10 @@ class RasterisedDocumentParser: if mime_type == "application/pdf": text_original = self.extract_text(None, document_path) - has_text = text_original is not None and len(text_original) > 0 - original_has_text = has_text and ( - is_tagged_pdf(document_path, log=self.log) - or len(text_original) > PDF_TEXT_MIN_LENGTH + original_has_text = is_born_digital_text( + text_original, + document_path, + log=self.log, ) else: text_original = None @@ -658,17 +657,3 @@ class RasterisedDocumentParser: f"No text was found in {document_path}, the content will be empty.", ) self.text = "" - - -def post_process_text(text: str | None) -> str | None: - if not text: - return None - - collapsed_spaces = re.sub(r"([^\S\r\n]+)", " ", text) - no_leading_whitespace = re.sub(r"([\n\r]+)([^\S\n\r]+)", "\\1", collapsed_spaces) - no_trailing_whitespace = re.sub(r"([^\S\n\r]+)$", "", no_leading_whitespace) - - # TODO: this needs a rework - # replace \0 prevents issues with saving to postgres. - # text may contain \0 when this character is present in PDF files. - return no_trailing_whitespace.strip().replace("\0", " ") diff --git a/src/paperless/parsers/utils.py b/src/paperless/parsers/utils.py index 0257ab736..9fe1d4908 100644 --- a/src/paperless/parsers/utils.py +++ b/src/paperless/parsers/utils.py @@ -111,6 +111,88 @@ def extract_pdf_text( return None +def post_process_text(text: str | None) -> str | None: + """Normalize extracted PDF/OCR text: collapse whitespace, strip padding. + + Returns ``None`` for ``None`` or whitespace-only input, so callers can + treat "no text" and "only layout padding" the same way. + """ + if not text: + return None + + collapsed_spaces = re.sub(r"([^\S\r\n]+)", " ", text) + no_leading_whitespace = re.sub(r"([\n\r]+)([^\S\n\r]+)", "\\1", collapsed_spaces) + no_trailing_whitespace = re.sub(r"([^\S\n\r]+)$", "", no_leading_whitespace) + + # replace \0 prevents issues with saving to postgres. + # text may contain \0 when this character is present in PDF files. + result = no_trailing_whitespace.strip().replace("\0", " ") + return result or None + + +def is_born_digital_text( + text: str | None, + path: Path, + log: logging.Logger | None = None, +) -> bool: + """Decide whether already-extracted, normalized PDF text counts as born-digital. + + This is the single source of truth for "does this PDF already have real + text", used both to decide whether to produce an archive file and to + decide whether OCR can be skipped. Both decisions must agree, or a + tagged-but-textless PDF can end up with no archive AND a forced OCR pass + (see GH #13387): raw ``pdftotext -layout`` output can be non-empty + (whitespace/form-feed padding) even when there is no real content, so + *text* must already be normalized via :func:`post_process_text`, not the + raw extraction. + + Parameters + ---------- + text: + The normalized extracted text (or ``None``) to evaluate. + path: + Absolute path to the PDF file, used for the tagged-PDF check. + log: + Logger for warnings. Falls back to the module-level logger when omitted. + + Returns + ------- + bool + Whether the PDF counts as born-digital (has real text, and is either + tagged or exceeds ``PDF_TEXT_MIN_LENGTH``). + """ + if not text: + return False + return is_tagged_pdf(path, log=log) or len(text) > PDF_TEXT_MIN_LENGTH + + +def pdf_born_digital_text( + path: Path, + log: logging.Logger | None = None, +) -> tuple[str | None, bool]: + """Extract a PDF's text and decide whether it should be treated as born-digital. + + Convenience wrapper around :func:`is_born_digital_text` for callers that + don't already have the PDF's text extracted (e.g. the archive-generation + decision, which runs before any parser has touched the file). + + Parameters + ---------- + path: + Absolute path to the PDF file. + log: + Logger for warnings. Falls back to the module-level logger when omitted. + + Returns + ------- + tuple[str | None, bool] + The normalized extracted text (or ``None``), and whether the PDF + counts as born-digital. + """ + text = post_process_text(extract_pdf_text(path, log=log)) + return text, is_born_digital_text(text, path, log=log) + + def read_file_handle_unicode_errors( filepath: Path, log: logging.Logger | None = None, diff --git a/src/paperless/tests/conftest.py b/src/paperless/tests/conftest.py index b016191c4..c43659506 100644 --- a/src/paperless/tests/conftest.py +++ b/src/paperless/tests/conftest.py @@ -36,6 +36,23 @@ def samples_dir() -> Path: return (Path(__file__).parent / "samples").resolve() +@pytest.fixture(scope="session") +def tagged_no_text_pdf_file(samples_dir: Path) -> Path: + """Path to a tagged PDF whose only "text" is pdftotext layout padding. + + Reproduces GH #13387: ``/MarkInfo /Marked true`` is set, but the only + extractable content is a form-feed byte, not real text. Lives here + rather than in parsers/conftest.py so both parser tests and + paperless/tests/test_parser_utils.py can use it. + + Returns + ------- + Path + Absolute path to ``tesseract/tagged-but-no-text.pdf``. + """ + return samples_dir / "tesseract" / "tagged-but-no-text.pdf" + + @pytest.fixture(autouse=True) def clean_registry() -> Generator[None, None, None]: """Reset the parser registry before and after every test. diff --git a/src/paperless/tests/parsers/test_tesseract_parser.py b/src/paperless/tests/parsers/test_tesseract_parser.py index e56992d0b..f25efccc7 100644 --- a/src/paperless/tests/parsers/test_tesseract_parser.py +++ b/src/paperless/tests/parsers/test_tesseract_parser.py @@ -21,7 +21,7 @@ from documents.parsers import run_convert from paperless.models import ModeChoices from paperless.parsers import ParserProtocol from paperless.parsers.tesseract import RasterisedDocumentParser -from paperless.parsers.tesseract import post_process_text +from paperless.parsers.utils import is_tagged_pdf if TYPE_CHECKING: from pathlib import Path @@ -151,36 +151,6 @@ class TestRasterisedDocumentParserLifecycle: assert tempdir is not None and not tempdir.exists() -# --------------------------------------------------------------------------- -# post_process_text -# --------------------------------------------------------------------------- - - -class TestPostProcessText: - @pytest.mark.parametrize( - ("source", "expected"), - [ - pytest.param( - "simple string", - "simple string", - id="collapse-spaces", - ), - pytest.param( - "simple newline\n testing string", - "simple newline\ntesting string", - id="preserve-newline", - ), - pytest.param( - "utf-8 строка с пробелами в конце ", # noqa: RUF001 - "utf-8 строка с пробелами в конце", # noqa: RUF001 - id="utf8-trailing-spaces", - ), - ], - ) - def test_post_process_text(self, source: str, expected: str) -> None: - assert post_process_text(source) == expected - - # --------------------------------------------------------------------------- # Page count # --------------------------------------------------------------------------- @@ -910,25 +880,25 @@ class TestSkipArchive: self, mocker: MockerFixture, tesseract_parser: RasterisedDocumentParser, - tesseract_samples_dir: Path, + tagged_no_text_pdf_file: Path, ) -> None: """ GIVEN: - - A PDF that reports itself as tagged (/MarkInfo /Marked true) but - has no actual extractable text (some scanner firmware produces - this — see GitHub issue #13349) + - A real PDF that reports itself as tagged (/MarkInfo /Marked + true) but whose only pdftotext output is layout padding (a + lone form-feed byte), not real text (see GitHub issue #13387, + originally reported against #13349's tagged-PDF handling) - Mode: auto, produce_archive=False WHEN: - Document is parsed THEN: - The tag alone is not trusted as "has text"; OCRmyPDF still runs """ + assert is_tagged_pdf(tagged_no_text_pdf_file) is True tesseract_parser.settings.mode = ModeChoices.AUTO - mocker.patch("paperless.parsers.tesseract.is_tagged_pdf", return_value=True) - mocker.patch.object(tesseract_parser, "extract_text", return_value=None) mock_ocr = mocker.patch("ocrmypdf.ocr") tesseract_parser.parse( - tesseract_samples_dir / "multi-page-images.pdf", + tagged_no_text_pdf_file, "application/pdf", produce_archive=False, ) diff --git a/src/paperless/tests/samples/tesseract/tagged-but-no-text.pdf b/src/paperless/tests/samples/tesseract/tagged-but-no-text.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5a652345a1c9e1fbe0ab1a90d183194ad344d49c GIT binary patch literal 5506 zcmc&&d0Z3M76xm@rc$ka6@^wttQ$0$NgyGKA(T}`Hd$m7d?A@Y$TD#fWD(Kd1D6(& z*9ufwDz*g_C@2`D$R<`~DIih*;C z?pft%X^kfm3~{TvZq+y9hyVm2z5zG}0|&ZVm?s6M{$q>IB7+-VP@uG22QA=i&?0YNo0VkL*L1WfdT z6#j_yUitH6SSaFTdRQpq2M2EEaU_5jKvu*N;Ee+eDOg-ilbf2yVQujiv!D~ zxA%T{+8Y1UiFUV}W`+hy!h;JMHm1k9^j(uR#ozkmtVulI;PXL7q`Rrtk(jTMF`j|7 z+U#3rRIbaM+0%ZXQQ$3Gtfm%5NV6&1xn%ATwZchQ@OI6@(3Y;@J=^CPU+J#<`qT;6 z6+tq##kzCpAJf*bnqM4?20MbkrL^9L=pDMz)-lJU?^F1$FLOHrV-F@KWxKA3d|tXB znf`)c+E-G{34eJ}R_@+5Y+6y*Z~lIHc#qqe%H4fWNc_zF#tWJw4+ri-ANB1Vw~*6w zD>M_fUPRlY8;gez>@1O=Ps-W%?DCZ&yfOJC>h1btQfioMZwVzid{K6kZT8C-4~n0R znU56|=AE6tkze2Fp0w@Gmce^X5P|UVLetNw;boq&+p%(^T+g!_B4_Q z&Po6OW1!az_Bj$&b^0L^21vFAC;OGReGMWU9rBeQd>u-)c(s;y%9H$`$X4VKZn%G z-}3v|zWPz{?uKvMH|N9;wvYIhE@NcYQNwq2Gh%z|n=(XsZa4Phi_t5hoJ-VoEhX~k zyhnD_yR`|zR>R%VwJ&;w^2c=Pc*;BO%M#Zw`eIQ_{?@bVNj+=FS2H$g4IMgB)PDde zKYy1$WL7GokeBE8oInz;mB-wucnTC9k<}H~9qB%5CT|X2AWZYl^exC39WrC?s;_;p zc1Tt@f9#3alrb)8;PiQ%3qNzj)Wu}Mos}MJ!;9}2%1IUU4{UrVnozJ@m@C6C7I=V;g(n6hjw!}8>xuI3C!^3%c1XkxbAF@Yp(LFUA6B}1Y_YeXKZ>jMi9=@wx2kjbmh1;FQY5VpTA#8TKG$gbB}cyDA&as7xMtSXguGf$ z>bgeP!Q7=yR>ypF=K6iR?K+S70kya(aqNuqfh%C4M#vnueY-M`Gc+9@i?w$Srajb; zylLj2FTZL9OM+ZaGdrs@>cSItlawx zx9F>TIT@(W2&@)19tZj>d`VA+2^^_b{Qy-1E>#K`<4#lYzIQ!^d@W!02Y-cit^xUU?=X(69 z={exg!@>t~>w4AN~jKTx}btwl_wAMagAO);z(6A6`qRGuNiZcUFnsf+MrvsIp|ondYxo zW|ev8&-Q3%v7l+t=2n;2(gAb*!}s5whM62RFE(8;D}S3L&ggmWJH>Z!#;tQ@X53!I zN7)OD>KU`%1a2=#U3_|#pG{eOSkA1S*%RBzCVEA=GyRRzq*NaY&412=IUhp>i0C$HsGL$(kHDlYVv2yV--m|~!V>P%+T}3Ylz32Dre~91*KQC>kJ|nj;!wrM}nZXe6u{F@26q zd~*(>QQyE3iKI8=ks%VcwbSJp(WuxOC+Bcdl*JRksItcC%nOCFb%4r3reY(o!ltrf zsVIbE{Y{pD7lQ&(StJgdN}>_ThQ@4&0>j2MF4Y(&8B None: + assert post_process_text(source) == expected + + +class TestPdfBornDigitalText: + """Regression coverage for GH #13387. + + should_produce_archive() and RasterisedDocumentParser.parse() must agree + on whether a PDF has real text, so both go through this one function. + """ + + @pytest.mark.parametrize( + ("extracted", "tagged", "expected_text", "expected_born_digital"), + [ + pytest.param("tiny", True, "tiny", True, id="tagged-with-real-text"), + pytest.param("tiny", False, "tiny", False, id="untagged-below-min-length"), + pytest.param( + "x" * 51, + False, + "x" * 51, + True, + id="untagged-above-min-length", + ), + pytest.param(None, True, None, False, id="tagged-but-no-text"), + ], + ) + def test_born_digital_decision( + self, + mocker: MockerFixture, + tmp_path: Path, + extracted: str | None, + tagged: bool, # noqa: FBT001 + expected_text: str | None, + expected_born_digital: bool, # noqa: FBT001 + ) -> None: + """ + GIVEN: + - A PDF whose pdftotext output and /MarkInfo tag status vary + WHEN: + - pdf_born_digital_text() is called + THEN: + - The normalized text and born-digital verdict match; the tag + alone never counts as "has text" + """ + mocker.patch( + "paperless.parsers.utils.extract_pdf_text", + return_value=extracted, + ) + mocker.patch("paperless.parsers.utils.is_tagged_pdf", return_value=tagged) + text, born_digital = pdf_born_digital_text(tmp_path / "doc.pdf") + assert text == expected_text + assert born_digital is expected_born_digital + + def test_tagged_but_textless_pdf_is_not_born_digital( + self, + tagged_no_text_pdf_file: Path, + ) -> None: + """ + GIVEN: + - A real PDF that is tagged (/MarkInfo /Marked true) but whose + only "text" is layout padding (a stray form-feed byte) + WHEN: + - pdf_born_digital_text() is called with no mocking + THEN: + - The normalized text is None and the PDF is not treated as + born-digital. The raw, unnormalized pdftotext output is + non-empty for this file, which is exactly what caused the + archive decision to disagree with the OCR decision in #13387. + """ + text, born_digital = pdf_born_digital_text(tagged_no_text_pdf_file) + assert text is None + assert born_digital is False From 0a56018d6ba4c7d4cae840c69ad5d38e18216c31 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu, 30 Jul 2026 07:08:50 -0700 Subject: [PATCH 31/77] Fix: hide attributes collapse / show button without UI settings (#13425) --- src-ui/src/app/components/app-frame/app-frame.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 052ea386d..9f8f6fd8d 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 @@ -182,7 +182,7 @@ container="body" triggers="mouseenter:mouseleave" popoverClass="popover-slim"> Attributes - @if (!slimSidebarEnabled) { + @if (!slimSidebarEnabled && canSaveSettings) { - } @else if (activeCustomFields) { - diff --git a/src-ui/src/app/components/manage/document-attributes/document-attributes.component.spec.ts b/src-ui/src/app/components/manage/document-attributes/document-attributes.component.spec.ts index 97a8bfd1f..b40c35692 100644 --- a/src-ui/src/app/components/manage/document-attributes/document-attributes.component.spec.ts +++ b/src-ui/src/app/components/manage/document-attributes/document-attributes.component.spec.ts @@ -18,6 +18,7 @@ import { DocumentAttributesComponent, DocumentAttributesSectionKind, } from './document-attributes.component' +import { CustomFieldsComponent } from './custom-fields/custom-fields.component' import { ManagementListComponent } from './management-list/management-list.component' @Component({ @@ -207,6 +208,29 @@ describe('DocumentAttributesComponent', () => { expect(component.activeSection.kind).toBe( DocumentAttributesSectionKind.CustomFields ) - expect(component.activeCustomFields).toBeDefined() + const customFields = Object.create(CustomFieldsComponent.prototype) + customFields.editField = jest.fn() + component.activeOutlet = { + componentInstance: customFields, + } as any + expect(component.activeCustomFields).toBe(customFields) + + component.addCustomField() + expect(customFields.editField).toHaveBeenCalled() + }) + + it('should show the add field button before the custom fields instance is available', async () => { + jest.spyOn(permissionsService, 'currentUserCan').mockReturnValue(true) + + fixture.detectChanges() + component.activeNavID.set(2) + await fixture.whenStable() + + expect(component.activeCustomFields).toBeNull() + expect( + fixture.nativeElement.querySelector( + 'pngx-page-header .btn-outline-primary' + )?.textContent + ).toContain('Add Field') }) }) diff --git a/src-ui/src/app/components/manage/document-attributes/document-attributes.component.ts b/src-ui/src/app/components/manage/document-attributes/document-attributes.component.ts index 482149ff0..0ff747407 100644 --- a/src-ui/src/app/components/manage/document-attributes/document-attributes.component.ts +++ b/src-ui/src/app/components/manage/document-attributes/document-attributes.component.ts @@ -163,12 +163,17 @@ export class DocumentAttributesComponent implements OnInit, OnDestroy { } get activeCustomFields(): CustomFieldsComponent | null { - if (this.activeSection?.kind !== DocumentAttributesSectionKind.CustomFields) - return null + if (!this.customFieldsActive) return null const instance = this.activeOutlet?.componentInstance return instance instanceof CustomFieldsComponent ? instance : null } + get customFieldsActive(): boolean { + return ( + this.activeSection?.kind === DocumentAttributesSectionKind.CustomFields + ) + } + get activeTabLabel(): string { return this.activeSection?.label ?? '' } @@ -224,6 +229,10 @@ export class DocumentAttributesComponent implements OnInit, OnDestroy { this.router.navigate(['attributes', nextSection]) } + addCustomField(): void { + this.activeCustomFields?.editField(null) + } + private getDefaultNavID(): DocumentAttributesNavIDs | null { return this.visibleSections[0]?.id ?? null } From f50a021ef62460626029cd551121d166f65318b3 Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Thu, 30 Jul 2026 07:35:19 -0700 Subject: [PATCH 33/77] Fix: fold overflowing path text in sanity checker (#13426) --- src/documents/management/commands/document_sanity_checker.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/documents/management/commands/document_sanity_checker.py b/src/documents/management/commands/document_sanity_checker.py index c8921d064..00f6dccb1 100644 --- a/src/documents/management/commands/document_sanity_checker.py +++ b/src/documents/management/commands/document_sanity_checker.py @@ -61,7 +61,7 @@ class Command(PaperlessCommand): ) table.add_column("Level", width=7, no_wrap=True) table.add_column("Document", min_width=20) - table.add_column("Issue", ratio=1) + table.add_column("Issue", ratio=1, overflow="fold") for doc_pk, doc_messages in messages.iter_messages(): if doc_pk is not None: From baae99eb4994b6b4274140bfff8f64445534020f Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu, 30 Jul 2026 07:37:52 -0700 Subject: [PATCH 34/77] Fix: normalize monetary decimal symbol by locale (#13427) --- ...ustom-fields-query-dropdown.component.html | 5 ++++ ...om-fields-query-dropdown.component.spec.ts | 24 +++++++++++++++++++ .../custom-fields-query-dropdown.component.ts | 22 ++++++++++++++++- 3 files changed, 50 insertions(+), 1 deletion(-) 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 225012159..c0c9b0c74 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 @@ -68,6 +68,11 @@ > } @else if (getCustomFieldByID(atom.field)?.data_type === CustomFieldDataType.DocumentLink) { + } @else if (getCustomFieldByID(atom.field)?.data_type === CustomFieldDataType.Monetary) { + } @else { } 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 a9c161d83..d1e755032 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 @@ -1,5 +1,6 @@ import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http' import { provideHttpClientTesting } from '@angular/common/http/testing' +import { LOCALE_ID } from '@angular/core' import { ComponentFixture, TestBed } from '@angular/core/testing' import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap' @@ -41,6 +42,12 @@ const customFields = [ ], }, }, + { + id: 3, + name: 'Test Monetary Field', + data_type: CustomFieldDataType.Monetary, + extra_data: { default_currency: 'EUR' }, + }, ] describe('CustomFieldsQueryDropdownComponent', () => { @@ -61,6 +68,7 @@ describe('CustomFieldsQueryDropdownComponent', () => { providers: [ provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting(), + { provide: LOCALE_ID, useValue: 'de' }, ], }).compileComponents() @@ -150,6 +158,22 @@ describe('CustomFieldsQueryDropdownComponent', () => { expect(options2).toEqual([]) }) + it('should normalize localized monetary comparison values', () => { + const atom = new CustomFieldQueryAtom([3, 'exact', null]) + + component.setMonetaryValue(atom, '1.234,56') + + expect(atom.value).toEqual('1234.56') + }) + + it('should preserve API-formatted monetary comparison values', () => { + const atom = new CustomFieldQueryAtom([3, 'exact', null]) + + component.setMonetaryValue(atom, '1234.56') + + expect(atom.value).toEqual('1234.56') + }) + it('should remove an element from the selection model', () => { const expression = new CustomFieldQueryExpression() const atom = new CustomFieldQueryAtom() 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 1d2ce1f5c..7f17c0e3a 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 @@ -1,9 +1,14 @@ -import { NgTemplateOutlet } from '@angular/common' +import { + getLocaleNumberSymbol, + NgTemplateOutlet, + NumberSymbol, +} from '@angular/common' import { Component, EventEmitter, inject, Input, + LOCALE_ID, Output, QueryList, signal, @@ -212,6 +217,7 @@ export class CustomFieldQueriesModel { }) export class CustomFieldsQueryDropdownComponent extends LoadingComponentWithPermissions { protected customFieldsService = inject(CustomFieldsService) + private readonly locale = inject(LOCALE_ID) public CustomFieldQueryComponentType = CustomFieldQueryElementType public CustomFieldQueryOperator = CustomFieldQueryOperator @@ -376,4 +382,18 @@ export class CustomFieldsQueryDropdownComponent extends LoadingComponentWithPerm } return [] } + + setMonetaryValue(atom: CustomFieldQueryAtom, value: string) { + // Normalize the decimal symbol e.g. . vs , by locale + const decimalSymbol = getLocaleNumberSymbol( + this.locale, + NumberSymbol.Decimal + ) + if (decimalSymbol !== '.' && value.includes(decimalSymbol)) { + const groupSymbol = getLocaleNumberSymbol(this.locale, NumberSymbol.Group) + value = value.split(groupSymbol).join('').split(decimalSymbol).join('.') + } + + atom.value = value + } } From c29c9178f0eb35d87fbfe3ad61d657520ba35059 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 30 Jul 2026 14:39:47 +0000 Subject: [PATCH 35/77] Auto translate strings --- src-ui/messages.xlf | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src-ui/messages.xlf b/src-ui/messages.xlf index e8f0ae0bf..e0fc47399 100644 --- a/src-ui/messages.xlf +++ b/src-ui/messages.xlf @@ -1849,7 +1849,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -3972,11 +3972,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 @@ -3987,11 +3987,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 @@ -4002,14 +4002,14 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4020,21 +4020,21 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 From e79f0d41063a88e534a5ace7d5f2f0fa01b8af3d Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Thu, 30 Jul 2026 08:53:01 -0700 Subject: [PATCH 36/77] Performance: Use server side iterators during LLM index updating (#13430) --- src/paperless_ai/indexing.py | 35 +++++++++++++++++-- src/paperless_ai/tests/test_ai_indexing.py | 39 ++++++++++++++++++++++ 2 files changed, 72 insertions(+), 2 deletions(-) diff --git a/src/paperless_ai/indexing.py b/src/paperless_ai/indexing.py index 93b850cbf..ff08d2aeb 100644 --- a/src/paperless_ai/indexing.py +++ b/src/paperless_ai/indexing.py @@ -1,5 +1,6 @@ import logging from collections.abc import Iterable +from collections.abc import Iterator from contextlib import contextmanager from datetime import timedelta from typing import TYPE_CHECKING @@ -22,6 +23,7 @@ from paperless_ai.embedding import get_configured_model_name from paperless_ai.embedding import get_embedding_model if TYPE_CHECKING: + from django.db.models import QuerySet from llama_index.core.schema import BaseNode from paperless_ai.vector_store import PaperlessSqliteVecVectorStore @@ -32,6 +34,35 @@ logger = logging.getLogger("paperless_ai.indexing") RAG_NUM_OUTPUT = 512 RAG_CHUNK_OVERLAP = 200 +# update_llm_index(): row count per .iterator() batch when streaming +# documents for a rebuild/update, matching _DocumentViewerStream's chunk +# size in documents/search/_backend.py. +_INDEX_STREAM_CHUNK_SIZE = 1000 + + +class _StreamedDocuments: + """A thin QuerySet wrapper that streams via ``.iterator()`` instead of + materializing every row (plus its ``content`` and prefetch caches) into + memory at once, while still supporting ``len()`` so ``iter_wrapper``'s + progress bar shows a real total instead of falling back to indeterminate. + Same shape as ``documents/search/_backend.py``'s ``_DocumentViewerStream``, + just without that class's extra per-batch permission lookup -- nothing + here needs one. + """ + + def __init__(self, documents: "QuerySet[Document]") -> None: + self._documents = documents + + def __len__(self) -> int: + return self._documents.count() + + def __iter__(self) -> Iterator[Document]: + # iterator(chunk_size=...) streams from a server-side cursor instead + # of materializing the whole queryset in memory; since Django 4.1 it + # still honours prefetch_related, running the prefetches one batch + # at a time. + return iter(self._documents.iterator(chunk_size=_INDEX_STREAM_CHUNK_SIZE)) + def queue_llm_index_update_if_needed(*, rebuild: bool, reason: str) -> bool: # NOTE: The check-then-enqueue sequence below is non-atomic (TOCTOU): two @@ -385,7 +416,7 @@ def update_llm_index( if rebuild or not store.table_exists(): logger.info("Rebuilding LLM index.") store.drop_table() - for document in iter_wrapper(documents): + for document in iter_wrapper(_StreamedDocuments(documents)): nodes = build_document_node(document, chunk_size=chunk_size) _embed_nodes(nodes, embed_model) store.add(nodes) @@ -398,7 +429,7 @@ def update_llm_index( ) existing = store.get_modified_times() changed = 0 - for document in iter_wrapper(scoped_documents): + for document in iter_wrapper(_StreamedDocuments(scoped_documents)): doc_id = str(document.id) if existing.get(doc_id) == document.modified.isoformat(): continue diff --git a/src/paperless_ai/tests/test_ai_indexing.py b/src/paperless_ai/tests/test_ai_indexing.py index 667b43d06..7ae5477cb 100644 --- a/src/paperless_ai/tests/test_ai_indexing.py +++ b/src/paperless_ai/tests/test_ai_indexing.py @@ -186,6 +186,45 @@ def test_truncate_embedding_query_returns_single_chunk() -> None: assert "word199" not in result +class TestStreamedDocuments: + """_StreamedDocuments streams via .iterator() instead of materializing + the whole queryset (plus its content and prefetch caches) in memory at + once, while still supporting len() so a progress bar wrapped around it + shows a real total. + """ + + def test_len_and_iter_delegate_to_streaming_queryset_methods( + self, + mocker: pytest_mock.MockerFixture, + ) -> None: + """ + GIVEN: + - A mock queryset + WHEN: + - A _StreamedDocuments wrapping it is measured and iterated + THEN: + - len() uses count() (not a materializing len()), and iteration + uses .iterator(chunk_size=...) (not plain iteration, which + would materialize prefetches for the whole queryset at once) + """ + mock_queryset = mocker.MagicMock() + mock_queryset.count.return_value = 42 + mock_queryset.iterator.return_value = iter(["doc-1", "doc-2"]) + streamed = indexing._StreamedDocuments(mock_queryset) + + assert len(streamed) == 42 + assert list(streamed) == ["doc-1", "doc-2"] + # count.call_count isn't asserted exactly: list()'s own size-hint + # optimization calls len(streamed) again internally, on top of the + # explicit len() call above -- both legitimately delegate to + # count(), so only the delegation itself (not the call count) is + # the thing being verified here. + mock_queryset.count.assert_called_with() + mock_queryset.iterator.assert_called_once_with( + chunk_size=indexing._INDEX_STREAM_CHUNK_SIZE, + ) + + @pytest.mark.django_db def test_update_llm_index( temp_llm_index_dir: Path, From 30fe1728470e06dcdf7ef282da1932a74d3e11e5 Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Thu, 30 Jul 2026 14:18:35 -0700 Subject: [PATCH 37/77] Chore: Drops the search shims (#13433) --- src/documents/search/_query.py | 43 ----------- src/documents/tests/search/test_query.py | 97 ++++++++++++------------ 2 files changed, 49 insertions(+), 91 deletions(-) diff --git a/src/documents/search/_query.py b/src/documents/search/_query.py index 362f85688..c45e37f80 100644 --- a/src/documents/search/_query.py +++ b/src/documents/search/_query.py @@ -1,7 +1,6 @@ from __future__ import annotations import logging -from datetime import UTC from typing import TYPE_CHECKING from typing import Final @@ -9,12 +8,6 @@ import regex import tantivy from django.conf import settings -from documents.search._dates import ( - _date_only_range, # noqa: F401 — re-exported for test imports -) -from documents.search._dates import ( - _datetime_range, # noqa: F401 — re-exported for test imports -) from documents.search._tokenizer import simple_search_tokens from documents.search._translate import SearchQueryError from documents.search._translate import translate_query @@ -76,42 +69,6 @@ def _build_cjk_query( return None -def rewrite_natural_date_keywords(query: str, tz: tzinfo) -> str: - """ - Rewrite natural date syntax to ISO 8601 format for Tantivy compatibility. - - Delegates to ``translate_query`` which handles all date forms, comma - expansion, field aliasing, relative ranges, and operator normalization. - - Args: - query: Raw user query string - tz: Timezone for converting local date boundaries to UTC - - Returns: - Query with date syntax rewritten to ISO 8601 ranges - - Note: - Bare keywords without field prefixes pass through unchanged. - """ - return translate_query(query, tz) - - -def normalize_query(query: str) -> str: - """ - Normalize query syntax for better search behavior. - - Delegates to ``translate_query`` which handles comma expansion, whitespace - collapsing, operator normalization, and field aliasing. - - Args: - query: Query string after date rewriting - - Returns: - Normalized query string ready for Tantivy parsing - """ - return translate_query(query, UTC) - - def build_permission_filter( schema: tantivy.Schema, user: AbstractBaseUser, diff --git a/src/documents/tests/search/test_query.py b/src/documents/tests/search/test_query.py index 2b7112047..6260b67af 100644 --- a/src/documents/tests/search/test_query.py +++ b/src/documents/tests/search/test_query.py @@ -11,16 +11,15 @@ import pytest import tantivy import time_machine -from documents.search._query import _date_only_range -from documents.search._query import _datetime_range +from documents.search._dates import _date_only_range +from documents.search._dates import _datetime_range from documents.search._query import build_permission_filter -from documents.search._query import normalize_query from documents.search._query import parse_simple_text_highlight_query from documents.search._query import parse_user_query -from documents.search._query import rewrite_natural_date_keywords from documents.search._schema import build_schema from documents.search._tokenizer import register_tokenizers from documents.search._translate import InvalidDateQuery +from documents.search._translate import translate_query if TYPE_CHECKING: from django.contrib.auth.base_user import AbstractBaseUser @@ -59,7 +58,7 @@ class TestCreatedDateField: ) @time_machine.travel(datetime(2026, 3, 28, 15, 30, tzinfo=UTC), tick=False) def test_today(self, tz: tzinfo, expected_lo: str, expected_hi: str) -> None: - lo, hi = _range(rewrite_natural_date_keywords("created:today", tz), "created") + lo, hi = _range(translate_query("created:today", tz), "created") assert lo == expected_lo assert hi == expected_hi @@ -67,7 +66,7 @@ class TestCreatedDateField: def test_today_auckland_ahead_of_utc(self) -> None: # UTC 03:00 -> Auckland (UTC+13) = 16:00 same date; local date = 2026-03-28 lo, _ = _range( - rewrite_natural_date_keywords("created:today", AUCKLAND), + translate_query("created:today", AUCKLAND), "created", ) assert lo == "2026-03-28T00:00:00Z" @@ -129,7 +128,7 @@ class TestCreatedDateField: ) -> None: # 2026-03-28 is Saturday; Mon-Sun week calculation built into expectations query = f"{field}:{keyword}" - lo, hi = _range(rewrite_natural_date_keywords(query, UTC), field) + lo, hi = _range(translate_query(query, UTC), field) assert lo == expected_lo assert hi == expected_hi @@ -137,7 +136,7 @@ class TestCreatedDateField: def test_this_month_december_wraps_to_next_year(self) -> None: # December: next month must roll over to January 1 of next year lo, hi = _range( - rewrite_natural_date_keywords("created:this month", UTC), + translate_query("created:this month", UTC), "created", ) assert lo == "2026-12-01T00:00:00Z" @@ -147,7 +146,7 @@ class TestCreatedDateField: def test_last_month_january_wraps_to_previous_year(self) -> None: # January: last month must roll back to December 1 of previous year lo, hi = _range( - rewrite_natural_date_keywords("created:previous month", UTC), + translate_query("created:previous month", UTC), "created", ) assert lo == "2025-12-01T00:00:00Z" @@ -156,7 +155,7 @@ class TestCreatedDateField: @time_machine.travel(datetime(2026, 7, 15, 12, 0, tzinfo=UTC), tick=False) def test_previous_quarter(self) -> None: lo, hi = _range( - rewrite_natural_date_keywords('created:"previous quarter"', UTC), + translate_query('created:"previous quarter"', UTC), "created", ) assert lo == "2026-04-01T00:00:00Z" @@ -176,7 +175,7 @@ class TestDateTimeFields: @time_machine.travel(datetime(2026, 3, 28, 15, 30, tzinfo=UTC), tick=False) def test_added_today_eastern(self) -> None: # EDT = UTC-4; local midnight 2026-03-28 00:00 EDT = 2026-03-28 04:00 UTC - lo, hi = _range(rewrite_natural_date_keywords("added:today", EASTERN), "added") + lo, hi = _range(translate_query("added:today", EASTERN), "added") assert lo == "2026-03-28T04:00:00Z" assert hi == "2026-03-29T04:00:00Z" @@ -184,14 +183,14 @@ class TestDateTimeFields: def test_added_today_auckland_midnight_crossing(self) -> None: # UTC 02:00 on 2026-03-29 -> Auckland (UTC+13) = 2026-03-29 15:00 local # Auckland midnight = UTC 2026-03-28 11:00 - lo, hi = _range(rewrite_natural_date_keywords("added:today", AUCKLAND), "added") + lo, hi = _range(translate_query("added:today", AUCKLAND), "added") assert lo == "2026-03-28T11:00:00Z" assert hi == "2026-03-29T11:00:00Z" @time_machine.travel(datetime(2026, 3, 28, 15, 0, tzinfo=UTC), tick=False) def test_modified_today_utc(self) -> None: lo, hi = _range( - rewrite_natural_date_keywords("modified:today", UTC), + translate_query("modified:today", UTC), "modified", ) assert lo == "2026-03-28T00:00:00Z" @@ -246,14 +245,14 @@ class TestDateTimeFields: expected_hi: str, ) -> None: # 2026-03-28 is Saturday; weekday()==5 so Monday=2026-03-23 - lo, hi = _range(rewrite_natural_date_keywords(f"added:{keyword}", UTC), "added") + lo, hi = _range(translate_query(f"added:{keyword}", UTC), "added") assert lo == expected_lo assert hi == expected_hi @time_machine.travel(datetime(2026, 12, 15, 12, 0, tzinfo=UTC), tick=False) def test_this_month_december_wraps_to_next_year(self) -> None: # December: next month wraps to January of next year - lo, hi = _range(rewrite_natural_date_keywords("added:this month", UTC), "added") + lo, hi = _range(translate_query("added:this month", UTC), "added") assert lo == "2026-12-01T00:00:00Z" assert hi == "2027-01-01T00:00:00Z" @@ -261,7 +260,7 @@ class TestDateTimeFields: def test_last_month_january_wraps_to_previous_year(self) -> None: # January: last month wraps back to December of previous year lo, hi = _range( - rewrite_natural_date_keywords("added:previous month", UTC), + translate_query("added:previous month", UTC), "added", ) assert lo == "2025-12-01T00:00:00Z" @@ -297,7 +296,7 @@ class TestDateTimeFields: expected_lo: str, expected_hi: str, ) -> None: - lo, hi = _range(rewrite_natural_date_keywords(query, UTC), "added") + lo, hi = _range(translate_query(query, UTC), "added") assert lo == expected_lo assert hi == expected_hi @@ -311,20 +310,20 @@ class TestWhooshQueryRewriting: @time_machine.travel(datetime(2026, 3, 28, 15, 0, tzinfo=UTC), tick=False) def test_compact_date_shim_rewrites_to_iso(self) -> None: - result = rewrite_natural_date_keywords("created:20240115120000", UTC) + result = translate_query("created:20240115120000", UTC) assert "2024-01-15" in result assert "20240115120000" not in result @time_machine.travel(datetime(2026, 3, 28, 15, 0, tzinfo=UTC), tick=False) def test_relative_range_shim_removes_now(self) -> None: - result = rewrite_natural_date_keywords("added:[now-7d TO now]", UTC) + result = translate_query("added:[now-7d TO now]", UTC) assert "now" not in result assert "2026-03-" in result @time_machine.travel(datetime(2026, 3, 28, 12, 0, tzinfo=UTC), tick=False) def test_bracket_minus_7_days(self) -> None: lo, hi = _range( - rewrite_natural_date_keywords("added:[-7 days to now]", UTC), + translate_query("added:[-7 days to now]", UTC), "added", ) assert lo == "2026-03-21T12:00:00Z" @@ -333,7 +332,7 @@ class TestWhooshQueryRewriting: @time_machine.travel(datetime(2026, 3, 28, 12, 0, tzinfo=UTC), tick=False) def test_bracket_minus_1_week(self) -> None: lo, hi = _range( - rewrite_natural_date_keywords("added:[-1 week to now]", UTC), + translate_query("added:[-1 week to now]", UTC), "added", ) assert lo == "2026-03-21T12:00:00Z" @@ -343,7 +342,7 @@ class TestWhooshQueryRewriting: def test_bracket_minus_1_month_uses_relativedelta(self) -> None: # relativedelta(months=1) from 2026-03-28 = 2026-02-28 (not 29) lo, hi = _range( - rewrite_natural_date_keywords("created:[-1 month to now]", UTC), + translate_query("created:[-1 month to now]", UTC), "created", ) assert lo == "2026-02-28T12:00:00Z" @@ -352,7 +351,7 @@ class TestWhooshQueryRewriting: @time_machine.travel(datetime(2026, 3, 28, 12, 0, tzinfo=UTC), tick=False) def test_bracket_minus_1_year(self) -> None: lo, hi = _range( - rewrite_natural_date_keywords("modified:[-1 year to now]", UTC), + translate_query("modified:[-1 year to now]", UTC), "modified", ) assert lo == "2025-03-28T12:00:00Z" @@ -361,7 +360,7 @@ class TestWhooshQueryRewriting: @time_machine.travel(datetime(2026, 3, 28, 12, 0, tzinfo=UTC), tick=False) def test_bracket_plural_unit_hours(self) -> None: lo, hi = _range( - rewrite_natural_date_keywords("added:[-3 hours to now]", UTC), + translate_query("added:[-3 hours to now]", UTC), "added", ) assert lo == "2026-03-28T09:00:00Z" @@ -369,7 +368,7 @@ class TestWhooshQueryRewriting: @time_machine.travel(datetime(2026, 3, 28, 12, 0, tzinfo=UTC), tick=False) def test_bracket_case_insensitive(self) -> None: - result = rewrite_natural_date_keywords("added:[-1 WEEK TO NOW]", UTC) + result = translate_query("added:[-1 WEEK TO NOW]", UTC) assert "now" not in result.lower() lo, hi = _range(result, "added") assert lo == "2026-03-21T12:00:00Z" @@ -379,7 +378,7 @@ class TestWhooshQueryRewriting: def test_relative_range_swaps_bounds_when_lo_exceeds_hi(self) -> None: # [now+1h TO now-1h] has lo > hi before substitution; they must be swapped lo, hi = _range( - rewrite_natural_date_keywords("added:[now+1h TO now-1h]", UTC), + translate_query("added:[now+1h TO now-1h]", UTC), "added", ) assert lo == "2026-03-28T11:00:00Z" @@ -387,14 +386,14 @@ class TestWhooshQueryRewriting: def test_8digit_created_date_field_always_uses_utc_midnight(self) -> None: # created is a DateField: boundaries are always UTC midnight, no TZ offset - result = rewrite_natural_date_keywords("created:20231201", EASTERN) + result = translate_query("created:20231201", EASTERN) lo, hi = _range(result, "created") assert lo == "2023-12-01T00:00:00Z" assert hi == "2023-12-02T00:00:00Z" def test_8digit_added_datetime_field_converts_local_midnight_to_utc(self) -> None: # added is DateTimeField: midnight Dec 1 Eastern (EST = UTC-5) = 05:00 UTC - result = rewrite_natural_date_keywords("added:20231201", EASTERN) + result = translate_query("added:20231201", EASTERN) lo, hi = _range(result, "added") assert lo == "2023-12-01T05:00:00Z" assert hi == "2023-12-02T05:00:00Z" @@ -402,7 +401,7 @@ class TestWhooshQueryRewriting: def test_8digit_modified_datetime_field_converts_local_midnight_to_utc( self, ) -> None: - result = rewrite_natural_date_keywords("modified:20231201", EASTERN) + result = translate_query("modified:20231201", EASTERN) lo, hi = _range(result, "modified") assert lo == "2023-12-01T05:00:00Z" assert hi == "2023-12-02T05:00:00Z" @@ -412,7 +411,7 @@ class TestWhooshQueryRewriting: # (e.g. month=13) so the API can surface a 400 telling the user the date # is malformed instead of silently returning zero results. with pytest.raises(InvalidDateQuery) as exc_info: - rewrite_natural_date_keywords("added:20231340", UTC) + translate_query("added:20231340", UTC) assert exc_info.value.field == "added" assert exc_info.value.value == "20231340" @@ -579,7 +578,7 @@ class TestYearRangeRewriting: expected_lo: str, expected_hi: str, ) -> None: - result = rewrite_natural_date_keywords(query, UTC) + result = translate_query(query, UTC) lo, hi = _range(result, field) assert lo == expected_lo assert hi == expected_hi @@ -587,14 +586,14 @@ class TestYearRangeRewriting: def test_reversed_year_range_is_swapped(self) -> None: # A reversed range must not yield lo > hi, which Tantivy treats as an # empty range (silently zero results). The bounds are swapped instead. - result = rewrite_natural_date_keywords("created:[2025 TO 2020]", UTC) + result = translate_query("created:[2025 TO 2020]", UTC) lo, hi = _range(result, "created") assert lo == "2020-01-01T00:00:00Z" assert hi == "2026-01-01T00:00:00Z" def test_year_range_in_complex_boolean_query(self) -> None: query = "tag:steuer AND (title:2020 OR (NOT title:2019 AND NOT title:2018 AND created:[2020 TO 2020]))" - result = rewrite_natural_date_keywords(query, UTC) + result = translate_query(query, UTC) lo, hi = _range(result, "created") assert lo == "2020-01-01T00:00:00Z" assert hi == "2021-01-01T00:00:00Z" @@ -604,7 +603,7 @@ class TestYearRangeRewriting: def test_already_iso_date_range_passes_through_unchanged(self) -> None: original = "created:[2020-01-01T00:00:00Z TO 2021-01-01T00:00:00Z]" - assert rewrite_natural_date_keywords(original, UTC) == original + assert translate_query(original, UTC) == original def test_8digit_in_brackets_not_matched_as_year_range(self) -> None: # [YYYYMMDD TO YYYYMMDD]: the translation layer converts 8-digit bounds to @@ -613,7 +612,7 @@ class TestYearRangeRewriting: # This is the correct and accepted behavior: old compact form becomes a # proper Tantivy-parseable ISO range. original = "created:[20200101 TO 20201231]" - result = rewrite_natural_date_keywords(original, UTC) + result = translate_query(original, UTC) lo, hi = _range(result, "created") assert lo == "2020-01-01T00:00:00Z" assert hi == "2021-01-01T00:00:00Z" @@ -636,7 +635,7 @@ class TestNonDateFieldsNotRewritten: ], ) def test_8digit_on_integer_field_passes_through_unchanged(self, query: str) -> None: - assert rewrite_natural_date_keywords(query, EASTERN) == query + assert translate_query(query, EASTERN) == query @pytest.mark.parametrize( "query", @@ -650,12 +649,12 @@ class TestNonDateFieldsNotRewritten: self, query: str, ) -> None: - assert rewrite_natural_date_keywords(query, UTC) == query + assert translate_query(query, UTC) == query def test_unknown_field_keyword_passes_through_unchanged(self) -> None: # foobar is not a date field: 'foobar:today' must not become a date range, # which Tantivy would otherwise reject as an unknown/typed field. - assert rewrite_natural_date_keywords("foobar:today", UTC) == "foobar:today" + assert translate_query("foobar:today", UTC) == "foobar:today" class TestPassthrough: @@ -663,37 +662,39 @@ class TestPassthrough: def test_bare_keyword_no_field_prefix_unchanged(self) -> None: # Bare 'today' with no field: prefix passes through unchanged - result = rewrite_natural_date_keywords("bank statement today", UTC) + result = translate_query("bank statement today", UTC) assert "today" in result def test_unrelated_query_unchanged(self) -> None: - assert rewrite_natural_date_keywords("title:invoice", UTC) == "title:invoice" + assert translate_query("title:invoice", UTC) == "title:invoice" class TestNormalizeQuery: - """normalize_query expands comma-separated values and collapses whitespace.""" + """translate_query expands comma-separated values and collapses whitespace.""" def test_normalize_expands_comma_separated_tags(self) -> None: - assert normalize_query("tag:foo,bar") == "tag:foo AND tag:bar" + assert translate_query("tag:foo,bar", UTC) == "tag:foo AND tag:bar" def test_normalize_comma_between_range_expressions(self) -> None: # Comma-separated field range expressions (Whoosh v2 syntax) must be # converted to AND so Tantivy does not receive an invalid comma. q = "created:[2026-01-01T00:00:00Z TO 2026-06-01T00:00:00Z],added:[2026-05-01T00:00:00Z TO 2026-06-01T00:00:00Z]" - assert normalize_query(q) == ( + assert translate_query(q, UTC) == ( "created:[2026-01-01T00:00:00Z TO 2026-06-01T00:00:00Z]" " AND " "added:[2026-05-01T00:00:00Z TO 2026-06-01T00:00:00Z]" ) def test_normalize_expands_three_values(self) -> None: - assert normalize_query("tag:foo,bar,baz") == "tag:foo AND tag:bar AND tag:baz" + assert ( + translate_query("tag:foo,bar,baz", UTC) == "tag:foo AND tag:bar AND tag:baz" + ) def test_normalize_collapses_whitespace(self) -> None: - assert normalize_query("bank statement") == "bank statement" + assert translate_query("bank statement", UTC) == "bank statement" def test_normalize_no_commas_unchanged(self) -> None: - assert normalize_query("bank statement") == "bank statement" + assert translate_query("bank statement", UTC) == "bank statement" @pytest.mark.parametrize( ("raw", "expected"), @@ -736,7 +737,7 @@ class TestNormalizeQuery: ], ) def test_normalize_strips_dangling_operators(self, raw: str, expected: str) -> None: - assert normalize_query(raw) == expected + assert translate_query(raw, UTC) == expected @pytest.mark.parametrize( "query", @@ -748,7 +749,7 @@ class TestNormalizeQuery: ], ) def test_normalize_preserves_valid_operators(self, query: str) -> None: - assert normalize_query(query) == query + assert translate_query(query, UTC) == query class TestParseSimpleTextHighlightQuery: From 919ffdd79459e4b670008dbe5af67eb54303924f Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 31 Jul 2026 08:19:22 -0700 Subject: [PATCH 38/77] Fixhancement: better handle empty fields from AI suggestions (#13454) --- src/paperless_ai/base_model.py | 11 +++---- src/paperless_ai/tests/test_base_model.py | 35 +++++++++++++++++++++++ 2 files changed, 41 insertions(+), 5 deletions(-) create mode 100644 src/paperless_ai/tests/test_base_model.py diff --git a/src/paperless_ai/base_model.py b/src/paperless_ai/base_model.py index 61f93b467..3d3820dfc 100644 --- a/src/paperless_ai/base_model.py +++ b/src/paperless_ai/base_model.py @@ -1,12 +1,13 @@ from pydantic import BaseModel +from pydantic import Field class DocumentClassifierSchema(BaseModel): """Schema for document classification suggestions.""" title: str - tags: list[str] - correspondents: list[str] - document_types: list[str] - storage_paths: list[str] - dates: list[str] + tags: list[str] = Field(default_factory=list) + correspondents: list[str] = Field(default_factory=list) + document_types: list[str] = Field(default_factory=list) + storage_paths: list[str] = Field(default_factory=list) + dates: list[str] = Field(default_factory=list) diff --git a/src/paperless_ai/tests/test_base_model.py b/src/paperless_ai/tests/test_base_model.py new file mode 100644 index 000000000..c598f1400 --- /dev/null +++ b/src/paperless_ai/tests/test_base_model.py @@ -0,0 +1,35 @@ +import pytest +from pydantic import ValidationError + +from paperless_ai.base_model import DocumentClassifierSchema + + +@pytest.mark.parametrize( + "omitted_field", + [ + "tags", + "correspondents", + "document_types", + "storage_paths", + "dates", + ], +) +def test_document_classifier_schema_defaults_omitted_list_field(omitted_field): + data = { + "title": "Test Title", + "tags": ["test"], + "correspondents": ["Test Correspondent"], + "document_types": ["Test Document Type"], + "storage_paths": ["Test Storage Path"], + "dates": ["2026-07-31"], + } + del data[omitted_field] + + result = DocumentClassifierSchema(**data) + + assert getattr(result, omitted_field) == [] + + +def test_document_classifier_schema_requires_title(): + with pytest.raises(ValidationError, match="title"): + DocumentClassifierSchema() From e37ef5aa71e2834f26b5753c822a84356cc96d93 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 31 Jul 2026 08:57:17 -0700 Subject: [PATCH 39/77] Fix: validate custom field values in bulk operations (#13457) --- src/documents/serialisers.py | 37 +++++++++++++++-------- src/documents/tests/test_api_bulk_edit.py | 26 +++++++++++++++- 2 files changed, 50 insertions(+), 13 deletions(-) diff --git a/src/documents/serialisers.py b/src/documents/serialisers.py index add3610af..aaded56fe 100644 --- a/src/documents/serialisers.py +++ b/src/documents/serialisers.py @@ -1829,18 +1829,27 @@ class BulkEditSerializer( f"Some custom fields in {name} don't exist or were specified twice.", ) - if isinstance(custom_fields, dict): - custom_field_map = CustomField.objects.in_bulk(ids) - for raw_field_id, value in custom_fields.items(): - field = custom_field_map.get(int(raw_field_id)) - if ( - field is not None - and field.data_type == CustomField.FieldDataType.DOCUMENTLINK - and value is not None - ): - if not isinstance(value, list): - raise serializers.ValidationError("Value must be a list") - validate_documentlink_targets(self.user, value) + def _validate_custom_field_values(self, custom_fields, name): + if not isinstance(custom_fields, dict): + return custom_fields + + validated = {} + errors = {} + for raw_field_id, value in custom_fields.items(): + field_id = int(raw_field_id) + validator = CustomFieldInstanceSerializer( + data={"field": field_id, "value": value}, + context=self.context, + ) + if validator.is_valid(): + validated[field_id] = validator.validated_data["value"] + else: + errors[str(field_id)] = validator.errors + + if errors: + raise serializers.ValidationError({name: errors}) + + return validated def validate_method(self, method): if method == "set_correspondent": @@ -1944,6 +1953,10 @@ class BulkEditSerializer( parameters["add_custom_fields"], "add_custom_fields", ) + parameters["add_custom_fields"] = self._validate_custom_field_values( + parameters["add_custom_fields"], + "add_custom_fields", + ) else: raise serializers.ValidationError("add_custom_fields not specified") diff --git a/src/documents/tests/test_api_bulk_edit.py b/src/documents/tests/test_api_bulk_edit.py index e4272e78f..dd62f0c74 100644 --- a/src/documents/tests/test_api_bulk_edit.py +++ b/src/documents/tests/test_api_bulk_edit.py @@ -343,9 +343,33 @@ class TestBulkEditAPI(DirectoriesMixin, APITestCase): m.assert_called_once() args, kwargs = m.call_args self.assertListEqual(args[0], [self.doc1.id, self.doc3.id]) - self.assertEqual(kwargs["add_custom_fields"], {str(self.cf1.id): "foo"}) + self.assertEqual(kwargs["add_custom_fields"], {self.cf1.id: "foo"}) self.assertEqual(kwargs["remove_custom_fields"], [self.cf2.id]) + @mock.patch("documents.serialisers.bulk_edit.modify_custom_fields") + def test_api_modify_custom_fields_rejects_invalid_value(self, m) -> None: + self.setup_mock(m, "modify_custom_fields") + + response = self.client.post( + "/api/documents/bulk_edit/", + json.dumps( + { + "documents": [self.doc1.id], + "method": "modify_custom_fields", + "parameters": { + "add_custom_fields": {self.cf1.id: "x" * 129}, + "remove_custom_fields": [], + }, + }, + ), + content_type="application/json", + ) + + self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) + self.assertIn("add_custom_fields", response.data) + self.assertIn(str(self.cf1.id), response.data["add_custom_fields"]) + m.assert_not_called() + @mock.patch("documents.serialisers.bulk_edit.modify_custom_fields") def test_api_modify_custom_fields_invalid_params(self, m) -> None: """ From 752c9490096b6a6f0a94f4adb5bccc2e31bc5b27 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 31 Jul 2026 15:58:58 +0000 Subject: [PATCH 40/77] Auto translate strings --- src/locale/en_US/LC_MESSAGES/django.po | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/locale/en_US/LC_MESSAGES/django.po b/src/locale/en_US/LC_MESSAGES/django.po index 8648046c8..02a0f4291 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-07-27 19:34+0000\n" +"POT-Creation-Date: 2026-07-31 15:58+0000\n" "PO-Revision-Date: 2022-02-17 04:17\n" "Last-Translator: \n" "Language-Team: English\n" @@ -1352,7 +1352,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2553 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1361,39 +1361,39 @@ msgstr "" msgid "Invalid color." msgstr "" -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "" "Custom fields must be a list of integers or an object mapping ids to values." msgstr "" -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "" -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "" -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4512 #, python-format msgid "Documents not found: %(ids)s" msgstr "" From 3d57f4396f0618af1f59bf809c27b0803ac869eb Mon Sep 17 00:00:00 2001 From: Matthias Breddin Date: Fri, 31 Jul 2026 18:13:22 +0200 Subject: [PATCH 41/77] Fix: key the AI suggestion cache by model and endpoint (#13449) --------- Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com> --- src/documents/tests/test_views.py | 36 +++++++++++++++++++++++++++++++ src/documents/views.py | 13 +++++++---- 2 files changed, 45 insertions(+), 4 deletions(-) diff --git a/src/documents/tests/test_views.py b/src/documents/tests/test_views.py index f64b6ea04..0cf1bcdae 100644 --- a/src/documents/tests/test_views.py +++ b/src/documents/tests/test_views.py @@ -491,6 +491,42 @@ class TestAISuggestions(DirectoriesMixin, TestCase): "Titre IA", ) + @patch("documents.views.get_ai_document_classification") + @override_settings( + AI_ENABLED=True, + LLM_BACKEND="mock_backend", + LLM_MODEL="model-a", + LLM_ENDPOINT="http://endpoint-a", + ) + def test_ai_suggestions_cache_key_includes_model_and_endpoint( + self, + mock_get_ai_classification, + ) -> None: + """Cached suggestions are keyed by model and endpoint, so switching + either yields a cache miss instead of a stale hit.""" + mock_get_ai_classification.return_value = { + "title": "Answer A", + "tags": [], + "correspondents": [], + "document_types": [], + "storage_paths": [], + "dates": [], + } + + self.client.force_login(user=self.user) + response = self.client.get( + f"/api/documents/{self.document.pk}/ai_suggestions/", + ) + self.assertEqual(response.status_code, status.HTTP_200_OK) + + # Cached under a key that carries model + endpoint... + self.assertIsNotNone( + get_llm_suggestion_cache( + self.document.pk, + backend="mock_backend:model-a:http://endpoint-a", + ), + ) + @patch("documents.views.get_ai_document_classification") @override_settings( AI_ENABLED=True, diff --git a/src/documents/views.py b/src/documents/views.py index 528d6ced5..3d6018d43 100644 --- a/src/documents/views.py +++ b/src/documents/views.py @@ -1530,10 +1530,15 @@ class DocumentViewSet( return HttpResponseBadRequest("AI is required for this feature") output_language = _get_llm_output_language(ai_config=ai_config, request=request) - llm_cache_backend = ( - f"{ai_config.llm_backend}:{output_language}" - if output_language - else ai_config.llm_backend + llm_cache_backend = ":".join( + part + for part in ( + ai_config.llm_backend, + ai_config.llm_model, + ai_config.llm_endpoint, + output_language, + ) + if part ) cached_llm_suggestions = get_llm_suggestion_cache( From adf1dd4e05a4ab4a7cd2a98a21629925901bfabf Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 31 Jul 2026 16:15:05 +0000 Subject: [PATCH 42/77] 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 02a0f4291..72b1fd215 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-07-31 15:58+0000\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" "PO-Revision-Date: 2022-02-17 04:17\n" "Last-Translator: \n" "Language-Team: English\n" @@ -1352,7 +1352,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1393,7 +1393,7 @@ msgstr "" msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2862 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1661,36 +1661,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4641 +#: documents/views.py:4646 msgid "The share link bundle is unavailable." msgstr "" From 486b4babac37dcfba057423757f3d9081dce9aee Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Fri, 31 Jul 2026 19:10:59 -0700 Subject: [PATCH 43/77] Performance: sqlite-vec point-delete for document chunks (#13438) * Refactor: extract migration infrastructure, add has_pending_migration() (#13410) * Empty commit to try and get Codecov going --- .../dependencies.d/init-llmindex-migrate | 0 .../dependencies.d/init-migrations | 0 .../s6-rc.d/init-llmindex-migrate/run | 12 ++ .../s6-rc.d/init-llmindex-migrate/type | 1 + .../s6-rc.d/init-llmindex-migrate/up | 1 + docs/administration.md | 12 +- .../management/commands/document_llmindex.py | 9 +- .../test_management_document_llmindex.py | 6 + src/paperless_ai/indexing.py | 103 ++++++++++---- src/paperless_ai/migrations/__init__.py | 60 ++++++++ src/paperless_ai/tests/test_ai_indexing.py | 130 ++++++++++++++++++ src/paperless_ai/tests/test_vector_store.py | 51 ++++++- src/paperless_ai/vector_store.py | 80 +++++------ 13 files changed, 391 insertions(+), 74 deletions(-) create mode 100644 docker/rootfs/etc/s6-overlay/s6-rc.d/init-complete/dependencies.d/init-llmindex-migrate create mode 100644 docker/rootfs/etc/s6-overlay/s6-rc.d/init-llmindex-migrate/dependencies.d/init-migrations create mode 100755 docker/rootfs/etc/s6-overlay/s6-rc.d/init-llmindex-migrate/run create mode 100644 docker/rootfs/etc/s6-overlay/s6-rc.d/init-llmindex-migrate/type create mode 100644 docker/rootfs/etc/s6-overlay/s6-rc.d/init-llmindex-migrate/up create mode 100644 src/paperless_ai/migrations/__init__.py diff --git a/docker/rootfs/etc/s6-overlay/s6-rc.d/init-complete/dependencies.d/init-llmindex-migrate b/docker/rootfs/etc/s6-overlay/s6-rc.d/init-complete/dependencies.d/init-llmindex-migrate new file mode 100644 index 000000000..e69de29bb diff --git a/docker/rootfs/etc/s6-overlay/s6-rc.d/init-llmindex-migrate/dependencies.d/init-migrations b/docker/rootfs/etc/s6-overlay/s6-rc.d/init-llmindex-migrate/dependencies.d/init-migrations new file mode 100644 index 000000000..e69de29bb diff --git a/docker/rootfs/etc/s6-overlay/s6-rc.d/init-llmindex-migrate/run b/docker/rootfs/etc/s6-overlay/s6-rc.d/init-llmindex-migrate/run new file mode 100755 index 000000000..50fa691c2 --- /dev/null +++ b/docker/rootfs/etc/s6-overlay/s6-rc.d/init-llmindex-migrate/run @@ -0,0 +1,12 @@ +#!/command/with-contenv /usr/bin/bash +# shellcheck shell=bash + +declare -r log_prefix="[init-llmindex-migrate]" + +echo "${log_prefix} Checking for pending LLM index migrations..." +cd "${PAPERLESS_SRC_DIR}" +if [[ -n "${USER_IS_NON_ROOT}" ]]; then + python3 manage.py document_llmindex migrate +else + s6-setuidgid paperless python3 manage.py document_llmindex migrate +fi diff --git a/docker/rootfs/etc/s6-overlay/s6-rc.d/init-llmindex-migrate/type b/docker/rootfs/etc/s6-overlay/s6-rc.d/init-llmindex-migrate/type new file mode 100644 index 000000000..bdd22a185 --- /dev/null +++ b/docker/rootfs/etc/s6-overlay/s6-rc.d/init-llmindex-migrate/type @@ -0,0 +1 @@ +oneshot diff --git a/docker/rootfs/etc/s6-overlay/s6-rc.d/init-llmindex-migrate/up b/docker/rootfs/etc/s6-overlay/s6-rc.d/init-llmindex-migrate/up new file mode 100644 index 000000000..c2016d47a --- /dev/null +++ b/docker/rootfs/etc/s6-overlay/s6-rc.d/init-llmindex-migrate/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-llmindex-migrate/run diff --git a/docs/administration.md b/docs/administration.md index 8e27df982..fbc636935 100644 --- a/docs/administration.md +++ b/docs/administration.md @@ -212,6 +212,16 @@ following: This is a no-op if the index is already up to date, so it is safe to run on every upgrade. +5. Migrate the LLM index if needed. + + ```shell-session + cd src + python3 manage.py document_llmindex migrate + ``` + + This is a no-op if the index schema is already current, so it is safe + to run on every upgrade. + ### Database Upgrades Paperless-ngx is compatible with Django-supported versions of PostgreSQL and MariaDB and it is generally @@ -532,7 +542,7 @@ index is updated automatically on the schedule set by can manage it manually: ``` -document_llmindex {rebuild,update,compact} +document_llmindex {rebuild,update,compact,migrate} ``` Specify `rebuild` to build the index from scratch from all documents in the database. Use diff --git a/src/documents/management/commands/document_llmindex.py b/src/documents/management/commands/document_llmindex.py index 7b34ca9a8..216ab631d 100644 --- a/src/documents/management/commands/document_llmindex.py +++ b/src/documents/management/commands/document_llmindex.py @@ -3,6 +3,7 @@ from typing import Any from documents.management.commands.base import PaperlessCommand from documents.tasks import llmindex_index from paperless_ai.indexing import llm_index_compact +from paperless_ai.indexing import llm_index_migrate class Command(PaperlessCommand): @@ -13,12 +14,18 @@ class Command(PaperlessCommand): def add_arguments(self, parser: Any) -> None: super().add_arguments(parser) - parser.add_argument("command", choices=["rebuild", "update", "compact"]) + parser.add_argument( + "command", + choices=["rebuild", "update", "compact", "migrate"], + ) def handle(self, *args: Any, **options: Any) -> None: if options["command"] == "compact": llm_index_compact() return + if options["command"] == "migrate": + llm_index_migrate() + return llmindex_index( rebuild=options["command"] == "rebuild", iter_wrapper=lambda docs: self.track( diff --git a/src/documents/tests/management/test_management_document_llmindex.py b/src/documents/tests/management/test_management_document_llmindex.py index b8a05dd85..3b75338d2 100644 --- a/src/documents/tests/management/test_management_document_llmindex.py +++ b/src/documents/tests/management/test_management_document_llmindex.py @@ -9,6 +9,7 @@ if TYPE_CHECKING: _COMPACT = "documents.management.commands.document_llmindex.llm_index_compact" _INDEX = "documents.management.commands.document_llmindex.llmindex_index" +_MIGRATE = "documents.management.commands.document_llmindex.llm_index_migrate" class TestDocumentLlmindexCommand: @@ -17,6 +18,11 @@ class TestDocumentLlmindexCommand: call_command("document_llmindex", "compact") mock_compact.assert_called_once_with() + def test_migrate_calls_llm_index_migrate(self, mocker: MockerFixture) -> None: + mock_migrate = mocker.patch(_MIGRATE) + call_command("document_llmindex", "migrate") + mock_migrate.assert_called_once_with() + def test_rebuild_calls_llmindex_index_with_rebuild_true( self, mocker: MockerFixture, diff --git a/src/paperless_ai/indexing.py b/src/paperless_ai/indexing.py index ff08d2aeb..cd9a5deee 100644 --- a/src/paperless_ai/indexing.py +++ b/src/paperless_ai/indexing.py @@ -175,6 +175,24 @@ def _exclude_readers(): lock.close() +def _with_exclusive_access(operation: str, fn): + """Run ``fn()`` with exclusive index access (see ``_exclude_readers()``), + for compaction/migration file swaps that must not run while readers are + active. Returns ``fn()``'s result, or None (after logging) if active + readers do not drain within ``LLM_INDEX_COMPACTION_LOCK_TIMEOUT`` -- + callers skip the operation this run; it retries next time. + """ + try: + with _exclude_readers(): + return fn() + except Timeout: + logger.info( + "Skipping LLM index %s: index readers are active; will retry next run.", + operation, + ) + return None + + @contextmanager def write_store(embed_model_name: str | None = None): """Acquire the write lock and yield the vector store. @@ -199,6 +217,21 @@ def write_store(embed_model_name: str | None = None): yield store +def _check_and_run_migrations(store: "PaperlessSqliteVecVectorStore") -> bool: + """Run any pending structural migrations, returning True if a pending + re-embed migration needs the caller to force a rebuild -- never + triggered automatically here. Safe to call before any write, including + delete()/upsert_document(): has_pending_migration() (see its docstring) + keeps this a no-op, with no exclusive access taken, once the store is + current. + """ + if not store.has_pending_migration(): + return False + return bool( + _with_exclusive_access("migration check", store.check_and_run_migrations), + ) + + def _safe_related_name(document: Document, field: str) -> str | None: """ Returns the ``name`` of a related object (correspondent, document_type, @@ -370,15 +403,7 @@ def update_llm_index( happens, since a rebuild always covers the whole library regardless. """ with write_store() as store: - try: - with _exclude_readers(): - needs_reembed = store.check_and_run_migrations() - except Timeout: - logger.info( - "Skipping LLM index migration check: index readers are active; " - "will retry next run.", - ) - needs_reembed = False + needs_reembed = _check_and_run_migrations(store) if needs_reembed: logger.warning( "LLM index migration requires re-embedding; forcing rebuild.", @@ -443,14 +468,7 @@ def update_llm_index( else "No changes detected in LLM index." ) - try: - with _exclude_readers(): - store.compact() - except Timeout: - logger.info( - "Skipping LLM index compaction: index readers are active; " - "will retry next run.", - ) + _with_exclusive_access("compaction", store.compact) return msg @@ -465,25 +483,60 @@ def llm_index_add_or_update_document(document: Document): _embed_nodes(new_nodes, get_embedding_model(config)) with write_store(embed_model_name=get_configured_model_name(config)) as store: + needs_reembed = _check_and_run_migrations(store) + if needs_reembed: + logger.warning( + "Skipping incremental LLM index update for document %s: the " + "index requires re-embedding first. Run 'document_llmindex " + "rebuild' to resolve.", + document.id, + ) + return store.upsert_document(str(document.id), new_nodes) +def llm_index_migrate() -> None: + """Apply any pending LLM index schema migrations, with no reindex. + + Intended to run unconditionally on every startup (see the + init-llmindex-migrate container step and the bare-metal upgrade docs): + has_pending_migration() short-circuits to a metadata-only read once the + store is current, so a healthy install pays almost nothing here. Only + ever applies structural migrations -- a pending re-embed migration is + left for the explicit, deliberate rebuild path (``document_llmindex + update``/``rebuild``) to resolve, since re-embedding can be slow and, + for a metered embedding backend, cost money. + """ + if not AIConfig().llm_index_enabled: + return + with write_store() as store: + needs_reembed = _check_and_run_migrations(store) + if needs_reembed: + logger.warning( + "LLM index requires re-embedding, which this automatic migration " + "check will not do on its own -- it can be slow and, for a " + "metered embedding backend, cost money. Run " + "'document_llmindex rebuild' manually when ready.", + ) + + def llm_index_compact() -> None: """Compact the index immediately, rebuilding the table to reclaim space.""" with write_store() as store: - try: - with _exclude_readers(): - store.compact(force=True) - except Timeout: - logger.info( - "Skipping LLM index compaction: index readers are active; " - "will retry next run.", - ) + _with_exclusive_access("compaction", lambda: store.compact(force=True)) def llm_index_remove_document(document: Document): """Remove a document's chunks from the LLM index.""" with write_store() as store: + if _check_and_run_migrations(store): + logger.warning( + "Skipping removal of document %s from the LLM index: the " + "index requires re-embedding first. Run 'document_llmindex " + "rebuild' to resolve.", + document.id, + ) + return store.delete(str(document.id)) diff --git a/src/paperless_ai/migrations/__init__.py b/src/paperless_ai/migrations/__init__.py new file mode 100644 index 000000000..af63f3400 --- /dev/null +++ b/src/paperless_ai/migrations/__init__.py @@ -0,0 +1,60 @@ +"""Schema migrations for the sqlite-vec vector store. + +Each migration lives in its own module here, named ``mNNNN_description.py`` +(e.g. ``m0001_v1_to_v2.py`` -- a leading digit isn't a valid Python +identifier, hence the ``m`` prefix, unlike Django's own numbered migrations, +which load via a dynamic ``importlib.import_module()`` call rather than a +static import statement), and registers itself into ``MIGRATIONS`` at import +time. ``vector_store.py`` imports those modules at the bottom of the file, +purely for that registration side effect, after ``PaperlessSqliteVecVectorStore`` +is fully defined -- migrations need it to implement ``apply()`` (see +``Migration`` below). + +To add a new migration: add a new ``mNNNN_description.py`` module here that +imports ``PaperlessSqliteVecVectorStore`` from ``paperless_ai.vector_store``, +defines its ``apply()``, and appends a ``Migration`` to ``MIGRATIONS``; then +import that module at the bottom of ``vector_store.py`` and bump +``SCHEMA_VERSION`` there. A migration must freeze its own historical DDL for +any side table its target version depends on (``DROP TABLE IF EXISTS`` + +its own literal ``CREATE TABLE``/``CREATE INDEX`` statements) rather than +delegating to any "current schema" helper -- see ``m0001_v1_to_v2.py`` for +why and the worked example. +""" + +import sqlite3 +from collections.abc import Callable +from dataclasses import dataclass +from dataclasses import field +from typing import Literal + + +@dataclass +class Migration: + """A schema migration for the sqlite-vec vector store. + + kind="structural": rows are copied into a new-schema file with no + re-embedding needed. Supply ``apply(src_conn, dst_conn, dim)``, which + must create every table its target schema needs in ``dst_conn`` and copy + ``src_conn``'s rows and relevant ``index_meta`` keys into it. + ``schema_version`` is written by the migration runner after ``apply`` + returns, not by ``apply`` itself. + + kind="re-embed": the new schema requires fresh embeddings. + ``check_and_run_migrations()`` returns True when it encounters one of + these so the caller can force a full rebuild (which recreates the table + at the current SCHEMA_VERSION). + """ + + from_version: int + to_version: int + kind: Literal["structural", "re-embed"] + description: str + apply: Callable[[sqlite3.Connection, sqlite3.Connection, int], None] | None = field( + default=None, + repr=False, + ) + + +# Registry of all schema migrations in order, populated by each migration +# module's import-time registration (see the module docstring above). +MIGRATIONS: list[Migration] = [] diff --git a/src/paperless_ai/tests/test_ai_indexing.py b/src/paperless_ai/tests/test_ai_indexing.py index 7ae5477cb..c018b9a80 100644 --- a/src/paperless_ai/tests/test_ai_indexing.py +++ b/src/paperless_ai/tests/test_ai_indexing.py @@ -1,3 +1,4 @@ +import logging from pathlib import Path from unittest.mock import MagicMock from unittest.mock import patch @@ -776,6 +777,7 @@ class TestLlmIndexLocking: mocker: pytest_mock.MockerFixture, ) -> None: mock_store = MagicMock() + mock_store.has_pending_migration.return_value = False mocker.patch( "paperless_ai.indexing.write_store", return_value=mocker.MagicMock( @@ -796,12 +798,45 @@ class TestLlmIndexLocking: mock_store.upsert_document.assert_called_once() + def test_add_or_update_document_skips_write_when_reembed_pending( + self, + temp_llm_index_dir: Path, + mock_embed_model: FakeEmbedding, + mocker: pytest_mock.MockerFixture, + ) -> None: + """A pending re-embed migration must block the incremental write, + not let it proceed against a schema that just changed underneath it. + """ + mock_store = MagicMock() + mock_store.has_pending_migration.return_value = True + mock_store.check_and_run_migrations.return_value = True + mocker.patch( + "paperless_ai.indexing.write_store", + return_value=mocker.MagicMock( + __enter__=mocker.MagicMock(return_value=mock_store), + __exit__=mocker.MagicMock(return_value=False), + ), + ) + mock_node = MagicMock() + mock_node.get_content.return_value = "fake node text" + mocker.patch( + "paperless_ai.indexing.build_document_node", + return_value=[mock_node], + ) + + doc = MagicMock(spec=Document) + doc.id = 1 + indexing.llm_index_add_or_update_document(doc) + + mock_store.upsert_document.assert_not_called() + def test_remove_document_uses_write_store( self, temp_llm_index_dir: Path, mocker: pytest_mock.MockerFixture, ) -> None: mock_store = MagicMock() + mock_store.has_pending_migration.return_value = False mocker.patch( "paperless_ai.indexing.write_store", return_value=mocker.MagicMock( @@ -816,6 +851,31 @@ class TestLlmIndexLocking: mock_store.delete.assert_called_once_with("1") + def test_remove_document_skips_write_when_reembed_pending( + self, + temp_llm_index_dir: Path, + mocker: pytest_mock.MockerFixture, + ) -> None: + """A pending re-embed migration must block the delete too, for the + same consistency reason as the incremental-update path. + """ + mock_store = MagicMock() + mock_store.has_pending_migration.return_value = True + mock_store.check_and_run_migrations.return_value = True + mocker.patch( + "paperless_ai.indexing.write_store", + return_value=mocker.MagicMock( + __enter__=mocker.MagicMock(return_value=mock_store), + __exit__=mocker.MagicMock(return_value=False), + ), + ) + + doc = MagicMock(spec=Document) + doc.id = 1 + indexing.llm_index_remove_document(doc) + + mock_store.delete.assert_not_called() + def test_update_llm_index_rebuild_uses_write_store( self, temp_llm_index_dir: Path, @@ -888,6 +948,76 @@ class TestVectorStoreIndexing: assert rows >= 1 +class TestLlmIndexMigrate: + def test_noop_when_ai_disabled(self, mocker: pytest_mock.MockerFixture) -> None: + """ + GIVEN: + - AI/LLM index support is disabled in configuration + WHEN: + - llm_index_migrate() is called + THEN: + - No store is opened and no migration check runs + """ + mocker.patch( + "paperless_ai.indexing.AIConfig", + return_value=mocker.Mock(llm_index_enabled=False), + ) + write_store_mock = mocker.patch("paperless_ai.indexing.write_store") + indexing.llm_index_migrate() + write_store_mock.assert_not_called() + + def test_runs_pending_migration_when_enabled( + self, + mocker: pytest_mock.MockerFixture, + ) -> None: + """ + GIVEN: + - AI/LLM index support is enabled + WHEN: + - llm_index_migrate() is called + THEN: + - The store is opened for write and a migration check runs + """ + mocker.patch( + "paperless_ai.indexing.AIConfig", + return_value=mocker.Mock(llm_index_enabled=True), + ) + store_mock = mocker.MagicMock() + store_mock.has_pending_migration.return_value = False + write_store_cm = mocker.patch("paperless_ai.indexing.write_store") + write_store_cm.return_value.__enter__.return_value = store_mock + indexing.llm_index_migrate() + store_mock.has_pending_migration.assert_called_once() + + def test_logs_warning_when_reembed_needed( + self, + mocker: pytest_mock.MockerFixture, + caplog: pytest.LogCaptureFixture, + ) -> None: + """ + GIVEN: + - AI/LLM index support is enabled + - A pending migration requires re-embedding + WHEN: + - llm_index_migrate() is called + THEN: + - A warning directs the operator to run a manual rebuild, since + this automatic check must never re-embed on its own + """ + mocker.patch( + "paperless_ai.indexing.AIConfig", + return_value=mocker.Mock(llm_index_enabled=True), + ) + store_mock = mocker.MagicMock() + store_mock.has_pending_migration.return_value = True + store_mock.check_and_run_migrations.return_value = True + write_store_cm = mocker.patch("paperless_ai.indexing.write_store") + write_store_cm.return_value.__enter__.return_value = store_mock + with caplog.at_level(logging.WARNING, logger="paperless_ai.indexing"): + indexing.llm_index_migrate() + assert "requires re-embedding" in caplog.text + + @pytest.mark.django_db class TestQuerySimilarDocuments: def test_query_similar_documents_respects_allowed_ids( diff --git a/src/paperless_ai/tests/test_vector_store.py b/src/paperless_ai/tests/test_vector_store.py index 75cc0d17e..908627d27 100644 --- a/src/paperless_ai/tests/test_vector_store.py +++ b/src/paperless_ai/tests/test_vector_store.py @@ -9,11 +9,11 @@ from llama_index.core.vector_stores.types import MetadataFilter from llama_index.core.vector_stores.types import MetadataFilters from llama_index.core.vector_stores.types import VectorStoreQuery +from paperless_ai.migrations import MIGRATIONS +from paperless_ai.migrations import Migration from paperless_ai.vector_store import DB_FILENAME from paperless_ai.vector_store import DEFAULT_TABLE_NAME -from paperless_ai.vector_store import MIGRATIONS from paperless_ai.vector_store import SCHEMA_VERSION -from paperless_ai.vector_store import Migration from paperless_ai.vector_store import PaperlessSqliteVecVectorStore from paperless_ai.vector_store import _build_where @@ -646,3 +646,50 @@ class TestMigrations: assert result is True assert self._schema_version(store) == 2 + + def test_has_pending_migration_false_when_no_table( + self, + store: PaperlessSqliteVecVectorStore, + ) -> None: + """ + GIVEN: + - A vector store with no table created yet + WHEN: + - has_pending_migration() is checked + THEN: + - False is returned (nothing to migrate before anything exists) + """ + assert store.has_pending_migration() is False + + def test_has_pending_migration_false_at_current_version( + self, + store: PaperlessSqliteVecVectorStore, + ) -> None: + """ + GIVEN: + - A store at the current SCHEMA_VERSION + WHEN: + - has_pending_migration() is checked + THEN: + - False is returned + """ + store.add([make_node("a1", "1")]) + assert store.has_pending_migration() is False + + def test_has_pending_migration_true_when_behind( + self, + store: PaperlessSqliteVecVectorStore, + ) -> None: + """ + GIVEN: + - A store whose schema_version has been forced behind SCHEMA_VERSION + WHEN: + - has_pending_migration() is checked + THEN: + - True is returned + """ + store.add([make_node("a1", "1")]) + store.client.execute( + "UPDATE index_meta SET value = '0' WHERE key = 'schema_version'", + ) + assert store.has_pending_migration() is True diff --git a/src/paperless_ai/vector_store.py b/src/paperless_ai/vector_store.py index f6f333576..4c4d0b7a2 100644 --- a/src/paperless_ai/vector_store.py +++ b/src/paperless_ai/vector_store.py @@ -2,16 +2,12 @@ import json import logging import sqlite3 import struct -from collections.abc import Callable from collections.abc import Iterator from collections.abc import Sequence from contextlib import contextmanager -from dataclasses import dataclass -from dataclasses import field from pathlib import Path from types import TracebackType from typing import Any -from typing import Literal import sqlite_vec from llama_index.core.bridge.pydantic import PrivateAttr @@ -26,6 +22,9 @@ from llama_index.core.vector_stores.types import VectorStoreQueryResult from llama_index.core.vector_stores.utils import metadata_dict_to_node from llama_index.core.vector_stores.utils import node_to_metadata_dict +from paperless_ai.migrations import MIGRATIONS +from paperless_ai.migrations import Migration + logger = logging.getLogger("paperless_ai.vector_store") DB_FILENAME = "llmindex.db" @@ -53,38 +52,6 @@ COMPACT_BATCH_SIZE = 500 _FILTER_COLUMNS = frozenset({"document_id", "modified"}) -@dataclass -class Migration: - """A schema migration for the sqlite-vec vector store. - - kind="structural": rows are copied into a new-schema file with no - re-embedding needed. Supply ``apply(src_conn, dst_conn, dim)`` which - must create the vec0 table in ``dst_conn``, copy all rows from - ``src_conn``, and write ``dim`` / ``embed_model`` / ``total_inserts`` to - ``dst_conn``'s ``index_meta``. ``schema_version`` is written by the - migration runner after ``apply`` returns. - - kind="re-embed": the new schema requires fresh embeddings. - ``check_and_run_migrations()`` returns True when it encounters one of - these so the caller can force a full rebuild (which recreates the table - at the current SCHEMA_VERSION). - """ - - from_version: int - to_version: int - kind: Literal["structural", "re-embed"] - description: str - apply: Callable[[sqlite3.Connection, sqlite3.Connection, int], None] | None = field( - default=None, - repr=False, - ) - - -# Registry of all schema migrations in order. Empty at v1 -- this is the -# baseline. Add entries here (and bump SCHEMA_VERSION) when the schema changes. -MIGRATIONS: list[Migration] = [] - - def _pack(embedding: Sequence[float]) -> bytes: return struct.pack(f"{len(embedding)}f", *embedding) @@ -551,6 +518,31 @@ class PaperlessSqliteVecVectorStore(BasePydanticVectorStore): Path(compact_path).replace(db_path) self._conn = self._open_connection(db_path) + def _stored_schema_version(self) -> int | None: + """The schema_version recorded in index_meta, or None if no table + exists. A missing key (a store predating version tracking) is + treated as SCHEMA_VERSION -- i.e. already current -- since no + migration in MIGRATIONS targets a version before tracking began. + """ + if not self.table_exists(): + return None + raw = self._meta_get("schema_version") + return int(raw) if raw is not None else SCHEMA_VERSION + + def has_pending_migration(self) -> bool: + """Cheaply check whether a migration is pending, with no exclusive + access needed -- just a metadata read under the connection callers + already hold via the write FileLock. + + Callers should only pay for check_and_run_migrations()'s exclusive + access (a structural migration's file swap must not run while + readers are active) when this returns True, so that the common + case -- already at SCHEMA_VERSION -- never contends with readers + or a concurrent compaction. + """ + current = self._stored_schema_version() + return current is not None and current < SCHEMA_VERSION + def check_and_run_migrations(self) -> bool: """Apply any pending schema migrations to the store. @@ -559,15 +551,13 @@ class PaperlessSqliteVecVectorStore(BasePydanticVectorStore): this method returns True when one is encountered so the caller can force a full rebuild (which recreates the table at SCHEMA_VERSION). - Must be called under the write FileLock. No-op when the table does - not exist or is already at SCHEMA_VERSION. + Must be called under the write FileLock, with readers excluded (see + has_pending_migration() for a cheap pre-check that avoids paying for + that exclusion in the common case). No-op when the table does not + exist or is already at SCHEMA_VERSION. """ - if not self.table_exists(): - return False - - raw = self._meta_get("schema_version") - current = int(raw) if raw is not None else SCHEMA_VERSION - if current >= SCHEMA_VERSION: + current = self._stored_schema_version() + if current is None or current >= SCHEMA_VERSION: return False pending = sorted( @@ -579,7 +569,7 @@ class PaperlessSqliteVecVectorStore(BasePydanticVectorStore): if migration.kind == "re-embed": logger.warning( "LLM index schema v%d -> v%d requires re-embedding (%s); " - "forcing full rebuild.", + "the caller must force a rebuild.", migration.from_version, migration.to_version, migration.description, From aa938de747205203e9126c7e401bc53e28884a37 Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Fri, 31 Jul 2026 21:07:26 -0700 Subject: [PATCH 44/77] Refactor: extract QuerySetStream, shared by search and LLM indexing (#13431) --- src/documents/search/_backend.py | 17 ++++----- src/documents/tests/test_utils.py | 35 ++++++++++++++++++ src/documents/utils.py | 42 ++++++++++++++++++++++ src/paperless_ai/indexing.py | 39 +++++--------------- src/paperless_ai/tests/test_ai_indexing.py | 39 -------------------- 5 files changed, 92 insertions(+), 80 deletions(-) create mode 100644 src/documents/tests/test_utils.py diff --git a/src/documents/search/_backend.py b/src/documents/search/_backend.py index 7464de79a..227d0ccd7 100644 --- a/src/documents/search/_backend.py +++ b/src/documents/search/_backend.py @@ -39,6 +39,7 @@ from documents.search._tokenizer import ascii_fold from documents.search._tokenizer import autocomplete_tokens from documents.search._tokenizer import register_tokenizers from documents.utils import IterWrapper +from documents.utils import QuerySetStream from documents.utils import identity if TYPE_CHECKING: @@ -1035,14 +1036,15 @@ _EMPTY_VIEWER_GRANT: Final[ViewerGrant] = ViewerGrant( ) -class _DocumentViewerStream: +class _DocumentViewerStream(QuerySetStream["Document"]): """Yield document permission data while batch-loading grants. Viewer permissions are fetched in batches (see ``_bulk_get_viewer_permissions``), but documents are yielded individually so a progress bar wrapped around this stream advances per document rather than - jumping a whole chunk at a time. ``__len__`` lets the progress helper still - discover the total (it inspects ``QuerySet``/``Sized``). + jumping a whole chunk at a time. ``__len__`` (inherited from + ``QuerySetStream``) lets the progress helper still discover the total (it + inspects ``QuerySet``/``Sized``). The viewer and group ids travel with each document in the yielded pair rather than through a separate mutable attribute, so the pairing survives @@ -1051,18 +1053,11 @@ class _DocumentViewerStream: generator in lock-step. """ - def __init__(self, documents: QuerySet[Document], *, chunk_size: int) -> None: - self._documents = documents - self._chunk_size = chunk_size - - def __len__(self) -> int: - return self._documents.count() - def __iter__(self) -> Iterator[tuple[Document, ViewerGrant]]: # iterator(chunk_size=…) streams from a server-side cursor instead of # materialising the whole queryset in memory; since Django 4.1 it still # honours prefetch_related, running the prefetches one batch at a time. - documents = self._documents.iterator(chunk_size=self._chunk_size) + documents = self._queryset.iterator(chunk_size=self._chunk_size) for chunk in chunked(documents, self._chunk_size): grants_by_pk = _bulk_get_viewer_permissions([doc.pk for doc in chunk]) for doc in chunk: diff --git a/src/documents/tests/test_utils.py b/src/documents/tests/test_utils.py new file mode 100644 index 000000000..af45880ee --- /dev/null +++ b/src/documents/tests/test_utils.py @@ -0,0 +1,35 @@ +import pytest_mock + +from documents.utils import QuerySetStream + + +class TestQuerySetStream: + def test_len_and_iter_delegate_to_streaming_queryset_methods( + self, + mocker: pytest_mock.MockerFixture, + ) -> None: + """ + GIVEN: + - A mock queryset + WHEN: + - A QuerySetStream wrapping it is measured and iterated + THEN: + - len() uses count() (not a materializing len()), and iteration + uses .iterator(chunk_size=...) (not plain iteration, which + would materialize the whole queryset, plus any prefetch + caches, into Django's own result cache at once) + """ + mock_queryset = mocker.MagicMock() + mock_queryset.count.return_value = 42 + mock_queryset.iterator.return_value = iter(["row-1", "row-2"]) + streamed = QuerySetStream(mock_queryset, chunk_size=1000) + + assert len(streamed) == 42 + assert list(streamed) == ["row-1", "row-2"] + # count.call_count isn't asserted exactly: list()'s own size-hint + # optimization calls len(streamed) again internally, on top of the + # explicit len() call above -- both legitimately delegate to + # count(), so only the delegation itself (not the call count) is + # the thing being verified here. + mock_queryset.count.assert_called_with() + mock_queryset.iterator.assert_called_once_with(chunk_size=1000) diff --git a/src/documents/utils.py b/src/documents/utils.py index 2ed6758dd..d6e505aa4 100644 --- a/src/documents/utils.py +++ b/src/documents/utils.py @@ -3,16 +3,24 @@ import logging import shutil from collections.abc import Callable from collections.abc import Iterable +from collections.abc import Iterator from os import utime from pathlib import Path from subprocess import CompletedProcess from subprocess import run +from typing import TYPE_CHECKING +from typing import Generic from typing import TypeVar from django.conf import settings from PIL import Image +if TYPE_CHECKING: + from django.db.models import Model + from django.db.models import QuerySet + _T = TypeVar("_T") +_M = TypeVar("_M", bound="Model") # A function that wraps an iterable — typically used to inject a progress bar. IterWrapper = Callable[[Iterable[_T]], Iterable[_T]] @@ -23,6 +31,40 @@ def identity(iterable: Iterable[_T]) -> Iterable[_T]: return iterable +class QuerySetStream(Generic[_M]): + """Stream a QuerySet via .iterator(chunk_size=...) instead of + materializing it (plus any prefetch caches) all at once, while still + supporting len() via count() so a progress bar wrapped around this + (e.g. via IterWrapper) shows a real total instead of falling back to + indeterminate. + + Plain QuerySet iteration (``for row in queryset:``) is not lazy: Django + fetches every matching row in one query and caches the fully-hydrated + result in the queryset's own ``_result_cache`` before yielding the + first item -- wrapping that in a progress bar or any other iterable + adapter doesn't change this, since none of them alter how the + underlying queryset produces items. ``.iterator(chunk_size=...)`` is + the specific Django API that bypasses ``_result_cache`` and streams + from a server-side cursor instead, discarding each chunk once consumed + (and, since Django 4.1, still honours ``prefetch_related``, running the + prefetches one batch at a time rather than for the whole queryset). + + Subclass to layer additional per-batch work on top (see + ``documents.search._backend._DocumentViewerStream``) by overriding + ``__iter__`` -- ``__len__`` and the constructor are inherited for free. + """ + + def __init__(self, queryset: "QuerySet[_M]", *, chunk_size: int) -> None: + self._queryset = queryset + self._chunk_size = chunk_size + + def __len__(self) -> int: + return self._queryset.count() + + def __iter__(self) -> Iterator[_M]: + return iter(self._queryset.iterator(chunk_size=self._chunk_size)) + + def _coerce_to_path( source: Path | str, dest: Path | str, diff --git a/src/paperless_ai/indexing.py b/src/paperless_ai/indexing.py index cd9a5deee..9156d36e3 100644 --- a/src/paperless_ai/indexing.py +++ b/src/paperless_ai/indexing.py @@ -1,6 +1,5 @@ import logging from collections.abc import Iterable -from collections.abc import Iterator from contextlib import contextmanager from datetime import timedelta from typing import TYPE_CHECKING @@ -15,6 +14,7 @@ from filelock import Timeout from documents.models import Document from documents.models import PaperlessTask from documents.utils import IterWrapper +from documents.utils import QuerySetStream from documents.utils import identity from paperless.config import AIConfig from paperless_ai.db import db_connection_released @@ -23,7 +23,6 @@ from paperless_ai.embedding import get_configured_model_name from paperless_ai.embedding import get_embedding_model if TYPE_CHECKING: - from django.db.models import QuerySet from llama_index.core.schema import BaseNode from paperless_ai.vector_store import PaperlessSqliteVecVectorStore @@ -35,35 +34,11 @@ RAG_NUM_OUTPUT = 512 RAG_CHUNK_OVERLAP = 200 # update_llm_index(): row count per .iterator() batch when streaming -# documents for a rebuild/update, matching _DocumentViewerStream's chunk -# size in documents/search/_backend.py. +# documents for a rebuild/update via QuerySetStream, matching +# _DocumentViewerStream's chunk size in documents/search/_backend.py. _INDEX_STREAM_CHUNK_SIZE = 1000 -class _StreamedDocuments: - """A thin QuerySet wrapper that streams via ``.iterator()`` instead of - materializing every row (plus its ``content`` and prefetch caches) into - memory at once, while still supporting ``len()`` so ``iter_wrapper``'s - progress bar shows a real total instead of falling back to indeterminate. - Same shape as ``documents/search/_backend.py``'s ``_DocumentViewerStream``, - just without that class's extra per-batch permission lookup -- nothing - here needs one. - """ - - def __init__(self, documents: "QuerySet[Document]") -> None: - self._documents = documents - - def __len__(self) -> int: - return self._documents.count() - - def __iter__(self) -> Iterator[Document]: - # iterator(chunk_size=...) streams from a server-side cursor instead - # of materializing the whole queryset in memory; since Django 4.1 it - # still honours prefetch_related, running the prefetches one batch - # at a time. - return iter(self._documents.iterator(chunk_size=_INDEX_STREAM_CHUNK_SIZE)) - - def queue_llm_index_update_if_needed(*, rebuild: bool, reason: str) -> bool: # NOTE: The check-then-enqueue sequence below is non-atomic (TOCTOU): two # concurrent workers can both observe no running task and both enqueue a @@ -441,7 +416,9 @@ def update_llm_index( if rebuild or not store.table_exists(): logger.info("Rebuilding LLM index.") store.drop_table() - for document in iter_wrapper(_StreamedDocuments(documents)): + for document in iter_wrapper( + QuerySetStream(documents, chunk_size=_INDEX_STREAM_CHUNK_SIZE), + ): nodes = build_document_node(document, chunk_size=chunk_size) _embed_nodes(nodes, embed_model) store.add(nodes) @@ -454,7 +431,9 @@ def update_llm_index( ) existing = store.get_modified_times() changed = 0 - for document in iter_wrapper(_StreamedDocuments(scoped_documents)): + for document in iter_wrapper( + QuerySetStream(scoped_documents, chunk_size=_INDEX_STREAM_CHUNK_SIZE), + ): doc_id = str(document.id) if existing.get(doc_id) == document.modified.isoformat(): continue diff --git a/src/paperless_ai/tests/test_ai_indexing.py b/src/paperless_ai/tests/test_ai_indexing.py index c018b9a80..45c7bc3b6 100644 --- a/src/paperless_ai/tests/test_ai_indexing.py +++ b/src/paperless_ai/tests/test_ai_indexing.py @@ -187,45 +187,6 @@ def test_truncate_embedding_query_returns_single_chunk() -> None: assert "word199" not in result -class TestStreamedDocuments: - """_StreamedDocuments streams via .iterator() instead of materializing - the whole queryset (plus its content and prefetch caches) in memory at - once, while still supporting len() so a progress bar wrapped around it - shows a real total. - """ - - def test_len_and_iter_delegate_to_streaming_queryset_methods( - self, - mocker: pytest_mock.MockerFixture, - ) -> None: - """ - GIVEN: - - A mock queryset - WHEN: - - A _StreamedDocuments wrapping it is measured and iterated - THEN: - - len() uses count() (not a materializing len()), and iteration - uses .iterator(chunk_size=...) (not plain iteration, which - would materialize prefetches for the whole queryset at once) - """ - mock_queryset = mocker.MagicMock() - mock_queryset.count.return_value = 42 - mock_queryset.iterator.return_value = iter(["doc-1", "doc-2"]) - streamed = indexing._StreamedDocuments(mock_queryset) - - assert len(streamed) == 42 - assert list(streamed) == ["doc-1", "doc-2"] - # count.call_count isn't asserted exactly: list()'s own size-hint - # optimization calls len(streamed) again internally, on top of the - # explicit len() call above -- both legitimately delegate to - # count(), so only the delegation itself (not the call count) is - # the thing being verified here. - mock_queryset.count.assert_called_with() - mock_queryset.iterator.assert_called_once_with( - chunk_size=indexing._INDEX_STREAM_CHUNK_SIZE, - ) - - @pytest.mark.django_db def test_update_llm_index( temp_llm_index_dir: Path, From 95a48dd685c55d68bb5b2d67b2fdca606cbee9d8 Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Sat, 1 Aug 2026 07:20:28 -0700 Subject: [PATCH 45/77] Chore: Vector Store table-gateway module (document_chunks/document_meta/index_meta) (#13428) * Feature: add table-gateway module for document_chunks/document_meta/index_meta Co-Authored-By: Claude Sonnet 5 * Fix: address code review feedback on table gateways - Document sqlite3.Row row_factory precondition in module docstring - Strengthen test_create_is_idempotent to verify populated table survives - Collapse three roundtrip tests into one @pytest.mark.parametrize Co-Authored-By: Claude Sonnet 5 --------- Co-authored-by: Claude Sonnet 5 --- src/paperless_ai/tables.py | 229 +++++++++++++++++++ src/paperless_ai/tests/test_tables.py | 306 ++++++++++++++++++++++++++ 2 files changed, 535 insertions(+) create mode 100644 src/paperless_ai/tables.py create mode 100644 src/paperless_ai/tests/test_tables.py diff --git a/src/paperless_ai/tables.py b/src/paperless_ai/tables.py new file mode 100644 index 000000000..bc8e962a0 --- /dev/null +++ b/src/paperless_ai/tables.py @@ -0,0 +1,229 @@ +"""Thin gateways over the plain relational side tables that sit alongside the +vec0 table. Each method takes the sqlite3.Connection to operate on +explicitly, rather than owning one -- the store swaps connections during +compact()/migration, and migrations always work across two connections +(src_conn, dst_conn) at once. + +PRECONDITION: Callers must set conn.row_factory = sqlite3.Row before passing a +connection to any of these gateways' read methods. The read methods across all +three classes (DocumentChunksTable.chunk_ids_for_document, IndexMetaTable._get, +DocumentMetaTable.all_modified_times, DocumentMetaTable.copy_all) use +row["column_name"] dictionary-style indexing, which requires sqlite3.Row as the +row factory -- without it, sqlite3.Row is not set, rows are returned as plain +tuples, and tuple indices must be integers, raising TypeError. +""" + +import sqlite3 +from collections.abc import Iterable +from typing import NamedTuple + + +class ChunkRow(NamedTuple): + chunk_id: str + document_id: int + + +class DocumentMetaRow(NamedTuple): + document_id: int + modified: str + + +class DocumentChunksTable: + """chunk_id -> document_id, indexed by document_id. Gives O(1) + per-document chunk lookup that vec0's own document_id metadata column + cannot (see PaperlessSqliteVecVectorStore._delete_chunks_by_document_id). + """ + + @staticmethod + def create(conn: sqlite3.Connection) -> None: + conn.execute( + "CREATE TABLE IF NOT EXISTS document_chunks " + "(chunk_id TEXT PRIMARY KEY, document_id INTEGER NOT NULL)", + ) + conn.execute( + "CREATE INDEX IF NOT EXISTS idx_document_chunks_document_id " + "ON document_chunks (document_id)", + ) + + @staticmethod + def insert_many(conn: sqlite3.Connection, rows: Iterable[ChunkRow]) -> None: + """rows must already be batch-bounded by the caller (e.g. vec0's own + fetchmany() loop) -- this never reads, so it can't itself introduce + an unbounded scan, but a whole-table iterable defeats the point.""" + conn.executemany( + "INSERT INTO document_chunks (chunk_id, document_id) VALUES (?, ?)", + rows, + ) + + @staticmethod + def chunk_ids_for_document( + conn: sqlite3.Connection, + document_id: int, + ) -> list[str]: + return [ + row["chunk_id"] + for row in conn.execute( + "SELECT chunk_id FROM document_chunks WHERE document_id = ?", + (document_id,), + ).fetchall() + ] + + @staticmethod + def delete_for_document(conn: sqlite3.Connection, document_id: int) -> None: + conn.execute( + "DELETE FROM document_chunks WHERE document_id = ?", + (document_id,), + ) + + @staticmethod + def delete_all(conn: sqlite3.Connection) -> None: + conn.execute("DELETE FROM document_chunks") + + @staticmethod + def count(conn: sqlite3.Connection) -> int: + """Cheap stand-in for vec0's own row count -- see compact().""" + return conn.execute("SELECT count(*) FROM document_chunks").fetchone()[0] + + +class DocumentMetaTable: + """document_id -> modified, one row per document. Lives outside vec0 + because vec0 only inlines TEXT metadata up to 12 bytes and `modified` + (an ISO timestamp) is always longer. + """ + + @staticmethod + def create(conn: sqlite3.Connection) -> None: + conn.execute( + "CREATE TABLE IF NOT EXISTS document_meta " + "(document_id INTEGER PRIMARY KEY, modified TEXT NOT NULL)", + ) + + @staticmethod + def upsert_many( + conn: sqlite3.Connection, + rows: Iterable[DocumentMetaRow], + ) -> None: + conn.executemany( + "INSERT INTO document_meta (document_id, modified) VALUES (?, ?) " + "ON CONFLICT(document_id) DO UPDATE SET modified = excluded.modified", + rows, + ) + + @staticmethod + def delete_for_document(conn: sqlite3.Connection, document_id: int) -> None: + conn.execute( + "DELETE FROM document_meta WHERE document_id = ?", + (document_id,), + ) + + @staticmethod + def delete_all(conn: sqlite3.Connection) -> None: + conn.execute("DELETE FROM document_meta") + + @staticmethod + def copy_all( + src_conn: sqlite3.Connection, + dst_conn: sqlite3.Connection, + batch_size: int, + ) -> None: + """Stream document_meta from src_conn into dst_conn in bounded + batches. The *only* sanctioned way to move this table across + connections (compact()/migrations) -- an unbounded fetchall here + would defeat the same OOM-avoidance the vec0 row copy already relies + on. batch_size has no default: forces the call site to think about + it (pass COMPACT_BATCH_SIZE).""" + cursor = src_conn.execute( + "SELECT document_id, modified FROM document_meta", + ) + while batch := cursor.fetchmany(batch_size): + DocumentMetaTable.upsert_many( + dst_conn, + (DocumentMetaRow(r["document_id"], r["modified"]) for r in batch), + ) + + @staticmethod + def all_modified_times(conn: sqlite3.Connection) -> dict[str, str]: + """Full document_id -> modified map, for get_modified_times()'s + public API only. One unbounded read by design (existing behavior). + Never use this for cross-connection copying; see copy_all().""" + return { + str(row["document_id"]): str(row["modified"] or "") + for row in conn.execute( + "SELECT document_id, modified FROM document_meta", + ) + } + + +class IndexMetaTable: + """Typed accessors over index_meta's key/value rows -- replaces + PaperlessSqliteVecVectorStore._meta_get_on/_meta_set_on, which returned + untyped str | None regardless of whether the key held an int (dim, + schema_version, total_inserts) or a string (embed_model). + """ + + @staticmethod + def create(conn: sqlite3.Connection) -> None: + conn.execute( + "CREATE TABLE IF NOT EXISTS index_meta (key TEXT PRIMARY KEY, value TEXT)", + ) + + @staticmethod + def _get(conn: sqlite3.Connection, key: str) -> str | None: + row = conn.execute( + "SELECT value FROM index_meta WHERE key = ?", + (key,), + ).fetchone() + return row["value"] if row else None + + @staticmethod + def _set(conn: sqlite3.Connection, key: str, value: str) -> None: + conn.execute( + "INSERT INTO index_meta (key, value) VALUES (?, ?) " + "ON CONFLICT(key) DO UPDATE SET value = excluded.value", + (key, value), + ) + + @staticmethod + def get_dim(conn: sqlite3.Connection) -> int | None: + value = IndexMetaTable._get(conn, "dim") + return int(value) if value is not None else None + + @staticmethod + def set_dim(conn: sqlite3.Connection, dim: int) -> None: + IndexMetaTable._set(conn, "dim", str(dim)) + + @staticmethod + def get_embed_model(conn: sqlite3.Connection) -> str | None: + return IndexMetaTable._get(conn, "embed_model") + + @staticmethod + def set_embed_model(conn: sqlite3.Connection, name: str) -> None: + IndexMetaTable._set(conn, "embed_model", name) + + @staticmethod + def get_schema_version(conn: sqlite3.Connection) -> int | None: + value = IndexMetaTable._get(conn, "schema_version") + return int(value) if value is not None else None + + @staticmethod + def set_schema_version(conn: sqlite3.Connection, version: int) -> None: + IndexMetaTable._set(conn, "schema_version", str(version)) + + @staticmethod + def get_total_inserts(conn: sqlite3.Connection) -> int: + value = IndexMetaTable._get(conn, "total_inserts") + return int(value) if value is not None else 0 + + @staticmethod + def increment_total_inserts(conn: sqlite3.Connection, count: int) -> None: + current = IndexMetaTable.get_total_inserts(conn) + IndexMetaTable._set(conn, "total_inserts", str(current + count)) + + @staticmethod + def reset_total_inserts(conn: sqlite3.Connection, count: int) -> None: + """Set total_inserts to an absolute value -- distinct from + increment_total_inserts(): used by compact()'s rebuild and by + m0001_v1_to_v2 after copying live rows into a fresh file, where + total_inserts must become exactly the live row count, not add to + whatever the source file's counter held.""" + IndexMetaTable._set(conn, "total_inserts", str(count)) diff --git a/src/paperless_ai/tests/test_tables.py b/src/paperless_ai/tests/test_tables.py new file mode 100644 index 000000000..51cf79b93 --- /dev/null +++ b/src/paperless_ai/tests/test_tables.py @@ -0,0 +1,306 @@ +import sqlite3 +from collections.abc import Generator + +import pytest + +from paperless_ai.tables import ChunkRow +from paperless_ai.tables import DocumentChunksTable +from paperless_ai.tables import DocumentMetaRow +from paperless_ai.tables import DocumentMetaTable +from paperless_ai.tables import IndexMetaTable + + +@pytest.fixture +def conn() -> Generator[sqlite3.Connection, None, None]: + connection = sqlite3.connect(":memory:") + connection.row_factory = sqlite3.Row + try: + yield connection + finally: + connection.close() + + +class TestDocumentChunksTable: + def test_create_is_idempotent(self, conn: sqlite3.Connection) -> None: + """ + GIVEN: + - A bare sqlite3 connection + WHEN: + - create() is called, a row is inserted, then create() is called again + THEN: + - No error is raised and the row survives uncorrupted + """ + DocumentChunksTable.create(conn) + DocumentChunksTable.insert_many(conn, [ChunkRow("c1", 1)]) + DocumentChunksTable.create(conn) + assert DocumentChunksTable.chunk_ids_for_document(conn, 1) == ["c1"] + + def test_insert_many_then_lookup_by_document_id( + self, + conn: sqlite3.Connection, + ) -> None: + """ + GIVEN: + - An empty document_chunks table + WHEN: + - Two chunks for document 1 and one for document 2 are inserted + THEN: + - chunk_ids_for_document returns exactly the matching chunk ids + """ + DocumentChunksTable.create(conn) + DocumentChunksTable.insert_many( + conn, + [ChunkRow("c1", 1), ChunkRow("c2", 1), ChunkRow("c3", 2)], + ) + assert sorted(DocumentChunksTable.chunk_ids_for_document(conn, 1)) == [ + "c1", + "c2", + ] + assert DocumentChunksTable.chunk_ids_for_document(conn, 2) == ["c3"] + assert DocumentChunksTable.chunk_ids_for_document(conn, 999) == [] + + def test_delete_for_document_removes_only_that_document( + self, + conn: sqlite3.Connection, + ) -> None: + """ + GIVEN: + - Chunks for two different documents + WHEN: + - delete_for_document() is called for one of them + THEN: + - Only that document's chunks are removed + """ + DocumentChunksTable.create(conn) + DocumentChunksTable.insert_many( + conn, + [ChunkRow("c1", 1), ChunkRow("c2", 2)], + ) + DocumentChunksTable.delete_for_document(conn, 1) + assert DocumentChunksTable.chunk_ids_for_document(conn, 1) == [] + assert DocumentChunksTable.chunk_ids_for_document(conn, 2) == ["c2"] + + def test_delete_all_clears_every_row(self, conn: sqlite3.Connection) -> None: + """ + GIVEN: + - Chunks for multiple documents + WHEN: + - delete_all() is called + THEN: + - count() returns 0 + """ + DocumentChunksTable.create(conn) + DocumentChunksTable.insert_many( + conn, + [ChunkRow("c1", 1), ChunkRow("c2", 2)], + ) + DocumentChunksTable.delete_all(conn) + assert DocumentChunksTable.count(conn) == 0 + + def test_count_reflects_live_rows(self, conn: sqlite3.Connection) -> None: + """ + GIVEN: + - An empty document_chunks table + WHEN: + - Rows are inserted then one document's rows are deleted + THEN: + - count() reflects the remaining row count + """ + DocumentChunksTable.create(conn) + DocumentChunksTable.insert_many( + conn, + [ChunkRow("c1", 1), ChunkRow("c2", 1), ChunkRow("c3", 2)], + ) + assert DocumentChunksTable.count(conn) == 3 + DocumentChunksTable.delete_for_document(conn, 1) + assert DocumentChunksTable.count(conn) == 1 + + +class TestDocumentMetaTable: + def test_upsert_many_then_all_modified_times( + self, + conn: sqlite3.Connection, + ) -> None: + """ + GIVEN: + - An empty document_meta table + WHEN: + - Two documents' modified timestamps are upserted + THEN: + - all_modified_times() returns both, keyed by str(document_id) + """ + DocumentMetaTable.create(conn) + DocumentMetaTable.upsert_many( + conn, + [ + DocumentMetaRow(1, "2026-01-01T00:00:00"), + DocumentMetaRow(2, "2026-02-02T00:00:00"), + ], + ) + assert DocumentMetaTable.all_modified_times(conn) == { + "1": "2026-01-01T00:00:00", + "2": "2026-02-02T00:00:00", + } + + def test_upsert_many_overwrites_existing_value( + self, + conn: sqlite3.Connection, + ) -> None: + """ + GIVEN: + - A document_meta row for document 1 + WHEN: + - upsert_many() is called again with a new modified value for + the same document_id + THEN: + - The stored value is replaced, not duplicated + """ + DocumentMetaTable.create(conn) + DocumentMetaTable.upsert_many(conn, [DocumentMetaRow(1, "old")]) + DocumentMetaTable.upsert_many(conn, [DocumentMetaRow(1, "new")]) + assert DocumentMetaTable.all_modified_times(conn) == {"1": "new"} + + def test_delete_for_document_removes_only_that_row( + self, + conn: sqlite3.Connection, + ) -> None: + """ + GIVEN: + - document_meta rows for two documents + WHEN: + - delete_for_document() is called for one of them + THEN: + - Only that document's row is removed + """ + DocumentMetaTable.create(conn) + DocumentMetaTable.upsert_many( + conn, + [DocumentMetaRow(1, "a"), DocumentMetaRow(2, "b")], + ) + DocumentMetaTable.delete_for_document(conn, 1) + assert DocumentMetaTable.all_modified_times(conn) == {"2": "b"} + + def test_delete_all_clears_every_row(self, conn: sqlite3.Connection) -> None: + """ + GIVEN: + - document_meta rows for multiple documents + WHEN: + - delete_all() is called + THEN: + - all_modified_times() returns an empty dict + """ + DocumentMetaTable.create(conn) + DocumentMetaTable.upsert_many( + conn, + [DocumentMetaRow(1, "a"), DocumentMetaRow(2, "b")], + ) + DocumentMetaTable.delete_all(conn) + assert DocumentMetaTable.all_modified_times(conn) == {} + + def test_copy_all_streams_every_row_to_destination( + self, + conn: sqlite3.Connection, + ) -> None: + """ + GIVEN: + - A source connection with document_meta rows for 5 documents + - A separate, empty destination connection + WHEN: + - copy_all() is called with a batch size smaller than the row + count, forcing multiple fetchmany() cycles + THEN: + - Every row is present on the destination connection + """ + DocumentMetaTable.create(conn) + DocumentMetaTable.upsert_many( + conn, + [DocumentMetaRow(i, f"modified-{i}") for i in range(5)], + ) + dst_conn = sqlite3.connect(":memory:") + dst_conn.row_factory = sqlite3.Row + try: + DocumentMetaTable.create(dst_conn) + DocumentMetaTable.copy_all(conn, dst_conn, batch_size=2) + assert DocumentMetaTable.all_modified_times(dst_conn) == { + str(i): f"modified-{i}" for i in range(5) + } + finally: + dst_conn.close() + + +class TestIndexMetaTable: + @pytest.mark.parametrize( + ("setter_name", "getter_name", "value"), + [ + ("set_dim", "get_dim", 384), + ("set_embed_model", "get_embed_model", "model-a"), + ("set_schema_version", "get_schema_version", 2), + ], + ) + def test_typed_accessor_roundtrip( + self, + conn: sqlite3.Connection, + setter_name: str, + getter_name: str, + value: int | str, + ) -> None: + """ + GIVEN: + - An empty index_meta table + WHEN: + - A typed accessor's setter is called then the getter is read back + THEN: + - The same value is returned, correctly typed (int or str) + """ + IndexMetaTable.create(conn) + getter = getattr(IndexMetaTable, getter_name) + setter = getattr(IndexMetaTable, setter_name) + assert getter(conn) is None + setter(conn, value) + assert getter(conn) == value + + def test_total_inserts_starts_at_zero(self, conn: sqlite3.Connection) -> None: + """ + GIVEN: + - An empty index_meta table + WHEN: + - get_total_inserts() is read before anything is set + THEN: + - 0 is returned + """ + IndexMetaTable.create(conn) + assert IndexMetaTable.get_total_inserts(conn) == 0 + + def test_increment_total_inserts_accumulates( + self, + conn: sqlite3.Connection, + ) -> None: + """ + GIVEN: + - An empty index_meta table + WHEN: + - increment_total_inserts() is called twice + THEN: + - get_total_inserts() returns the running sum + """ + IndexMetaTable.create(conn) + IndexMetaTable.increment_total_inserts(conn, 5) + IndexMetaTable.increment_total_inserts(conn, 3) + assert IndexMetaTable.get_total_inserts(conn) == 8 + + def test_reset_total_inserts_sets_absolute_value( + self, + conn: sqlite3.Connection, + ) -> None: + """ + GIVEN: + - A total_inserts counter already at a high value + WHEN: + - reset_total_inserts() is called with a lower value + THEN: + - get_total_inserts() returns exactly that value, not a sum + """ + IndexMetaTable.create(conn) + IndexMetaTable.increment_total_inserts(conn, 100) + IndexMetaTable.reset_total_inserts(conn, 7) + assert IndexMetaTable.get_total_inserts(conn) == 7 From e5b27df99c215d2ae62db1728e56af676e725d9d Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Sat, 1 Aug 2026 07:20:29 -0700 Subject: [PATCH 46/77] Feature: vector store schema v2 document_chunks/document_meta side tables, INTEGER document_id, point-delete (#13435) * Feature: schema v2 -- document_chunks/document_meta side tables, document_id INTEGER, point-delete Rewrites the sqlite-vec vector store's on-disk schema: document_id becomes an INTEGER vec0 metadata column (was TEXT), modified moves out of vec0 into a new document_meta side table, and a new document_chunks side table gives O(1) per-document chunk lookup for delete/upsert instead of a full vec0 scan. compact() now streams document_chunks and document_meta across the file-swap rebuild too (previously document_meta would have gone silently empty after the first compaction). drop_table() clears both side tables. Adds the single frozen m0001_v1_to_v2 migration, converting a real, historically-shaped v1 store (the shape shipped since v3.0.0) into the v2 shape in one streaming pass, with its own hardcoded DDL rather than delegating to any "current schema" helper. SCHEMA_VERSION bumps 1 -> 2. * Fix: strengthen two vacuous Task 4 regression tests test_migration_never_delegates_to_current_schema_helpers never actually ran the migration (missing check_and_run_migrations() call) and its source-text assertion was tautological (the "or DROP TABLE in source" clause was always true). Now runs the real migration and asserts spy call counts instead: DocumentChunksTable.create/DocumentMetaTable.create are each called exactly 3 times (construction, rebuild temp file, post-swap reopen -- all via _open_connection, never from inside apply()), and _create_vec_table is never called from the migration path. test_drop_table_clears_modified_times asserted via get_modified_times(), which short-circuits on table_exists() -- checking only the vec0 table that drop_table() drops first -- so the assertion held even if DocumentMetaTable.delete_all() were never called. Now asserts directly against document_meta and document_chunks row counts. * Perf: dedupe table_exists() lookups, atomic insert counter, fewer connections in update_llm_index() * Fix: guard compact() against unmigrated stores, apply final-review cleanups compact() had no migration guard: on a v1-schema store, document_chunks reads 0 (freshly created empty) while total_inserts reflects the real cumulative count, so the bloat check nearly always rebuilt -- silently losing document_meta (copy_all reads from the empty v1 table) while schema_version copied across unchanged, leaving the store permanently unmigratable. compact() now calls has_pending_migration() and no-ops with a warning instead. Also folds in five minor final-review findings: drop _rebuild_into's unused int return, hoist test-local imports to module level in test_vector_store.py, note in TestMigrations' docstring that its fake structural migrations only exercise dispatch (not full schema correctness), restore the comment explaining why _row() requires document_id, and tighten increment_total_inserts' docstring to not imply general concurrency safety beyond its single atomic statement. Co-Authored-By: Claude Sonnet 5 --------- Co-authored-by: Claude Sonnet 5 --- src/paperless_ai/indexing.py | 9 +- src/paperless_ai/migrations/m0001_v1_to_v2.py | 118 ++++ src/paperless_ai/tables.py | 20 +- src/paperless_ai/tests/test_ai_indexing.py | 39 ++ src/paperless_ai/tests/test_tables.py | 34 ++ src/paperless_ai/tests/test_vector_store.py | 526 ++++++++++++++---- src/paperless_ai/vector_store.py | 424 +++++++++----- 7 files changed, 913 insertions(+), 257 deletions(-) create mode 100644 src/paperless_ai/migrations/m0001_v1_to_v2.py diff --git a/src/paperless_ai/indexing.py b/src/paperless_ai/indexing.py index 9156d36e3..59cfb6d9d 100644 --- a/src/paperless_ai/indexing.py +++ b/src/paperless_ai/indexing.py @@ -399,12 +399,11 @@ def update_llm_index( config = AIConfig() model_name = get_configured_model_name(config) - if not rebuild and llm_index_exists(): + if not rebuild: with read_store() as store: - config_mismatch = store.config_mismatch(model_name) - if config_mismatch: - logger.warning("Embedding model changed; forcing LLM index rebuild.") - rebuild = True + if store.table_exists() and store.config_mismatch(model_name): + logger.warning("Embedding model changed; forcing LLM index rebuild.") + rebuild = True if no_documents: logger.warning("No documents found to index.") diff --git a/src/paperless_ai/migrations/m0001_v1_to_v2.py b/src/paperless_ai/migrations/m0001_v1_to_v2.py new file mode 100644 index 000000000..c7edf7f41 --- /dev/null +++ b/src/paperless_ai/migrations/m0001_v1_to_v2.py @@ -0,0 +1,118 @@ +import sqlite3 + +from paperless_ai.migrations import MIGRATIONS +from paperless_ai.migrations import Migration +from paperless_ai.tables import ChunkRow +from paperless_ai.tables import DocumentChunksTable +from paperless_ai.tables import DocumentMetaRow +from paperless_ai.tables import DocumentMetaTable +from paperless_ai.tables import IndexMetaTable +from paperless_ai.vector_store import COMPACT_BATCH_SIZE +from paperless_ai.vector_store import DEFAULT_TABLE_NAME + +# v1's vec0 shape has never changed since it first shipped and is the ONLY +# real upgrade path -- no store has ever existed at any intermediate +# version, so this migration goes straight from that shipped shape to the +# final v2 target in one pass. +_V1_SELECT = ( + "SELECT id, document_id, modified, node_content, embedding FROM " + + DEFAULT_TABLE_NAME +) + + +def _migrate_v1_to_v2( + src_conn: sqlite3.Connection, + dst_conn: sqlite3.Connection, + dim: int, +) -> None: + """v1 -> v2: document_id TEXT -> INTEGER, modified moves out of vec0 + into document_meta, document_chunks added for O(1) per-document delete. + + Freezes its own v2-shaped vec0/document_chunks/document_meta DDL inline, + rather than delegating to the gateway "create table" helpers or the + store's own vec0-table builder (all of which always reflect the + *current* schema): a later schema version changing any of these tables' + shape must not silently change what this migration produces for someone + upgrading straight from v1. + _open_connection() already created document_chunks/document_meta on + dst_conn (reflecting current HEAD) as a side effect of opening it for + this migration's rebuild -- DROP them first so this migration's own + frozen CREATE TABLE isn't a silent no-op against that. Safe here because + dst_conn is a freshly opened, empty rebuild file with nothing written + yet. + """ + dst_conn.execute( # nosemgrep: python.sqlalchemy.security.sqlalchemy-execute-raw-query.sqlalchemy-execute-raw-query + "CREATE VIRTUAL TABLE " + + DEFAULT_TABLE_NAME + + " USING vec0(" + + "id TEXT PRIMARY KEY," + + " document_id INTEGER," + + " +node_content TEXT," + + " embedding float[" + + str(int(dim)) + + "] distance_metric=cosine" + + ")", + ) + dst_conn.execute("DROP TABLE IF EXISTS document_chunks") + dst_conn.execute( + "CREATE TABLE document_chunks " + "(chunk_id TEXT PRIMARY KEY, document_id INTEGER NOT NULL)", + ) + dst_conn.execute( + "CREATE INDEX idx_document_chunks_document_id ON document_chunks (document_id)", + ) + dst_conn.execute("DROP TABLE IF EXISTS document_meta") + dst_conn.execute( + "CREATE TABLE document_meta " + "(document_id INTEGER PRIMARY KEY, modified TEXT NOT NULL)", + ) + + IndexMetaTable.set_dim(dst_conn, dim) + embed_model = IndexMetaTable.get_embed_model(src_conn) + if embed_model is not None: + IndexMetaTable.set_embed_model(dst_conn, embed_model) + + dst_conn.execute("BEGIN IMMEDIATE") + src_cursor = src_conn.execute(_V1_SELECT) + live = 0 + while batch := src_cursor.fetchmany(COMPACT_BATCH_SIZE): + vec0_rows = [] + chunk_rows = [] + meta_by_document: dict[int, str] = {} + for r in batch: + document_id = int(r["document_id"]) + vec0_rows.append( + (r["id"], document_id, r["node_content"], bytes(r["embedding"])), + ) + chunk_rows.append(ChunkRow(r["id"], document_id)) + meta_by_document[document_id] = str(r["modified"] or "") + dst_conn.executemany( + "INSERT INTO " + + DEFAULT_TABLE_NAME + + " (id, document_id, node_content, embedding) VALUES (?, ?, ?, ?)", + vec0_rows, + ) + DocumentChunksTable.insert_many(dst_conn, chunk_rows) + DocumentMetaTable.upsert_many( + dst_conn, + (DocumentMetaRow(doc_id, mod) for doc_id, mod in meta_by_document.items()), + ) + live += len(batch) + # This migration only ever copies live rows (like compact()), so the + # cumulative counter resets to match -- the new file has no bloat yet. + IndexMetaTable.reset_total_inserts(dst_conn, live) + dst_conn.execute("COMMIT") + + +MIGRATIONS.append( + Migration( + from_version=1, + to_version=2, + kind="structural", + description=( + "document_id TEXT -> INTEGER; move modified into document_meta; " + "add document_chunks for O(1) per-document delete" + ), + apply=_migrate_v1_to_v2, + ), +) diff --git a/src/paperless_ai/tables.py b/src/paperless_ai/tables.py index bc8e962a0..f3ac5710f 100644 --- a/src/paperless_ai/tables.py +++ b/src/paperless_ai/tables.py @@ -216,8 +216,24 @@ class IndexMetaTable: @staticmethod def increment_total_inserts(conn: sqlite3.Connection, count: int) -> None: - current = IndexMetaTable.get_total_inserts(conn) - IndexMetaTable._set(conn, "total_inserts", str(current + count)) + """Add ``count`` to the stored counter in one SQL statement (INSERT + .. ON CONFLICT DO UPDATE with arithmetic), instead of a separate + read-then-write -- called once per add()/upsert_document(), so + halving the statement count here is a real, if small, per-call + saving. This only avoids a read-then-write race within this single + statement; it does not make the counter safe against concurrent + writers in general (callers still rely on the write FileLock for + that). index_meta.value has TEXT affinity, so the incremented + result is stored as its text representation -- get_total_inserts() + already expects that (int(value)), so this is not a behavior + change, only fewer statements. + """ + conn.execute( + "INSERT INTO index_meta (key, value) VALUES ('total_inserts', ?) " + "ON CONFLICT(key) DO UPDATE SET value = " + "CAST(index_meta.value AS INTEGER) + CAST(excluded.value AS INTEGER)", + (str(count),), + ) @staticmethod def reset_total_inserts(conn: sqlite3.Connection, count: int) -> None: diff --git a/src/paperless_ai/tests/test_ai_indexing.py b/src/paperless_ai/tests/test_ai_indexing.py index 45c7bc3b6..25d0a7204 100644 --- a/src/paperless_ai/tests/test_ai_indexing.py +++ b/src/paperless_ai/tests/test_ai_indexing.py @@ -253,6 +253,45 @@ def test_update_llm_index_rebuilds_on_model_name_change( assert store.stored_model_name() == "model-b" +@pytest.mark.django_db +def test_update_llm_index_merges_exists_and_config_mismatch_reads( + temp_llm_index_dir: Path, + real_document: Document, + mock_embed_model: FakeEmbedding, +) -> None: + # Build an initial index so the second call's table_exists()/ + # config_mismatch() checks have something real to check against. + with patch("documents.models.Document.objects.all") as mock_all: + mock_queryset = MagicMock() + mock_queryset.exists.return_value = True + mock_queryset.__iter__.return_value = iter([real_document]) + mock_queryset.select_related.return_value = mock_queryset + mock_queryset.prefetch_related.return_value = mock_queryset + mock_all.return_value = mock_queryset + indexing.update_llm_index(rebuild=True) + + with patch("documents.models.Document.objects.all") as mock_all: + mock_queryset = MagicMock() + mock_queryset.exists.return_value = True + mock_queryset.__iter__.return_value = iter([real_document]) + mock_queryset.select_related.return_value = mock_queryset + mock_queryset.prefetch_related.return_value = mock_queryset + mock_all.return_value = mock_queryset + with patch( + "paperless_ai.indexing.read_store", + wraps=indexing.read_store, + ) as read_store_spy: + indexing.update_llm_index(rebuild=False) + + # Documents exist, so the fast-exit check's `no_documents and ...` + # short-circuits before ever calling llm_index_exists() -- the only + # read_store() call left in this path is the merged table_exists()/ + # config_mismatch() check. Before this task's fix, that merged check + # was two separate read_store() calls (one inside llm_index_exists(), + # one for config_mismatch() right after) -- so this asserts 1, not 2. + assert read_store_spy.call_count == 1 + + @pytest.mark.django_db def test_update_llm_index_partial_update( temp_llm_index_dir: Path, diff --git a/src/paperless_ai/tests/test_tables.py b/src/paperless_ai/tests/test_tables.py index 51cf79b93..1feda711c 100644 --- a/src/paperless_ai/tests/test_tables.py +++ b/src/paperless_ai/tests/test_tables.py @@ -2,6 +2,7 @@ import sqlite3 from collections.abc import Generator import pytest +from pytest_mock import MockerFixture from paperless_ai.tables import ChunkRow from paperless_ai.tables import DocumentChunksTable @@ -288,6 +289,39 @@ class TestIndexMetaTable: IndexMetaTable.increment_total_inserts(conn, 3) assert IndexMetaTable.get_total_inserts(conn) == 8 + def test_increment_total_inserts_is_a_single_statement( + self, + mocker: MockerFixture, + ) -> None: + """ + GIVEN: + - An empty index_meta table + WHEN: + - increment_total_inserts() is called + THEN: + - Exactly one conn.execute() call is made (a single INSERT ... + ON CONFLICT DO UPDATE, not a separate read then write) + """ + + # sqlite3.Connection is an immutable C extension type with no + # instance __dict__, so mocker.spy(conn, "execute") can't shadow + # "execute" on a plain connection ("attribute 'execute' is + # read-only"). A trivial Python subclass gets a normal instance + # __dict__, making the instance spyable while still being a real, + # usable sqlite3.Connection. + class _SpyableConnection(sqlite3.Connection): + pass + + conn = sqlite3.connect(":memory:", factory=_SpyableConnection) + try: + conn.row_factory = sqlite3.Row + IndexMetaTable.create(conn) + execute_spy = mocker.spy(conn, "execute") + IndexMetaTable.increment_total_inserts(conn, 5) + assert execute_spy.call_count == 1 + finally: + conn.close() + def test_reset_total_inserts_sets_absolute_value( self, conn: sqlite3.Connection, diff --git a/src/paperless_ai/tests/test_vector_store.py b/src/paperless_ai/tests/test_vector_store.py index 908627d27..e4cf883bb 100644 --- a/src/paperless_ai/tests/test_vector_store.py +++ b/src/paperless_ai/tests/test_vector_store.py @@ -1,28 +1,35 @@ +import inspect import sqlite3 from collections.abc import Generator from pathlib import Path import pytest +import sqlite_vec from llama_index.core.schema import TextNode from llama_index.core.vector_stores.types import FilterOperator from llama_index.core.vector_stores.types import MetadataFilter from llama_index.core.vector_stores.types import MetadataFilters from llama_index.core.vector_stores.types import VectorStoreQuery +from pytest_mock import MockerFixture from paperless_ai.migrations import MIGRATIONS from paperless_ai.migrations import Migration +from paperless_ai.migrations import m0001_v1_to_v2 +from paperless_ai.tables import DocumentChunksTable +from paperless_ai.tables import DocumentMetaTable from paperless_ai.vector_store import DB_FILENAME from paperless_ai.vector_store import DEFAULT_TABLE_NAME from paperless_ai.vector_store import SCHEMA_VERSION from paperless_ai.vector_store import PaperlessSqliteVecVectorStore from paperless_ai.vector_store import _build_where +from paperless_ai.vector_store import _pack DIM = 16 def make_node( node_id: str, - document_id: str, + document_id: int, *, modified: str = "2026-06-10T00:00:00", seed: float = 0.0, @@ -59,13 +66,13 @@ def _query( ) -def _eq_filter(key: str, value: str): +def _eq_filter(key: str, value: int): return MetadataFilters( filters=[MetadataFilter(key=key, operator=FilterOperator.EQ, value=value)], ) -def _in_filter(document_ids: list[str]): +def _in_filter(document_ids: list[int]): return MetadataFilters( filters=[ MetadataFilter( @@ -77,7 +84,7 @@ def _in_filter(document_ids: list[str]): ) -def _ne_filter(document_id: str): +def _ne_filter(document_id: int): return MetadataFilters( filters=[ MetadataFilter( @@ -91,11 +98,11 @@ def _ne_filter(document_id: str): class TestCrud: def test_add_then_query_returns_node(self, store) -> None: - node = make_node("n1", "1") + node = make_node("n1", 1) assert store.add([node]) == ["n1"] result = _query(store, node.embedding, top_k=1) assert result.ids == ["n1"] - assert result.nodes[0].metadata["document_id"] == "1" + assert result.nodes[0].metadata["document_id"] == 1 # cosine distance of the identical vector is 0 -> similarity 1 assert result.similarities[0] == pytest.approx(1.0) @@ -108,58 +115,58 @@ class TestCrud: assert not store.table_exists() def test_delete_removes_all_chunks_of_document(self, store) -> None: - store.add([make_node("a1", "1"), make_node("a2", "1"), make_node("b1", "2")]) - store.delete("1") + store.add([make_node("a1", 1), make_node("a2", 1), make_node("b1", 2)]) + store.delete(1) result = _query(store, [0.0] * DIM, top_k=10) assert result.ids == ["b1"] def test_query_with_in_filter_scopes_results(self, store) -> None: store.add( [ - make_node("a1", "1", seed=0.0), - make_node("b1", "2", seed=1.0), - make_node("c1", "3", seed=2.0), + make_node("a1", 1, seed=0.0), + make_node("b1", 2, seed=1.0), + make_node("c1", 3, seed=2.0), ], ) - result = _query(store, [0.0] * DIM, top_k=10, filters=_in_filter(["2", "3"])) + result = _query(store, [0.0] * DIM, top_k=10, filters=_in_filter([2, 3])) assert sorted(result.ids) == ["b1", "c1"] def test_query_respects_top_k_with_filter(self, store) -> None: # k semantics: global top-k even with IN filters (document_id is a # metadata column, not a partition key -- see design doc). store.add( - [make_node(f"n{i}", str(i % 4), seed=float(i)) for i in range(12)], + [make_node(f"n{i}", i % 4, seed=float(i)) for i in range(12)], ) result = _query( store, [0.0] * DIM, top_k=3, - filters=_in_filter(["0", "1", "2", "3"]), + filters=_in_filter([0, 1, 2, 3]), ) assert len(result.ids) == 3 assert result.similarities == sorted(result.similarities, reverse=True) def test_get_nodes_filter_and_empty_paths(self, store) -> None: - assert store.get_nodes(filters=_in_filter(["1"])) == [] # no table yet - store.add([make_node("a1", "1"), make_node("b1", "2")]) - nodes = store.get_nodes(filters=_in_filter(["1"])) + assert store.get_nodes(filters=_in_filter([1])) == [] # no table yet + store.add([make_node("a1", 1), make_node("b1", 2)]) + nodes = store.get_nodes(filters=_in_filter([1])) assert [n.node_id for n in nodes] == ["a1"] assert nodes[0].embedding is not None - assert store.get_nodes(filters=_in_filter(["999"])) == [] + assert store.get_nodes(filters=_in_filter([999])) == [] def test_query_with_eq_filter_scopes_results(self, store) -> None: store.add( [ - make_node("a1", "1", seed=0.0), - make_node("b1", "2", seed=1.0), - make_node("c1", "3", seed=2.0), + make_node("a1", 1, seed=0.0), + make_node("b1", 2, seed=1.0), + make_node("c1", 3, seed=2.0), ], ) result = _query( store, [0.0] * DIM, top_k=10, - filters=_eq_filter("document_id", "2"), + filters=_eq_filter("document_id", 2), ) assert result.ids == ["b1"] @@ -168,7 +175,7 @@ class TestCrud: store.get_nodes(node_ids=["x"]) def test_fresh_instance_sees_existing_table(self, store, tmp_path: Path) -> None: - store.add([make_node("a1", "1")]) + store.add([make_node("a1", 1)]) with PaperlessSqliteVecVectorStore(uri=str(tmp_path)) as reopened: assert reopened.table_exists() assert reopened.vector_dim() == DIM @@ -176,23 +183,98 @@ class TestCrud: def test_table_exists_and_drop(self, store) -> None: assert not store.table_exists() - store.add([make_node("a1", "1")]) + store.add([make_node("a1", 1)]) assert store.table_exists() store.drop_table() assert not store.table_exists() assert store.vector_dim() is None + def test_document_id_stored_as_integer_in_vec0( + self, + store: PaperlessSqliteVecVectorStore, + ) -> None: + """ + GIVEN: + - An empty vector store + WHEN: + - A node is added with an int document_id + THEN: + - vec0's own document_id column holds an INTEGER, not TEXT + """ + store.add([make_node("a1", 1)]) + row = store.client.execute( + "SELECT document_id FROM documents WHERE id = 'a1'", + ).fetchone() + assert isinstance(row["document_id"], int) + + def test_drop_table_clears_modified_times( + self, + store: PaperlessSqliteVecVectorStore, + ) -> None: + """ + GIVEN: + - A store with a tracked document's modified time + WHEN: + - drop_table() is called + THEN: + - document_meta and document_chunks are both cleared directly + (asserted against the tables themselves, not via + get_modified_times()/table_exists() -- those short-circuit on + the vec0 table being gone, which drop_table() does first, so + they would pass even if DocumentMetaTable.delete_all()/ + DocumentChunksTable.delete_all() were never called) + """ + store.add([make_node("a1", 1)]) + store.drop_table() + assert ( + store.client.execute( + "SELECT count(*) FROM document_meta", + ).fetchone()[0] + == 0 + ) + assert ( + store.client.execute( + "SELECT count(*) FROM document_chunks", + ).fetchone()[0] + == 0 + ) + + def test_upsert_document_checks_table_exists_once( + self, + store: PaperlessSqliteVecVectorStore, + mocker: MockerFixture, + ) -> None: + """ + GIVEN: + - An existing store with one document already indexed + WHEN: + - upsert_document() replaces that document's chunks + THEN: + - table_exists() is queried at most once per call, not twice + (previously: once via _ensure_table(), once via the separate + `if self.table_exists():` delete-chunks guard) + """ + store.add([make_node("a1", 1)]) + # store is a pydantic model, whose __setattr__/__delattr__ reject + # arbitrary instance attributes ("object has no attribute + # 'table_exists'"), so mocker.spy(store, "table_exists") can't + # shadow the method on the instance. Spying on the class works + # (bound method lookup on the instance still resolves through it). + exists_spy = mocker.spy(PaperlessSqliteVecVectorStore, "table_exists") + store.upsert_document(1, [make_node("a2", 1)]) + assert exists_spy.call_count == 1 + class TestBuildWhere: def test_ne_filter_translates_to_not_equal_clause(self) -> None: - where, params = _build_where(_ne_filter("1")) + where, params = _build_where(_ne_filter(1)) assert where == "(document_id != ?)" - assert params == ["1"] + assert params == [1] def test_query_with_ne_filter_excludes_matching_document(self, store) -> None: - store.add([make_node("a1", "1"), make_node("b1", "2")]) + store.add([make_node("a1", 1), make_node("b1", 2)]) assert sorted( - _query(store, [0.0] * DIM, top_k=5, filters=_ne_filter("1")).ids, + _query(store, [0.0] * DIM, top_k=5, filters=_ne_filter(1)).ids, ) == [ "b1", ] @@ -206,7 +288,7 @@ class TestBuildWhere: MetadataFilter( key="document_id", operator=FilterOperator.EQ, - value="1", + value=1, ), ], ) @@ -215,13 +297,13 @@ class TestBuildWhere: assert params == [] def test_query_with_untranslatable_filter_returns_no_rows(self, store) -> None: - store.add([make_node("a1", "1"), make_node("b1", "2")]) + store.add([make_node("a1", 1), make_node("b1", 2)]) nested = MetadataFilters( filters=[ MetadataFilter( key="document_id", operator=FilterOperator.EQ, - value="1", + value=1, ), ], ) @@ -234,19 +316,19 @@ class TestBuildWhere: class TestUpsert: def test_upsert_replaces_and_prunes_stale_chunks(self, store) -> None: store.add( - [make_node("d1c1", "1"), make_node("d1c2", "1"), make_node("d2c1", "2")], + [make_node("d1c1", 1), make_node("d1c2", 1), make_node("d2c1", 2)], ) - store.upsert_document("1", [make_node("d1new", "1")]) + store.upsert_document(1, [make_node("d1new", 1)]) result = _query(store, [0.0] * DIM, top_k=10) assert sorted(result.ids) == ["d1new", "d2c1"] def test_upsert_creates_table_when_missing(self, store) -> None: - store.upsert_document("1", [make_node("a1", "1")]) + store.upsert_document(1, [make_node("a1", 1)]) assert _query(store, [0.0] * DIM, top_k=1).ids == ["a1"] def test_upsert_empty_nodes_removes_document(self, store) -> None: - store.add([make_node("a1", "1"), make_node("b1", "2")]) - store.upsert_document("1", []) + store.add([make_node("a1", 1), make_node("b1", 2)]) + store.upsert_document(1, []) assert _query(store, [0.0] * DIM, top_k=10).ids == ["b1"] def test_upsert_is_atomic_for_concurrent_readers( @@ -255,16 +337,16 @@ class TestUpsert: tmp_path: Path, ) -> None: """A second connection must never observe document 1 half-replaced.""" - store.add([make_node("a1", "1"), make_node("a2", "1")]) + store.add([make_node("a1", 1), make_node("a2", 1)]) with PaperlessSqliteVecVectorStore(uri=str(tmp_path)) as reader: - store.upsert_document("1", [make_node("a3", "1")]) - ids = [n.node_id for n in reader.get_nodes(filters=_in_filter(["1"]))] + store.upsert_document(1, [make_node("a3", 1)]) + ids = [n.node_id for n in reader.get_nodes(filters=_in_filter([1]))] assert ids == ["a3"] class TestMetadataCoercion: def test_none_metadata_values_become_empty_strings(self, store) -> None: - node = make_node("a1", "1") + node = make_node("a1", 1) node.metadata["modified"] = None store.add([node]) # must not raise (vec0 rejects NULL metadata) assert store.get_modified_times() == {"1": ""} @@ -283,7 +365,7 @@ class TestModelNameTracking: uri=str(tmp_path), embed_model_name="model-a", ) as store: - store.add([make_node("a1", "1")]) + store.add([make_node("a1", 1)]) assert store.stored_model_name() == "model-a" with PaperlessSqliteVecVectorStore(uri=str(tmp_path)) as reopened: assert reopened.stored_model_name() == "model-a" @@ -294,7 +376,7 @@ class TestModelNameTracking: embed_model_name="model-a", ) as store: assert not store.config_mismatch("anything") # no table yet - store.add([make_node("a1", "1")]) + store.add([make_node("a1", 1)]) assert not store.config_mismatch("model-a") assert store.config_mismatch("model-b") @@ -303,7 +385,7 @@ class TestModelNameTracking: tmp_path: Path, ) -> None: with PaperlessSqliteVecVectorStore(uri=str(tmp_path)) as store: # no model name - store.add([make_node("a1", "1")]) + store.add([make_node("a1", 1)]) assert not store.config_mismatch("model-a") @@ -314,9 +396,9 @@ class TestGetModifiedTimes: def test_returns_one_entry_per_document(self, store) -> None: store.add( [ - make_node("a1", "1", modified="2026-01-01T00:00:00"), - make_node("a2", "1", modified="2026-01-01T00:00:00"), - make_node("b1", "2", modified="2026-02-02T00:00:00"), + make_node("a1", 1, modified="2026-01-01T00:00:00"), + make_node("a2", 1, modified="2026-01-01T00:00:00"), + make_node("b1", 2, modified="2026-02-02T00:00:00"), ], ) assert store.get_modified_times() == { @@ -341,37 +423,35 @@ class TestCompact: def _churn(self, store, cycles: int) -> None: for i in range(cycles): store.upsert_document( - "1", - [make_node(f"gen{i}-{j}", "1", seed=float(j)) for j in range(20)], + 1, + [make_node(f"gen{i}-{j}", 1, seed=float(j)) for j in range(20)], ) def test_compact_noop_below_threshold(self, store) -> None: - store.add([make_node("a1", "1")]) + store.add([make_node("a1", 1)]) store.compact() assert _query(store, [0.0] * DIM, top_k=1).ids == ["a1"] def test_force_compact_preserves_rows_and_metadata(self, store) -> None: - store.add([make_node("a1", "1"), make_node("b1", "2", seed=3.0)]) + store.add([make_node("a1", 1), make_node("b1", 2, seed=3.0)]) self._churn(store, 5) before = { - n.node_id: n.metadata - for n in store.get_nodes(filters=_in_filter(["1", "2"])) + n.node_id: n.metadata for n in store.get_nodes(filters=_in_filter([1, 2])) } store.compact(force=True) after = { - n.node_id: n.metadata - for n in store.get_nodes(filters=_in_filter(["1", "2"])) + n.node_id: n.metadata for n in store.get_nodes(filters=_in_filter([1, 2])) } assert after == before assert self._bloat_ratio(store) == pytest.approx(1.0) # store remains fully usable after the rebuild; use a seed far from all # existing nodes (gen4-0..gen4-19 have seeds 0..19) so cosine KNN is # unambiguous at top_k=1. - store.upsert_document("3", [make_node("c1", "3", seed=100.0)]) + store.upsert_document(3, [make_node("c1", 3, seed=100.0)]) assert "c1" in _query(store, [100.0] * DIM, top_k=1).ids def test_auto_compact_triggers_on_churn(self, store) -> None: - store.add([make_node(f"s{j}", "1", seed=float(j)) for j in range(20)]) + store.add([make_node(f"s{j}", 1, seed=float(j)) for j in range(20)]) self._churn(store, 5) assert self._bloat_ratio(store) > 2 store.compact() @@ -393,7 +473,7 @@ class TestCompact: but a concurrent reader keeps -wal/-shm alive, so the cleanup must unlink them explicitly (as the structural-migration path does). """ - store.add([make_node("a1", "1")]) + store.add([make_node("a1", 1)]) compact_path = str(tmp_path / DB_FILENAME) + ".compact" held: list[sqlite3.Connection] = [] @@ -429,16 +509,75 @@ class TestCompact: regression in the streaming loop (dropped tail, off-by-one) surfaces. """ monkeypatch.setattr("paperless_ai.vector_store.COMPACT_BATCH_SIZE", 3) - store.add([make_node(f"n{i}", "1", seed=float(i)) for i in range(10)]) + store.add([make_node(f"n{i}", 1, seed=float(i)) for i in range(10)]) store.compact(force=True) - ids = {n.node_id for n in store.get_nodes(filters=_in_filter(["1"]))} + ids = {n.node_id for n in store.get_nodes(filters=_in_filter([1]))} assert ids == {f"n{i}" for i in range(10)} assert self._bloat_ratio(store) == pytest.approx(1.0) + def test_force_compact_preserves_modified_times( + self, + store: PaperlessSqliteVecVectorStore, + ) -> None: + """ + GIVEN: + - A store with documents whose modified times are tracked + WHEN: + - compact(force=True) rebuilds the database file + THEN: + - get_modified_times() still returns every document's value + (document_meta must be copied across the file-swap, not just + the vec0 rows) + """ + store.add( + [ + make_node("a1", 1, modified="2026-01-01T00:00:00"), + make_node("b1", 2, modified="2026-02-02T00:00:00"), + ], + ) + before = store.get_modified_times() + store.compact(force=True) + assert store.get_modified_times() == before + + def test_compact_on_unmigrated_store_is_noop( + self, + store: PaperlessSqliteVecVectorStore, + mocker: MockerFixture, + ) -> None: + """ + GIVEN: + - A store whose schema_version has been forced behind + SCHEMA_VERSION (has_pending_migration() is True) + WHEN: + - compact(force=True) is called directly, without the caller + having run check_and_run_migrations() first + THEN: + - compact() is a safe no-op: no file-swap rebuild is attempted + at all (asserted via a spy on _rebuild_into, since schema_version + alone is not a reliable signal -- a rebuild would otherwise + copy the stale schema_version across unchanged, making a + before/after equality check pass even when a rebuild *did* + happen). Rebuilding an unmigrated store would silently lose + document_meta and leave the swapped-in file claiming the old + schema_version -- see the class docstring rationale. + """ + store.add([make_node("a1", 1)]) + store.client.execute( + "UPDATE index_meta SET value = '0' WHERE key = 'schema_version'", + ) + assert store.has_pending_migration() is True + rebuild_spy = mocker.spy(PaperlessSqliteVecVectorStore, "_rebuild_into") + store.compact(force=True) + rebuild_spy.assert_not_called() + row = store.client.execute( + "SELECT value FROM index_meta WHERE key = 'schema_version'", + ).fetchone() + assert int(row["value"]) == 0 + class TestDbFile: def test_single_db_file_in_index_dir(self, store, tmp_path: Path) -> None: - store.add([make_node("a1", "1")]) + store.add([make_node("a1", 1)]) assert (tmp_path / DB_FILENAME).exists() def test_wal_mode_enabled(self, store) -> None: @@ -448,7 +587,26 @@ class TestDbFile: class TestMigrations: - """Tests for the schema migration machinery.""" + """Tests for the schema migration machinery. + + These tests exercise check_and_run_migrations()'s generic dispatch logic + (structural vs. re-embed, version-boundary stopping) using ad hoc test + migrations layered on top of SCHEMA_VERSION -- distinct from + TestV1ToV2Migration, which exercises the real, frozen m0001_v1_to_v2 + migration. Test migrations use version numbers starting at + SCHEMA_VERSION (2) and above so they never collide with the real + from_version=1/to_version=2 migration already registered in MIGRATIONS. + + The fake structural migrations' apply() fixtures (see + test_structural_migration_copies_rows_and_updates_version and + test_stop_at_reembed_boundary below) only populate the rebuilt vec0 + table itself -- they never insert into document_chunks/document_meta on + the destination connection. That's fine here: these tests exist to + verify the generic dispatch mechanism (version bookkeeping, structural- + vs-reembed branching), not full schema correctness of a rebuilt store; + the real migration's data completeness is covered separately by + TestV1ToV2Migration. + """ def _schema_version(self, store: PaperlessSqliteVecVectorStore) -> int | None: row = store.client.execute( @@ -457,21 +615,21 @@ class TestMigrations: return int(row[0]) if row else None def test_new_table_records_schema_version(self, store) -> None: - store.add([make_node("a1", "1")]) + store.add([make_node("a1", 1)]) assert self._schema_version(store) == SCHEMA_VERSION def test_check_migrations_no_table_returns_false(self, store) -> None: assert store.check_and_run_migrations() is False def test_check_migrations_current_version_returns_false(self, store) -> None: - store.add([make_node("a1", "1")]) + store.add([make_node("a1", 1)]) assert store.check_and_run_migrations() is False def test_reembed_migration_returns_true(self, store, tmp_path: Path) -> None: - store.add([make_node("a1", "1")]) + store.add([make_node("a1", 1)]) migration = Migration( - from_version=1, - to_version=2, + from_version=SCHEMA_VERSION, + to_version=SCHEMA_VERSION + 1, kind="re-embed", description="test re-embed", ) @@ -480,7 +638,7 @@ class TestMigrations: from paperless_ai import vector_store as vs_mod original = vs_mod.SCHEMA_VERSION - vs_mod.SCHEMA_VERSION = 2 + vs_mod.SCHEMA_VERSION = SCHEMA_VERSION + 1 result = store.check_and_run_migrations() finally: MIGRATIONS.remove(migration) @@ -492,7 +650,7 @@ class TestMigrations: store, tmp_path: Path, ) -> None: - store.add([make_node("a1", "1"), make_node("b1", "2")]) + store.add([make_node("a1", 1), make_node("b1", 2)]) def apply( src: sqlite3.Connection, @@ -511,7 +669,7 @@ class TestMigrations: (str(dim),), ) rows = src.execute( - "SELECT id, document_id, modified, node_content, embedding " + "SELECT id, document_id, node_content, embedding " f"FROM {DEFAULT_TABLE_NAME}", ).fetchall() dst.execute("BEGIN IMMEDIATE") @@ -522,8 +680,8 @@ class TestMigrations: [ ( r["id"], - r["document_id"], - r["modified"], + str(r["document_id"]), + "", r["node_content"], bytes(r["embedding"]), ) @@ -538,8 +696,8 @@ class TestMigrations: dst.execute("COMMIT") migration = Migration( - from_version=1, - to_version=2, + from_version=SCHEMA_VERSION, + to_version=SCHEMA_VERSION + 1, kind="structural", description="test structural", apply=apply, @@ -549,28 +707,29 @@ class TestMigrations: from paperless_ai import vector_store as vs_mod original = vs_mod.SCHEMA_VERSION - vs_mod.SCHEMA_VERSION = 2 + vs_mod.SCHEMA_VERSION = SCHEMA_VERSION + 1 result = store.check_and_run_migrations() finally: MIGRATIONS.remove(migration) vs_mod.SCHEMA_VERSION = original assert result is False - assert self._schema_version(store) == 2 + assert self._schema_version(store) == SCHEMA_VERSION + 1 ids = {n.node_id for n in store.get_nodes()} assert ids == {"a1", "b1"} def test_compact_preserves_schema_version(self, store) -> None: - store.add([make_node("a1", "1")]) + store.add([make_node("a1", 1)]) assert self._schema_version(store) == SCHEMA_VERSION store.compact(force=True) assert self._schema_version(store) == SCHEMA_VERSION def test_stop_at_reembed_boundary(self, store) -> None: - # Registry: structural v2, re-embed v3, structural v4. - # Only v2 should apply; the re-embed boundary must stop execution - # before v4 runs, and the stored version must stay at 2. - store.add([make_node("a1", "1"), make_node("b1", "2")]) + # Registry: structural v(N+1), re-embed v(N+2), structural v(N+3), + # where N = SCHEMA_VERSION. Only v(N+1) should apply; the re-embed + # boundary must stop execution before v(N+3) runs, and the stored + # version must stay at N+1. + store.add([make_node("a1", 1), make_node("b1", 2)]) def copy_apply( src: sqlite3.Connection, @@ -589,7 +748,7 @@ class TestMigrations: (str(dim),), ) rows = src.execute( - "SELECT id, document_id, modified, node_content, embedding " + "SELECT id, document_id, node_content, embedding " f"FROM {DEFAULT_TABLE_NAME}", ).fetchall() dst.execute("BEGIN IMMEDIATE") @@ -600,8 +759,8 @@ class TestMigrations: [ ( r["id"], - r["document_id"], - r["modified"], + str(r["document_id"]), + "", r["node_content"], bytes(r["embedding"]), ) @@ -612,23 +771,23 @@ class TestMigrations: migrations = [ Migration( - from_version=1, - to_version=2, + from_version=SCHEMA_VERSION, + to_version=SCHEMA_VERSION + 1, kind="structural", - description="v2 structural", + description="v(N+1) structural", apply=copy_apply, ), Migration( - from_version=2, - to_version=3, + from_version=SCHEMA_VERSION + 1, + to_version=SCHEMA_VERSION + 2, kind="re-embed", - description="v3 re-embed boundary", + description="v(N+2) re-embed boundary", ), Migration( - from_version=3, - to_version=4, + from_version=SCHEMA_VERSION + 2, + to_version=SCHEMA_VERSION + 3, kind="structural", - description="v4 structural - must not run", + description="v(N+3) structural - must not run", apply=copy_apply, ), ] @@ -637,7 +796,7 @@ class TestMigrations: from paperless_ai import vector_store as vs_mod original = vs_mod.SCHEMA_VERSION - vs_mod.SCHEMA_VERSION = 4 + vs_mod.SCHEMA_VERSION = SCHEMA_VERSION + 3 result = store.check_and_run_migrations() finally: for m in migrations: @@ -645,7 +804,7 @@ class TestMigrations: vs_mod.SCHEMA_VERSION = original assert result is True - assert self._schema_version(store) == 2 + assert self._schema_version(store) == SCHEMA_VERSION + 1 def test_has_pending_migration_false_when_no_table( self, @@ -673,7 +832,7 @@ class TestMigrations: THEN: - False is returned """ - store.add([make_node("a1", "1")]) + store.add([make_node("a1", 1)]) assert store.has_pending_migration() is False def test_has_pending_migration_true_when_behind( @@ -688,8 +847,183 @@ class TestMigrations: THEN: - True is returned """ - store.add([make_node("a1", "1")]) + store.add([make_node("a1", 1)]) store.client.execute( "UPDATE index_meta SET value = '0' WHERE key = 'schema_version'", ) assert store.has_pending_migration() is True + + +class TestV1ToV2Migration: + """m0001_v1_to_v2 migrates a real, historically-shaped v1 store. The + fixture below is a literal, hardcoded v1 DDL string -- NOT derived from + any current code -- so this test keeps testing the actual historical + shape even if vector_store.py's "current" schema changes again later. + """ + + def _build_v1_store(self, db_path: str, dim: int) -> None: + conn = sqlite3.connect(db_path) + conn.row_factory = sqlite3.Row + conn.enable_load_extension(True) # noqa: FBT003 + sqlite_vec.load(conn) + conn.enable_load_extension(False) # noqa: FBT003 + conn.execute("PRAGMA journal_mode=WAL") + conn.execute("PRAGMA synchronous=NORMAL") + conn.execute( + "CREATE TABLE IF NOT EXISTS index_meta (key TEXT PRIMARY KEY, value TEXT)", + ) + conn.execute( # nosemgrep + "CREATE VIRTUAL TABLE documents USING vec0(" + "id TEXT PRIMARY KEY, document_id TEXT, modified TEXT," + f" +node_content TEXT, embedding float[{dim}] distance_metric=cosine" + ")", + ) + conn.execute( + "INSERT INTO index_meta (key, value) VALUES ('dim', ?)", + (str(dim),), + ) + conn.execute( + "INSERT INTO index_meta (key, value) VALUES ('schema_version', '1')", + ) + conn.execute( + "INSERT INTO index_meta (key, value) VALUES ('embed_model', 'model-a')", + ) + rows = [ + ("c1", "1", "2026-01-01T00:00:00", '{"text": "a"}', _pack([0.1] * dim)), + ("c2", "1", "2026-01-01T00:00:00", '{"text": "b"}', _pack([0.2] * dim)), + ("c3", "2", "2026-02-02T00:00:00", '{"text": "c"}', _pack([0.3] * dim)), + ] + conn.executemany( + "INSERT INTO documents (id, document_id, modified, node_content, embedding)" + " VALUES (?, ?, ?, ?, ?)", + rows, + ) + conn.execute( + "INSERT INTO index_meta (key, value) VALUES ('total_inserts', '3')", + ) + conn.commit() + conn.close() + + def test_migration_converts_v1_store_to_v2(self, tmp_path: Path) -> None: + """ + GIVEN: + - A real v1-shaped store (TEXT document_id, modified inline in + vec0, no document_chunks/document_meta) built from a literal, + hardcoded historical DDL + WHEN: + - A PaperlessSqliteVecVectorStore is opened against it + THEN: + - schema_version becomes 2, document_id values become int, + document_chunks/document_meta are backfilled once per chunk/ + document respectively, and dim/embed_model survive + """ + db_dir = tmp_path + self._build_v1_store(str(db_dir / DB_FILENAME), dim=16) + with PaperlessSqliteVecVectorStore(uri=str(db_dir)) as store: + assert store.check_and_run_migrations() is False + row = store.client.execute( + "SELECT value FROM index_meta WHERE key = 'schema_version'", + ).fetchone() + assert int(row["value"]) == 2 + doc_id_row = store.client.execute( + "SELECT document_id FROM documents WHERE id = 'c1'", + ).fetchone() + assert isinstance(doc_id_row["document_id"], int) + assert doc_id_row["document_id"] == 1 + chunk_ids = sorted( + r["chunk_id"] + for r in store.client.execute( + "SELECT chunk_id FROM document_chunks", + ).fetchall() + ) + assert chunk_ids == ["c1", "c2", "c3"] + assert store.get_modified_times() == { + "1": "2026-01-01T00:00:00", + "2": "2026-02-02T00:00:00", + } + assert store.stored_model_name() == "model-a" + assert store.vector_dim() == 16 + + def test_migration_raises_on_malformed_document_id( + self, + tmp_path: Path, + ) -> None: + """ + GIVEN: + - A v1-shaped store with a corrupted, non-integer document_id + value on one row + WHEN: + - The migration runs + THEN: + - A ValueError is raised (fail loudly, no silent data loss) -- + this matches the rest of vector_store.py, which has no + precedent for silently skipping malformed rows + """ + db_dir = tmp_path + self._build_v1_store(str(db_dir / DB_FILENAME), dim=16) + conn = sqlite3.connect(str(db_dir / DB_FILENAME)) + conn.enable_load_extension(True) # noqa: FBT003 + sqlite_vec.load(conn) + conn.enable_load_extension(False) # noqa: FBT003 + conn.execute( + "UPDATE documents SET document_id = 'not-an-int' WHERE id = 'c1'", + ) + conn.commit() + conn.close() + with ( + pytest.raises(ValueError), + PaperlessSqliteVecVectorStore(uri=str(db_dir)) as store, + ): + store.check_and_run_migrations() + + def test_migration_never_delegates_to_current_schema_helpers( + self, + tmp_path: Path, + mocker: MockerFixture, + ) -> None: + """ + GIVEN: + - A real v1-shaped store + WHEN: + - The migration runs, with DocumentChunksTable.create/ + DocumentMetaTable.create/_create_vec_table spied on + THEN: + - None of those "current schema" helpers are ever called during + the migration -- it must freeze its own historical DDL, per + the DDL-freezing rule (see spec), so a future schema bump + can't silently corrupt this migration's output + """ + db_dir = tmp_path + self._build_v1_store(str(db_dir / DB_FILENAME), dim=16) + chunks_create_spy = mocker.spy(DocumentChunksTable, "create") + meta_create_spy = mocker.spy(DocumentMetaTable, "create") + vec_table_spy = mocker.spy( + PaperlessSqliteVecVectorStore, + "_create_vec_table", + ) + with PaperlessSqliteVecVectorStore(uri=str(db_dir)) as store: + store.check_and_run_migrations() + # _open_connection() legitimately calls create() three times across + # a structural migration: once for the store's own live connection + # (construction), once for the migration's temp rebuild file + # (_rebuild_file), and once more when _swap_in_compact() reopens the + # swapped-in file as self._conn. What matters is that + # m0001_v1_to_v2's apply() itself never calls these directly, which + # a source-text check alone can't prove (it can't tell "mentioned in + # a comment" from "actually called", and is trivially evadable by + # importing a symbol under an alias). Asserting the exact call count + # instead: exactly 3 calls to each create() (all from + # _open_connection, never a 4th from inside apply()), and zero calls + # to _create_vec_table (neither _open_connection nor apply() calls + # it -- apply() freezes its own literal CREATE VIRTUAL TABLE DDL + # instead). + assert chunks_create_spy.call_count == 3 + assert meta_create_spy.call_count == 3 + assert vec_table_spy.call_count == 0 + # Cheap secondary signal, kept alongside the spy assertions above + # (not in place of them): the migration module's source should never + # even mention these "current schema" helpers by name. + source = inspect.getsource(m0001_v1_to_v2) + assert "DocumentChunksTable.create" not in source + assert "DocumentMetaTable.create" not in source + assert "_create_vec_table(" not in source diff --git a/src/paperless_ai/vector_store.py b/src/paperless_ai/vector_store.py index 4c4d0b7a2..bb3007323 100644 --- a/src/paperless_ai/vector_store.py +++ b/src/paperless_ai/vector_store.py @@ -8,6 +8,7 @@ from contextlib import contextmanager from pathlib import Path from types import TracebackType from typing import Any +from typing import NamedTuple import sqlite_vec from llama_index.core.bridge.pydantic import PrivateAttr @@ -24,6 +25,11 @@ from llama_index.core.vector_stores.utils import node_to_metadata_dict from paperless_ai.migrations import MIGRATIONS from paperless_ai.migrations import Migration +from paperless_ai.tables import ChunkRow +from paperless_ai.tables import DocumentChunksTable +from paperless_ai.tables import DocumentMetaRow +from paperless_ai.tables import DocumentMetaTable +from paperless_ai.tables import IndexMetaTable logger = logging.getLogger("paperless_ai.vector_store") @@ -33,7 +39,7 @@ DEFAULT_TABLE_NAME = "documents" # Current schema version. Written to index_meta at table creation and bumped # whenever a Migration is added to MIGRATIONS. check_and_run_migrations() uses # this to decide which migrations to run on an existing store. -SCHEMA_VERSION = 1 +SCHEMA_VERSION = 2 # compact(): rebuild when the cumulative rowid count exceeds this multiple of # the live row count. DELETEs on vec0 tables never reclaim space (upstream @@ -48,8 +54,23 @@ COMPACT_BATCH_SIZE = 500 # Filterable vec0 metadata columns. _build_where() only ever receives filter # keys we construct ourselves, but allowlisting keeps SQL identifiers safe by -# construction. -_FILTER_COLUMNS = frozenset({"document_id", "modified"}) +# construction. "modified" is not here: it is never filtered on, and as of +# schema v2 it isn't even a vec0 column anymore (see document_meta). +_FILTER_COLUMNS = frozenset({"document_id"}) + + +class _Row(NamedTuple): + """One node, ready to write. ``modified`` is not a vec0 column (see + document_meta) -- it rides along here because every row-producing call + site needs both the vec0 insert values and the document_meta upsert + value from the same node. + """ + + chunk_id: str + document_id: int + modified: str + node_content: str + embedding: bytes def _pack(embedding: Sequence[float]) -> bytes: @@ -60,14 +81,30 @@ def _unpack(blob: bytes) -> list[float]: return list(struct.unpack(f"{len(blob) // 4}f", blob)) -def _build_where(filters: MetadataFilters | None) -> tuple[str, list[str]]: - """Translate the EQ / IN / NE filters we use into a parameterized SQL clause - on vec0 metadata columns. Returns ("", []) when there is nothing to filter. +_INSERT = ( + "INSERT INTO " + + DEFAULT_TABLE_NAME + + " (id, document_id, node_content, embedding) VALUES (?, ?, ?, ?)" +) + + +def _vec0_params(rows: list[_Row]) -> list[tuple[str, int, str, bytes]]: + """``rows``, minus the ``modified`` field vec0 no longer stores.""" + return [(r.chunk_id, r.document_id, r.node_content, r.embedding) for r in rows] + + +def _build_where(filters: MetadataFilters | None) -> tuple[str, list[int]]: + """Translate the EQ / IN / NE filters we use into a parameterized SQL + clause on vec0 metadata columns. Returns ("", []) when there is nothing + to filter. document_id is vec0's only filterable column and is INTEGER; + every value is coerced via int() here so callers (which today still pass + strings in places, e.g. indexing.py's MetadataFilter construction) don't + have to be individually correct -- vec0 doesn't coerce types itself. """ if filters is None or not filters.filters: return "", [] clauses: list[str] = [] - params: list[str] = [] + params: list[int] = [] for f in filters.filters: # filters.filters is Union[MetadataFilter, ExactMatchFilter, MetadataFilters]; # we only build MetadataFilter entries, so skip anything else at runtime. @@ -76,7 +113,7 @@ def _build_where(filters: MetadataFilters | None) -> tuple[str, list[str]]: if f.key not in _FILTER_COLUMNS: # pragma: no cover - we build the keys raise NotImplementedError(f"Unsupported filter column: {f.key}") if f.operator == FilterOperator.IN: - values = [str(v) for v in f.value] # type: ignore[union-attr] # value is list when operator is IN + values = [int(v) for v in f.value] # type: ignore[union-attr] if not values: # pragma: no cover clauses.append("1 = 0") continue @@ -85,10 +122,10 @@ def _build_where(filters: MetadataFilters | None) -> tuple[str, list[str]]: params.extend(values) elif f.operator == FilterOperator.EQ: clauses.append(f"{f.key} = ?") - params.append(str(f.value)) + params.append(int(f.value)) elif f.operator == FilterOperator.NE: clauses.append(f"{f.key} != ?") - params.append(str(f.value)) + params.append(int(f.value)) else: # pragma: no cover - we only ever build EQ/IN/NE filters raise NotImplementedError(f"Unsupported filter operator: {f.operator}") if not clauses: @@ -153,9 +190,21 @@ class PaperlessSqliteVecVectorStore(BasePydanticVectorStore): conn.enable_load_extension(False) # noqa: FBT003 conn.execute("PRAGMA journal_mode=WAL") conn.execute("PRAGMA synchronous=NORMAL") - conn.execute( - "CREATE TABLE IF NOT EXISTS index_meta (key TEXT PRIMARY KEY, value TEXT)", - ) + IndexMetaTable.create(conn) + # vec0 metadata columns only get an efficient lookup path inside a + # KNN (MATCH) query; a plain `WHERE document_id = ?` is a full table + # scan regardless of index size. This plain, indexed table is how + # delete()/upsert_document() find a document's chunk ids without + # that scan. + DocumentChunksTable.create(conn) + # modified used to be a vec0 metadata column, but vec0 only inlines + # TEXT metadata up to 12 bytes -- an ISO timestamp is always longer, + # so every read recompiled and stepped a fresh SQL statement per row. + # It was never filtered on inside a KNN query either, so it never + # needed to be a vec0 column at all. One row per document here (not + # per chunk, like document_chunks), since every chunk of a document + # shares the same modified value -- see get_modified_times(). + DocumentMetaTable.create(conn) return conn @property @@ -190,24 +239,6 @@ class PaperlessSqliteVecVectorStore(BasePydanticVectorStore): else: self._conn.execute("COMMIT") - def _meta_get(self, key: str) -> str | None: - row = self._conn.execute( - "SELECT value FROM index_meta WHERE key = ?", - (key,), - ).fetchone() - return row["value"] if row else None - - @staticmethod - def _meta_set_on(conn: sqlite3.Connection, key: str, value: str) -> None: - conn.execute( - "INSERT INTO index_meta (key, value) VALUES (?, ?) " - "ON CONFLICT(key) DO UPDATE SET value = excluded.value", - (key, value), - ) - - def _meta_set(self, key: str, value: str) -> None: - self._meta_set_on(self._conn, key, value) - def table_exists(self) -> bool: return ( self._conn.execute( @@ -220,18 +251,19 @@ class PaperlessSqliteVecVectorStore(BasePydanticVectorStore): def vector_dim(self) -> int | None: if not self.table_exists(): return None - value = self._meta_get("dim") - return int(value) if value else None + return IndexMetaTable.get_dim(self._conn) def drop_table(self) -> None: self._conn.execute("DROP TABLE IF EXISTS " + DEFAULT_TABLE_NAME) self._conn.execute("DELETE FROM index_meta") + DocumentChunksTable.delete_all(self._conn) + DocumentMetaTable.delete_all(self._conn) def stored_model_name(self) -> str | None: """Return the embedding model name recorded at table creation, or None.""" if not self.table_exists(): return None - return self._meta_get("embed_model") + return IndexMetaTable.get_embed_model(self._conn) def config_mismatch(self, model_name: str) -> bool: """True when the stored model name differs from ``model_name``. @@ -249,14 +281,17 @@ class PaperlessSqliteVecVectorStore(BasePydanticVectorStore): # document_id is deliberately a metadata column, NOT a partition key: # partition keys change KNN `k` to per-partition semantics under IN # filters (asg017/sqlite-vec#142); metadata columns give a correct - # global top-k. + # global top-k. INTEGER (not TEXT, as in schema v1): EQ/NE/IN + # comparisons become a native i64 array compare instead of per-row + # strncmp against a 16-byte text view, and this drops the unused + # metadatatext shadow table TEXT columns carry. modified is not a + # column here at all as of v2 -- see document_meta. conn.execute( # nosemgrep: python.sqlalchemy.security.sqlalchemy-execute-raw-query.sqlalchemy-execute-raw-query "CREATE VIRTUAL TABLE " + DEFAULT_TABLE_NAME + " USING vec0(" + "id TEXT PRIMARY KEY," - + " document_id TEXT," - + " modified TEXT," + + " document_id INTEGER," + " +node_content TEXT," + " embedding float[" + str(int(dim)) @@ -266,37 +301,78 @@ class PaperlessSqliteVecVectorStore(BasePydanticVectorStore): def _create_table(self, dim: int) -> None: self._create_vec_table(self._conn, dim) - self._meta_set("dim", str(dim)) - self._meta_set("schema_version", str(SCHEMA_VERSION)) + IndexMetaTable.set_dim(self._conn, dim) + IndexMetaTable.set_schema_version(self._conn, SCHEMA_VERSION) if self._embed_model_name: - self._meta_set("embed_model", self._embed_model_name) + IndexMetaTable.set_embed_model(self._conn, self._embed_model_name) - def _ensure_table(self, dim: int) -> None: - if not self.table_exists(): + def _ensure_table(self, dim: int, *, table_exists: bool) -> None: + if not table_exists: self._create_table(dim) - def _row(self, node: BaseNode) -> tuple[str, str, str, str, bytes]: + def _row(self, node: BaseNode) -> _Row: meta = node_to_metadata_dict( node, remove_text=False, flat_metadata=self.flat_metadata, ) - # vec0 metadata columns reject NULL (asg017/sqlite-vec#141): coerce - # every value to a string, with "" as the absent sentinel. document_id = node.ref_doc_id or node.metadata.get("document_id") - return ( - node.node_id, - str(document_id or ""), - str(node.metadata.get("modified") or ""), - json.dumps(meta), - _pack(node.get_embedding()), + return _Row( + chunk_id=node.node_id, + # document_id is required -- int(None) raises TypeError and + # int("not-a-number") raises ValueError, both intentional: + # fail loudly on a malformed/missing document_id rather than + # silently indexing a chunk with no owning document. modified, + # below, still uses the str(x or "") sentinel pattern because a + # missing modified value is legitimate (vec0 no longer even + # stores it -- see document_meta), whereas document_id must + # always be present. + document_id=int(document_id), + modified=str(node.metadata.get("modified") or ""), + node_content=json.dumps(meta), + embedding=_pack(node.get_embedding()), ) - _INSERT = ( - "INSERT INTO " - + DEFAULT_TABLE_NAME - + " (id, document_id, modified, node_content, embedding) VALUES (?, ?, ?, ?, ?)" - ) + def _index_chunks(self, rows: list[_Row]) -> None: + """Record each row's (chunk_id, document_id) in document_chunks, and + each row's (document_id, modified) in document_meta -- deduped + within the batch, since every chunk of a document shares the same + modified value -- kept in lockstep with every insert into the vec0 + table. + """ + DocumentChunksTable.insert_many( + self._conn, + (ChunkRow(r.chunk_id, r.document_id) for r in rows), + ) + modified_by_document = {r.document_id: r.modified for r in rows} + DocumentMetaTable.upsert_many( + self._conn, + ( + DocumentMetaRow(doc_id, mod) + for doc_id, mod in modified_by_document.items() + ), + ) + + def _delete_chunks_by_document_id(self, document_id: int) -> None: + """Delete all of a document's chunks via point-deletes on `id`. + + vec0 has no efficient lookup on the document_id metadata column + outside a KNN query, so a plain `DELETE ... WHERE document_id = ?` + is a full table scan regardless of index size. Looking the chunk + ids up in document_chunks first (a real indexed lookup) and + deleting each by its `id` primary key instead turns that scan into + a handful of O(1) point deletes. + """ + chunk_ids = DocumentChunksTable.chunk_ids_for_document( + self._conn, + document_id, + ) + self._conn.executemany( + "DELETE FROM " + DEFAULT_TABLE_NAME + " WHERE id = ?", + [(chunk_id,) for chunk_id in chunk_ids], + ) + DocumentChunksTable.delete_for_document(self._conn, document_id) + DocumentMetaTable.delete_for_document(self._conn, document_id) def _increment_total_inserts(self, count: int) -> None: """Increment the cumulative insert counter stored in index_meta. @@ -306,48 +382,56 @@ class PaperlessSqliteVecVectorStore(BasePydanticVectorStore): live_rows exceeds COMPACT_BLOAT_RATIO the table has accumulated enough deleted-but-not-freed rows to warrant a rebuild. """ - current = int(self._meta_get("total_inserts") or "0") - self._meta_set("total_inserts", str(current + count)) + IndexMetaTable.increment_total_inserts(self._conn, count) def add(self, nodes: Sequence[BaseNode], **add_kwargs: Any) -> list[str]: if not nodes: return [] rows = [self._row(node) for node in nodes] with self._transaction(): - self._ensure_table(len(nodes[0].get_embedding())) - self._conn.executemany(self._INSERT, rows) + self._ensure_table( + len(nodes[0].get_embedding()), + table_exists=self.table_exists(), + ) + self._conn.executemany(_INSERT, _vec0_params(rows)) + self._index_chunks(rows) self._increment_total_inserts(len(rows)) return [node.node_id for node in nodes] - def upsert_document(self, document_id: str, nodes: list[BaseNode]) -> list[str]: + def upsert_document( + self, + document_id: int | str, + nodes: list[BaseNode], + ) -> list[str]: """Atomically replace all stored chunks of ``document_id`` with ``nodes``. One transaction deletes the document's existing rows and inserts the - new set (vec0's INSERT OR REPLACE is broken upstream, #259, so - delete+insert it is). WAL readers in other processes see either the - old or the new chunk set, never a partial state. + new set (vec0's INSERT OR REPLACE is broken upstream, so delete+insert + it is). WAL readers in other processes see either the old or the new + chunk set, never a partial state. """ + doc_id = int(document_id) rows = [self._row(node) for node in nodes] with self._transaction(): - if nodes: - self._ensure_table(len(nodes[0].get_embedding())) - if self.table_exists(): - self._conn.execute( - "DELETE FROM " + DEFAULT_TABLE_NAME + " WHERE document_id = ?", - (str(document_id),), + table_exists = self.table_exists() + if nodes and not table_exists: + self._ensure_table( + len(nodes[0].get_embedding()), + table_exists=False, ) + table_exists = True + if table_exists: + self._delete_chunks_by_document_id(doc_id) if rows: - self._conn.executemany(self._INSERT, rows) + self._conn.executemany(_INSERT, _vec0_params(rows)) + self._index_chunks(rows) self._increment_total_inserts(len(rows)) return [node.node_id for node in nodes] - def delete(self, ref_doc_id: str, **delete_kwargs: Any) -> None: + def delete(self, ref_doc_id: int | str, **delete_kwargs: Any) -> None: if self.table_exists(): with self._transaction(): - self._conn.execute( - "DELETE FROM " + DEFAULT_TABLE_NAME + " WHERE document_id = ?", - (str(ref_doc_id),), - ) + self._delete_chunks_by_document_id(int(ref_doc_id)) def _rows_to_nodes(self, rows: list[sqlite3.Row]) -> list[BaseNode]: nodes: list[BaseNode] = [] @@ -417,41 +501,66 @@ class PaperlessSqliteVecVectorStore(BasePydanticVectorStore): def get_modified_times(self) -> dict[str, str]: """Return {document_id: stored_modified_isoformat} for all indexed documents. - All chunks of a document share the same ``modified`` value, so the - first row seen per document is sufficient. + document_meta already has exactly one row per document (not per + chunk, unlike the vec0 table), so no dedup is needed here. """ if not self.table_exists(): return {} - result: dict[str, str] = {} - for row in self._conn.execute( - "SELECT document_id, modified FROM " + DEFAULT_TABLE_NAME, - ): - doc_id = str(row["document_id"]) - if doc_id not in result: - result[doc_id] = str(row["modified"] or "") - return result + return DocumentMetaTable.all_modified_times(self._conn) + + @property + def _db_path(self) -> str: + return str(Path(self._uri) / DB_FILENAME) + + @contextmanager + def _rebuild_file(self) -> Iterator[sqlite3.Connection]: + """Open a fresh temp database file for a file-swap rebuild (compact + or structural migration), yielding its connection for the caller to + populate. + + On success, swaps the temp file in as the live database (closing + this store's current connection first -- see _swap_in_compact()). + On any exception, discards the temp file, including its -wal/-shm, + instead, and this store's own connection is left untouched. + """ + compact_path = self._db_path + ".compact" + new_conn = self._open_connection(compact_path) + try: + yield new_conn + except BaseException: + new_conn.close() + for suffix in ["", "-wal", "-shm"]: + Path(compact_path + suffix).unlink(missing_ok=True) + raise + else: + new_conn.close() + self._swap_in_compact(compact_path, self._db_path) def compact(self, *, force: bool = False) -> None: """Rebuild the database file to reclaim space left behind by DELETEs. vec0 DELETE only invalidates rows; the vector data stays in the file - forever (asg017/sqlite-vec#54), and per-document re-indexing is a - delete+insert. The cumulative insert counter in ``index_meta`` tracks - total rows ever written; when that exceeds ``COMPACT_BLOAT_RATIO`` x - the live row count (or when forced), live rows are copied into a fresh - database file and swapped in via ``os.replace``. + forever, and per-document re-indexing is a delete+insert. The + cumulative insert counter in ``index_meta`` tracks total rows ever + written; when that exceeds ``COMPACT_BLOAT_RATIO`` x the live row + count (or when forced), live rows are copied into a fresh database + file and swapped in via ``os.replace``. Note: ``ALTER TABLE ... RENAME TO`` on vec0 virtual tables does NOT - rename the shadow tables (sqlite-vec upstream limitation), so - an in-place rename-based rebuild is not safe. The file-swap approach - is the maintainer-endorsed workaround (asg017/sqlite-vec#205). + rename the shadow tables (sqlite-vec upstream limitation), so an + in-place rename-based rebuild is not safe. The file-swap approach is + the maintainer-endorsed workaround. """ if not self.table_exists(): return - live = self._conn.execute( - "SELECT count(*) FROM " + DEFAULT_TABLE_NAME, - ).fetchone()[0] - total = int(self._meta_get("total_inserts") or str(live)) + if self.has_pending_migration(): + logger.warning( + "Skipping compact: store has a pending schema migration; " + "run check_and_run_migrations() first", + ) + return + live = DocumentChunksTable.count(self._conn) + total = IndexMetaTable.get_total_inserts(self._conn) or live if not force and total <= max(live, 1) * COMPACT_BLOAT_RATIO: return dim = self.vector_dim() @@ -463,50 +572,61 @@ class PaperlessSqliteVecVectorStore(BasePydanticVectorStore): live, total, ) - db_path = str(Path(self._uri) / DB_FILENAME) - compact_path = db_path + ".compact" + with self._rebuild_file() as new_conn: + self._rebuild_into(self._conn, new_conn, dim) - # Copy all live rows into a fresh database file. - new_conn = self._open_connection(compact_path) - try: - self._create_vec_table(new_conn, dim) - self._meta_set_on(new_conn, "dim", str(dim)) - for key in ("embed_model", "schema_version"): - value = self._meta_get(key) - if value is not None: - self._meta_set_on(new_conn, key, value) - src_cursor = self._conn.execute( - "SELECT id, document_id, modified, node_content, embedding " - "FROM " + DEFAULT_TABLE_NAME, + @staticmethod + def _rebuild_into( + src_conn: sqlite3.Connection, + dst_conn: sqlite3.Connection, + dim: int, + ) -> None: + """Create the vec0 table in ``dst_conn``, copy dim/embed_model from + ``src_conn``, and stream every live vec0 row, document_chunks row, + and document_meta row across. Used by compact() only -- + m0001_v1_to_v2 freezes its own copy loop instead of calling this, + since this always reflects the *current* schema (see the migration + DDL-freezing rule in the spec). + """ + PaperlessSqliteVecVectorStore._create_vec_table(dst_conn, dim) + dim_value = IndexMetaTable.get_dim(src_conn) + if dim_value is not None: + IndexMetaTable.set_dim(dst_conn, dim_value) + embed_model = IndexMetaTable.get_embed_model(src_conn) + if embed_model is not None: + IndexMetaTable.set_embed_model(dst_conn, embed_model) + schema_version = IndexMetaTable.get_schema_version(src_conn) + if schema_version is not None: + IndexMetaTable.set_schema_version(dst_conn, schema_version) + + dst_conn.execute("BEGIN IMMEDIATE") + src_cursor = src_conn.execute( + "SELECT id, document_id, node_content, embedding FROM " + + DEFAULT_TABLE_NAME, + ) + copied = 0 + while batch := src_cursor.fetchmany(COMPACT_BATCH_SIZE): + dst_conn.executemany( + _INSERT, + [ + ( + r["id"], + r["document_id"], + r["node_content"], + bytes(r["embedding"]), + ) + for r in batch + ], ) - new_conn.execute("BEGIN IMMEDIATE") - # Stream rows from the source cursor in batches instead of - # materializing the whole table in memory, so a large index does - # not cause an OOM during routine maintenance compactions. - while batch := src_cursor.fetchmany(COMPACT_BATCH_SIZE): - new_conn.executemany( - self._INSERT, - [ - ( - r["id"], - r["document_id"], - r["modified"], - r["node_content"], - bytes(r["embedding"]), - ) - for r in batch - ], - ) - # Reset the cumulative counter: after compact, total_inserts == live. - self._meta_set_on(new_conn, "total_inserts", str(live)) - new_conn.execute("COMMIT") - except BaseException: - new_conn.close() - for p in [compact_path, compact_path + "-wal", compact_path + "-shm"]: - Path(p).unlink(missing_ok=True) - raise - new_conn.close() - self._swap_in_compact(compact_path, db_path) + DocumentChunksTable.insert_many( + dst_conn, + (ChunkRow(r["id"], r["document_id"]) for r in batch), + ) + copied += len(batch) + DocumentMetaTable.copy_all(src_conn, dst_conn, COMPACT_BATCH_SIZE) + # Reset the cumulative counter: after a rebuild, total_inserts == live. + IndexMetaTable.reset_total_inserts(dst_conn, copied) + dst_conn.execute("COMMIT") def _swap_in_compact(self, compact_path: str, db_path: str) -> None: """Atomically replace the live database with the compacted copy.""" @@ -526,8 +646,8 @@ class PaperlessSqliteVecVectorStore(BasePydanticVectorStore): """ if not self.table_exists(): return None - raw = self._meta_get("schema_version") - return int(raw) if raw is not None else SCHEMA_VERSION + raw_version = IndexMetaTable.get_schema_version(self._conn) + return raw_version if raw_version is not None else SCHEMA_VERSION def has_pending_migration(self) -> bool: """Cheaply check whether a migration is pending, with no exclusive @@ -591,16 +711,12 @@ class PaperlessSqliteVecVectorStore(BasePydanticVectorStore): dim = self.vector_dim() if dim is None: # pragma: no cover raise RuntimeError("Cannot migrate: no stored vector dimension") - db_path = str(Path(self._uri) / DB_FILENAME) - compact_path = db_path + ".compact" - new_conn = self._open_connection(compact_path) - try: + with self._rebuild_file() as new_conn: migration.apply(self._conn, new_conn, dim) - self._meta_set_on(new_conn, "schema_version", str(migration.to_version)) - except BaseException: # pragma: no cover - new_conn.close() - for p in [compact_path, compact_path + "-wal", compact_path + "-shm"]: - Path(p).unlink(missing_ok=True) - raise - new_conn.close() - self._swap_in_compact(compact_path, db_path) + IndexMetaTable.set_schema_version(new_conn, migration.to_version) + + +# Registers m0001_v1_to_v2 into MIGRATIONS; must be at the bottom (needs +# PaperlessSqliteVecVectorStore fully defined) -- see +# paperless_ai/migrations/__init__.py for the full procedure. +from paperless_ai.migrations import m0001_v1_to_v2 # noqa: E402, F401 From 68a769b40ce52f9bac3714dee699f1956541b80f Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Sat, 1 Aug 2026 07:20:29 -0700 Subject: [PATCH 47/77] Fix: make LLM index migration-check result tri-state, avoid deferred-vs-current ambiguity (#13436) * Fix: make migration-check result tri-state to avoid deferred-vs-current ambiguity * Test: cover update_llm_index()'s migration-check-deferred branch * Refactor: rename COMPACT_BATCH_SIZE to BATCH_SIZE, no longer compact()-specific --- src/paperless_ai/indexing.py | 91 +++++++++++-- src/paperless_ai/migrations/m0001_v1_to_v2.py | 4 +- src/paperless_ai/tables.py | 2 +- src/paperless_ai/tests/test_ai_indexing.py | 127 ++++++++++++++++++ src/paperless_ai/tests/test_vector_store.py | 2 +- src/paperless_ai/vector_store.py | 14 +- 6 files changed, 216 insertions(+), 24 deletions(-) diff --git a/src/paperless_ai/indexing.py b/src/paperless_ai/indexing.py index 59cfb6d9d..30d722a47 100644 --- a/src/paperless_ai/indexing.py +++ b/src/paperless_ai/indexing.py @@ -1,3 +1,4 @@ +import enum import logging from collections.abc import Iterable from contextlib import contextmanager @@ -192,18 +193,49 @@ def write_store(embed_model_name: str | None = None): yield store -def _check_and_run_migrations(store: "PaperlessSqliteVecVectorStore") -> bool: - """Run any pending structural migrations, returning True if a pending - re-embed migration needs the caller to force a rebuild -- never - triggered automatically here. Safe to call before any write, including +class MigrationCheckResult(enum.Enum): + """Outcome of _check_and_run_migrations(). + + CURRENT: no migration was pending, or a pending structural migration + was applied successfully -- safe to write. + + REEMBED_REQUIRED: a pending migration needs fresh embeddings, which is + never triggered automatically -- the caller must force a rebuild. + + DEFERRED: a migration was pending but could not run because active + index readers did not drain within LLM_INDEX_COMPACTION_LOCK_TIMEOUT -- + the store is still on its old schema. Callers must NOT proceed to + write: collapsing this into the same falsy value as CURRENT (as a + plain bool return once did) would let a write proceed against an + unmigrated schema. + """ + + CURRENT = "current" + REEMBED_REQUIRED = "reembed_required" + DEFERRED = "deferred" + + +def _check_and_run_migrations( + store: "PaperlessSqliteVecVectorStore", +) -> MigrationCheckResult: + """Run any pending structural migrations, reporting the outcome as a + tri-state result. Safe to call before any write, including delete()/upsert_document(): has_pending_migration() (see its docstring) keeps this a no-op, with no exclusive access taken, once the store is current. """ if not store.has_pending_migration(): - return False - return bool( - _with_exclusive_access("migration check", store.check_and_run_migrations), + return MigrationCheckResult.CURRENT + result = _with_exclusive_access( + "migration check", + store.check_and_run_migrations, + ) + if result is None: + return MigrationCheckResult.DEFERRED + return ( + MigrationCheckResult.REEMBED_REQUIRED + if result + else MigrationCheckResult.CURRENT ) @@ -378,12 +410,21 @@ def update_llm_index( happens, since a rebuild always covers the whole library regardless. """ with write_store() as store: - needs_reembed = _check_and_run_migrations(store) - if needs_reembed: + migration_result = _check_and_run_migrations(store) + if migration_result is MigrationCheckResult.REEMBED_REQUIRED: logger.warning( "LLM index migration requires re-embedding; forcing rebuild.", ) rebuild = True + elif migration_result is MigrationCheckResult.DEFERRED: + logger.info( + "Skipping LLM index update: migration check deferred while " + "index readers are active; will retry next run.", + ) + return ( + "Skipping LLM index update: migration check deferred; " + "will retry next run." + ) documents = Document.objects.select_related( "correspondent", "document_type", @@ -461,8 +502,8 @@ def llm_index_add_or_update_document(document: Document): _embed_nodes(new_nodes, get_embedding_model(config)) with write_store(embed_model_name=get_configured_model_name(config)) as store: - needs_reembed = _check_and_run_migrations(store) - if needs_reembed: + migration_result = _check_and_run_migrations(store) + if migration_result is MigrationCheckResult.REEMBED_REQUIRED: logger.warning( "Skipping incremental LLM index update for document %s: the " "index requires re-embedding first. Run 'document_llmindex " @@ -470,6 +511,14 @@ def llm_index_add_or_update_document(document: Document): document.id, ) return + if migration_result is MigrationCheckResult.DEFERRED: + logger.info( + "Skipping incremental LLM index update for document %s: " + "migration check deferred while index readers are active; " + "will retry on the next write.", + document.id, + ) + return store.upsert_document(str(document.id), new_nodes) @@ -488,14 +537,19 @@ def llm_index_migrate() -> None: if not AIConfig().llm_index_enabled: return with write_store() as store: - needs_reembed = _check_and_run_migrations(store) - if needs_reembed: + migration_result = _check_and_run_migrations(store) + if migration_result is MigrationCheckResult.REEMBED_REQUIRED: logger.warning( "LLM index requires re-embedding, which this automatic migration " "check will not do on its own -- it can be slow and, for a " "metered embedding backend, cost money. Run " "'document_llmindex rebuild' manually when ready.", ) + elif migration_result is MigrationCheckResult.DEFERRED: + logger.info( + "LLM index migration check deferred while index readers are " + "active; will retry next run.", + ) def llm_index_compact() -> None: @@ -507,7 +561,8 @@ def llm_index_compact() -> None: def llm_index_remove_document(document: Document): """Remove a document's chunks from the LLM index.""" with write_store() as store: - if _check_and_run_migrations(store): + migration_result = _check_and_run_migrations(store) + if migration_result is MigrationCheckResult.REEMBED_REQUIRED: logger.warning( "Skipping removal of document %s from the LLM index: the " "index requires re-embedding first. Run 'document_llmindex " @@ -515,6 +570,14 @@ def llm_index_remove_document(document: Document): document.id, ) return + if migration_result is MigrationCheckResult.DEFERRED: + logger.info( + "Skipping removal of document %s from the LLM index: " + "migration check deferred while index readers are active; " + "will retry on the next write.", + document.id, + ) + return store.delete(str(document.id)) diff --git a/src/paperless_ai/migrations/m0001_v1_to_v2.py b/src/paperless_ai/migrations/m0001_v1_to_v2.py index c7edf7f41..18409d5fc 100644 --- a/src/paperless_ai/migrations/m0001_v1_to_v2.py +++ b/src/paperless_ai/migrations/m0001_v1_to_v2.py @@ -7,7 +7,7 @@ from paperless_ai.tables import DocumentChunksTable from paperless_ai.tables import DocumentMetaRow from paperless_ai.tables import DocumentMetaTable from paperless_ai.tables import IndexMetaTable -from paperless_ai.vector_store import COMPACT_BATCH_SIZE +from paperless_ai.vector_store import BATCH_SIZE from paperless_ai.vector_store import DEFAULT_TABLE_NAME # v1's vec0 shape has never changed since it first shipped and is the ONLY @@ -75,7 +75,7 @@ def _migrate_v1_to_v2( dst_conn.execute("BEGIN IMMEDIATE") src_cursor = src_conn.execute(_V1_SELECT) live = 0 - while batch := src_cursor.fetchmany(COMPACT_BATCH_SIZE): + while batch := src_cursor.fetchmany(BATCH_SIZE): vec0_rows = [] chunk_rows = [] meta_by_document: dict[int, str] = {} diff --git a/src/paperless_ai/tables.py b/src/paperless_ai/tables.py index f3ac5710f..c8d6d838c 100644 --- a/src/paperless_ai/tables.py +++ b/src/paperless_ai/tables.py @@ -131,7 +131,7 @@ class DocumentMetaTable: connections (compact()/migrations) -- an unbounded fetchall here would defeat the same OOM-avoidance the vec0 row copy already relies on. batch_size has no default: forces the call site to think about - it (pass COMPACT_BATCH_SIZE).""" + it (pass BATCH_SIZE).""" cursor = src_conn.execute( "SELECT document_id, modified FROM document_meta", ) diff --git a/src/paperless_ai/tests/test_ai_indexing.py b/src/paperless_ai/tests/test_ai_indexing.py index 25d0a7204..2da225053 100644 --- a/src/paperless_ai/tests/test_ai_indexing.py +++ b/src/paperless_ai/tests/test_ai_indexing.py @@ -9,6 +9,7 @@ from django.db import connection from django.test import override_settings from django.test.utils import CaptureQueriesContext from django.utils import timezone +from filelock import Timeout from llama_index.core.schema import MetadataMode from documents.models import Correspondent @@ -830,6 +831,44 @@ class TestLlmIndexLocking: mock_store.upsert_document.assert_not_called() + def test_add_or_update_document_skips_write_when_migration_check_deferred( + self, + temp_llm_index_dir: Path, + mock_embed_model: FakeEmbedding, + mocker: pytest_mock.MockerFixture, + ) -> None: + """A migration check that times out waiting for readers to drain + must be treated the same as a pending migration -- proceeding to + write would target a store still on its old schema. Regression + test for the tri-state fix: a bare bool collapsed this outcome + into the same falsy value as "already current". + """ + mock_store = MagicMock() + mock_store.has_pending_migration.return_value = True + mocker.patch( + "paperless_ai.indexing.write_store", + return_value=mocker.MagicMock( + __enter__=mocker.MagicMock(return_value=mock_store), + __exit__=mocker.MagicMock(return_value=False), + ), + ) + mocker.patch( + "paperless_ai.indexing._exclude_readers", + side_effect=Timeout("test"), + ) + mock_node = MagicMock() + mock_node.get_content.return_value = "fake node text" + mocker.patch( + "paperless_ai.indexing.build_document_node", + return_value=[mock_node], + ) + + doc = MagicMock(spec=Document) + doc.id = 1 + indexing.llm_index_add_or_update_document(doc) + + mock_store.upsert_document.assert_not_called() + def test_remove_document_uses_write_store( self, temp_llm_index_dir: Path, @@ -876,6 +915,34 @@ class TestLlmIndexLocking: mock_store.delete.assert_not_called() + def test_remove_document_skips_write_when_migration_check_deferred( + self, + temp_llm_index_dir: Path, + mocker: pytest_mock.MockerFixture, + ) -> None: + """A migration check deferred by a reader-lock timeout must block + the delete too, for the same reason as the incremental-update path. + """ + mock_store = MagicMock() + mock_store.has_pending_migration.return_value = True + mocker.patch( + "paperless_ai.indexing.write_store", + return_value=mocker.MagicMock( + __enter__=mocker.MagicMock(return_value=mock_store), + __exit__=mocker.MagicMock(return_value=False), + ), + ) + mocker.patch( + "paperless_ai.indexing._exclude_readers", + side_effect=Timeout("test"), + ) + + doc = MagicMock(spec=Document) + doc.id = 1 + indexing.llm_index_remove_document(doc) + + mock_store.delete.assert_not_called() + def test_update_llm_index_rebuild_uses_write_store( self, temp_llm_index_dir: Path, @@ -899,6 +966,35 @@ class TestLlmIndexLocking: mock_store.drop_table.assert_called_once() + def test_update_llm_index_skips_when_migration_check_deferred( + self, + temp_llm_index_dir: Path, + mocker: pytest_mock.MockerFixture, + ) -> None: + """A migration check deferred by a reader-lock timeout must short- + circuit before the second write_store() block (document scanning, + add/upsert, compaction) ever runs -- that block would otherwise + write against a store still on its old schema. + """ + mock_store = MagicMock() + mock_store.has_pending_migration.return_value = True + write_store_mock = mocker.patch( + "paperless_ai.indexing.write_store", + return_value=mocker.MagicMock( + __enter__=mocker.MagicMock(return_value=mock_store), + __exit__=mocker.MagicMock(return_value=False), + ), + ) + mocker.patch( + "paperless_ai.indexing._exclude_readers", + side_effect=Timeout("test"), + ) + + result = indexing.update_llm_index(rebuild=False) + + assert "deferred" in result + write_store_mock.assert_called_once() + @pytest.mark.django_db @pytest.mark.django_db @@ -1017,6 +1113,37 @@ class TestLlmIndexMigrate: indexing.llm_index_migrate() assert "requires re-embedding" in caplog.text + def test_logs_info_when_migration_check_deferred( + self, + mocker: pytest_mock.MockerFixture, + caplog: pytest.LogCaptureFixture, + ) -> None: + """ + GIVEN: + - AI/LLM index support is enabled + - A pending migration cannot run because readers are active + WHEN: + - llm_index_migrate() is called + THEN: + - An info line notes the deferral, not the re-embed warning + """ + mocker.patch( + "paperless_ai.indexing.AIConfig", + return_value=mocker.Mock(llm_index_enabled=True), + ) + store_mock = mocker.MagicMock() + store_mock.has_pending_migration.return_value = True + write_store_cm = mocker.patch("paperless_ai.indexing.write_store") + write_store_cm.return_value.__enter__.return_value = store_mock + mocker.patch( + "paperless_ai.indexing._exclude_readers", + side_effect=Timeout("test"), + ) + with caplog.at_level(logging.INFO, logger="paperless_ai.indexing"): + indexing.llm_index_migrate() + assert "deferred" in caplog.text + assert "requires re-embedding" not in caplog.text + @pytest.mark.django_db class TestQuerySimilarDocuments: diff --git a/src/paperless_ai/tests/test_vector_store.py b/src/paperless_ai/tests/test_vector_store.py index e4cf883bb..3d2dc13f5 100644 --- a/src/paperless_ai/tests/test_vector_store.py +++ b/src/paperless_ai/tests/test_vector_store.py @@ -508,7 +508,7 @@ class TestCompact: A tiny batch size forces several fetchmany()/executemany() cycles so a regression in the streaming loop (dropped tail, off-by-one) surfaces. """ - monkeypatch.setattr("paperless_ai.vector_store.COMPACT_BATCH_SIZE", 3) + monkeypatch.setattr("paperless_ai.vector_store.BATCH_SIZE", 3) store.add([make_node(f"n{i}", 1, seed=float(i)) for i in range(10)]) store.compact(force=True) ids = {n.node_id for n in store.get_nodes(filters=_in_filter([1]))} diff --git a/src/paperless_ai/vector_store.py b/src/paperless_ai/vector_store.py index bb3007323..975b6c57b 100644 --- a/src/paperless_ai/vector_store.py +++ b/src/paperless_ai/vector_store.py @@ -47,10 +47,12 @@ SCHEMA_VERSION = 2 # a rebuild copies the live rows into a fresh table. COMPACT_BLOAT_RATIO = 2.0 -# compact(): number of rows copied per executemany() when rebuilding the file. -# Rows are streamed from the source cursor in batches of this size rather than -# materialized all at once, keeping memory bounded regardless of index size. -COMPACT_BATCH_SIZE = 500 +# Number of rows fetched/copied per batch whenever this module streams rows +# instead of materializing them all at once, keeping memory bounded regardless +# of index size -- used by compact()'s rebuild, m0001_v1_to_v2's migration +# copy, and DocumentMetaTable.copy_all(). No longer compact()-specific, hence +# the plain name. +BATCH_SIZE = 500 # Filterable vec0 metadata columns. _build_where() only ever receives filter # keys we construct ourselves, but allowlisting keeps SQL identifiers safe by @@ -605,7 +607,7 @@ class PaperlessSqliteVecVectorStore(BasePydanticVectorStore): + DEFAULT_TABLE_NAME, ) copied = 0 - while batch := src_cursor.fetchmany(COMPACT_BATCH_SIZE): + while batch := src_cursor.fetchmany(BATCH_SIZE): dst_conn.executemany( _INSERT, [ @@ -623,7 +625,7 @@ class PaperlessSqliteVecVectorStore(BasePydanticVectorStore): (ChunkRow(r["id"], r["document_id"]) for r in batch), ) copied += len(batch) - DocumentMetaTable.copy_all(src_conn, dst_conn, COMPACT_BATCH_SIZE) + DocumentMetaTable.copy_all(src_conn, dst_conn, BATCH_SIZE) # Reset the cumulative counter: after a rebuild, total_inserts == live. IndexMetaTable.reset_total_inserts(dst_conn, copied) dst_conn.execute("COMMIT") From e35452beeb4589ba15d54fbc88223a715005e80a Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Sat, 1 Aug 2026 07:20:30 -0700 Subject: [PATCH 48/77] Perf/fix: stop building a full-library IN filter for unrestricted RAG context (#13441) get_context_for_document() always materialized every document id a user can see into a Python list, even for a superuser (or no user at all), passing it through as a SQL IN filter. For a superuser, that's the whole library: - Past ~32,763 documents, this crashes outright: sqlite3.OperationalError: too many SQL variables (SQLite's SQLITE_MAX_VARIABLE_NUMBER is 32766 by default, and the query already binds embedding + k + a NE self-exclusion clause alongside the ids). - Below that cliff, vec0's IN-list evaluation is a nested loop (strncmp per row per allowed id), so it's quadratic in library size for no reason -- the filter was never going to exclude anything. get_objects_for_user_owner_aware() already returns every Document for a superuser (guardian's own with_superuser shortcut), so skipping straight to document_ids=None changes nothing about which documents are considered, only how we get there. Also: - Drop the pointless sorted() in _document_id_filters(): a SQL IN clause doesn't care about order, so it was pure overhead on every call. - Add a hard guard in _build_where() so a future regression (or a legitimately huge permission-restricted user) fails closed -- no rows, a logged warning -- instead of a cryptic OperationalError. Since this filter scopes document access, failing closed rather than skipping the filter is the only safe way to handle an oversized list. First item from VECTOR_STORE_PERF_BACKLOG.md (an audit done alongside perf/13314-vecstore-point-delete, deferred to its own branch since that one was already large). Co-authored-by: Claude Sonnet 5 --- src/paperless_ai/ai_classifier.py | 31 +++--- src/paperless_ai/indexing.py | 2 +- src/paperless_ai/tests/test_ai_classifier.py | 103 +++++++++++++++++++ src/paperless_ai/tests/test_vector_store.py | 44 +++++++- src/paperless_ai/vector_store.py | 26 +++++ 5 files changed, 191 insertions(+), 15 deletions(-) diff --git a/src/paperless_ai/ai_classifier.py b/src/paperless_ai/ai_classifier.py index 41bf8e903..13a145709 100644 --- a/src/paperless_ai/ai_classifier.py +++ b/src/paperless_ai/ai_classifier.py @@ -96,19 +96,26 @@ def get_context_for_document( user: User | None = None, max_docs: int = 5, ) -> str: - visible_documents = ( - get_objects_for_user_owner_aware( - user, - "view_document", - Document, - ) - if user - else None - ) + # None means "no restriction" to query_similar_documents. A superuser + # (like no user at all) can see every document, so skip materializing + # every visible pk into a Python list and passing it through as a SQL + # IN filter: for a large library that is a wasted quadratic scan in the + # vector store at best, and past ~32,763 documents a hard + # sqlite3.OperationalError (SQLite's bound-parameter limit) at worst. + # get_objects_for_user_owner_aware() would return every Document for a + # superuser anyway (guardian's own with_superuser shortcut), so this + # changes nothing about which documents are considered -- only how we + # get there. visible_document_ids = ( - list(visible_documents.values_list("pk", flat=True)) - if visible_documents is not None - else None + None + if user is None or user.is_superuser + else list( + get_objects_for_user_owner_aware( + user, + "view_document", + Document, + ).values_list("pk", flat=True), + ) ) similar_docs = query_similar_documents( document=doc, diff --git a/src/paperless_ai/indexing.py b/src/paperless_ai/indexing.py index 30d722a47..5f90fa051 100644 --- a/src/paperless_ai/indexing.py +++ b/src/paperless_ai/indexing.py @@ -372,7 +372,7 @@ def _document_id_filters(doc_ids): MetadataFilter( key="document_id", operator=FilterOperator.IN, - value=sorted(doc_ids), + value=list(doc_ids), ), ], ) diff --git a/src/paperless_ai/tests/test_ai_classifier.py b/src/paperless_ai/tests/test_ai_classifier.py index 470c7fe07..0cc6d8231 100644 --- a/src/paperless_ai/tests/test_ai_classifier.py +++ b/src/paperless_ai/tests/test_ai_classifier.py @@ -3,6 +3,8 @@ from unittest.mock import MagicMock from unittest.mock import patch import pytest +import pytest_mock +from django.contrib.auth.models import User from django.test import override_settings from documents.models import Document @@ -278,3 +280,104 @@ def test_get_context_for_document_no_similar_docs(mock_document): with patch("paperless_ai.ai_classifier.query_similar_documents", return_value=[]): result = get_context_for_document(mock_document) assert result == "" + + +class TestGetContextForDocumentVisibility: + """get_context_for_document must not materialize every visible document + id for a user who can already see the whole library: a superuser (like + no user at all) gets document_ids=None (no restriction) straight + through to query_similar_documents(), instead of a full-library IN + filter that is wasteful at best and, past ~32,763 documents, a hard + sqlite3.OperationalError at worst (SQLite's bound-parameter limit). + """ + + def test_skips_permission_lookup_for_superuser( + self, + mock_document: MagicMock, + mock_similar_documents: list[MagicMock], + mocker: pytest_mock.MockerFixture, + ) -> None: + """ + GIVEN: + - A superuser + WHEN: + - get_context_for_document() is called + THEN: + - get_objects_for_user_owner_aware() is never called, and + query_similar_documents() is called with document_ids=None + """ + mock_query = mocker.patch( + "paperless_ai.ai_classifier.query_similar_documents", + return_value=mock_similar_documents, + ) + mock_get_objects = mocker.patch( + "paperless_ai.ai_classifier.get_objects_for_user_owner_aware", + ) + user = mocker.MagicMock(spec=User) + user.is_superuser = True + + get_context_for_document(mock_document, user, max_docs=2) + + mock_get_objects.assert_not_called() + assert mock_query.call_args.kwargs["document_ids"] is None + + def test_skips_permission_lookup_when_no_user( + self, + mock_document: MagicMock, + mock_similar_documents: list[MagicMock], + mocker: pytest_mock.MockerFixture, + ) -> None: + """ + GIVEN: + - No user (user=None) + WHEN: + - get_context_for_document() is called + THEN: + - get_objects_for_user_owner_aware() is never called, and + query_similar_documents() is called with document_ids=None + """ + mock_query = mocker.patch( + "paperless_ai.ai_classifier.query_similar_documents", + return_value=mock_similar_documents, + ) + mock_get_objects = mocker.patch( + "paperless_ai.ai_classifier.get_objects_for_user_owner_aware", + ) + + get_context_for_document(mock_document, None, max_docs=2) + + mock_get_objects.assert_not_called() + assert mock_query.call_args.kwargs["document_ids"] is None + + def test_restricts_to_visible_documents_for_non_superuser( + self, + mock_document: MagicMock, + mock_similar_documents: list[MagicMock], + mocker: pytest_mock.MockerFixture, + ) -> None: + """ + GIVEN: + - A non-superuser with a specific set of visible documents + WHEN: + - get_context_for_document() is called + THEN: + - query_similar_documents() is called with exactly that user's + visible document ids, unchanged from before this optimization + """ + mock_query = mocker.patch( + "paperless_ai.ai_classifier.query_similar_documents", + return_value=mock_similar_documents, + ) + mock_queryset = mocker.MagicMock() + mock_queryset.values_list.return_value = [1, 2, 3] + mock_get_objects = mocker.patch( + "paperless_ai.ai_classifier.get_objects_for_user_owner_aware", + return_value=mock_queryset, + ) + user = mocker.MagicMock(spec=User) + user.is_superuser = False + + get_context_for_document(mock_document, user, max_docs=2) + + mock_get_objects.assert_called_once_with(user, "view_document", Document) + assert mock_query.call_args.kwargs["document_ids"] == [1, 2, 3] diff --git a/src/paperless_ai/tests/test_vector_store.py b/src/paperless_ai/tests/test_vector_store.py index 3d2dc13f5..3ed1b7e42 100644 --- a/src/paperless_ai/tests/test_vector_store.py +++ b/src/paperless_ai/tests/test_vector_store.py @@ -17,6 +17,7 @@ from paperless_ai.migrations import Migration from paperless_ai.migrations import m0001_v1_to_v2 from paperless_ai.tables import DocumentChunksTable from paperless_ai.tables import DocumentMetaTable +from paperless_ai.vector_store import _MAX_IN_VALUES from paperless_ai.vector_store import DB_FILENAME from paperless_ai.vector_store import DEFAULT_TABLE_NAME from paperless_ai.vector_store import SCHEMA_VERSION @@ -296,8 +297,47 @@ class TestBuildWhere: assert where == "1 = 0" assert params == [] - def test_query_with_untranslatable_filter_returns_no_rows(self, store) -> None: - store.add([make_node("a1", 1), make_node("b1", 2)]) + def test_fails_closed_when_in_filter_exceeds_max_values( + self, + caplog: pytest.LogCaptureFixture, + ) -> None: + """ + GIVEN: + - An IN filter with more values than _MAX_IN_VALUES (SQLite's + own bound-parameter limit is 32766; this guard sits below + that with headroom for the query's other bound parameters) + WHEN: + - _build_where() translates it to SQL + THEN: + - It fails closed ("1 = 0", no params) instead of building an + IN clause SQLite would reject, and logs a warning -- this + filter scopes document access, so refusing to build it must + never widen the scope to "everything" by accident + """ + oversized = _in_filter([str(i) for i in range(_MAX_IN_VALUES + 1)]) + + with caplog.at_level("WARNING"): + where, params = _build_where(oversized) + + assert where == "(1 = 0)" + assert params == [] + assert "document_id" in caplog.text + + def test_query_with_untranslatable_filter_returns_no_rows( + self, + store: PaperlessSqliteVecVectorStore, + ) -> None: + """ + GIVEN: + - A store with one chunk each for documents 1 and 2 + WHEN: + - A query and a get_nodes() call are issued with a filter whose + only clause is an untranslatable nested MetadataFilters + THEN: + - Neither call raises, and both fail closed by returning no rows + (rather than emitting invalid or unfiltered SQL) + """ + store.add([make_node("a1", "1"), make_node("b1", "2")]) nested = MetadataFilters( filters=[ MetadataFilter( diff --git a/src/paperless_ai/vector_store.py b/src/paperless_ai/vector_store.py index 975b6c57b..b7de0936d 100644 --- a/src/paperless_ai/vector_store.py +++ b/src/paperless_ai/vector_store.py @@ -75,6 +75,17 @@ class _Row(NamedTuple): embedding: bytes +# _build_where(): the largest IN value list translated into bound SQL +# parameters. SQLite's own hard limit (SQLITE_MAX_VARIABLE_NUMBER) is 32766 +# by default; this leaves headroom below that for the query's other bound +# parameters (the embedding blob, k, and any NE clause) and for the limit +# itself to move. An IN filter this large should not happen in practice -- +# callers are expected to pass None (no filter) rather than every id when +# the filter would not actually narrow anything -- so this is a guard +# against a future regression, not a normal code path. +_MAX_IN_VALUES = 32700 + + def _pack(embedding: Sequence[float]) -> bytes: return struct.pack(f"{len(embedding)}f", *embedding) @@ -119,6 +130,21 @@ def _build_where(filters: MetadataFilters | None) -> tuple[str, list[int]]: if not values: # pragma: no cover clauses.append("1 = 0") continue + if len(values) > _MAX_IN_VALUES: + # Fail closed (see the empty-clauses case below) rather than + # let SQLite raise "too many SQL variables" past its own + # limit: this filter scopes document access, so an IN list + # too large to safely bind must match no rows, never widen + # the scope to "everything" by accident. + logger.warning( + "Refusing to build an IN filter on %r with %d values " + "(over the %d-value safety limit); returning no rows.", + f.key, + len(values), + _MAX_IN_VALUES, + ) + clauses.append("1 = 0") + continue placeholders = ",".join("?" for _ in values) clauses.append(f"{f.key} IN ({placeholders})") params.extend(values) From 0bbe180f63f9d85522adbe198d26cbb50ae65787 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat, 1 Aug 2026 13:27:34 -0700 Subject: [PATCH 49/77] Fix: fix edit dialog error change detection (#13483) --- .../edit-dialog/edit-dialog.component.spec.ts | 20 +++++++++++++++++++ .../edit-dialog/edit-dialog.component.ts | 5 +++++ 2 files changed, 25 insertions(+) diff --git a/src-ui/src/app/components/common/edit-dialog/edit-dialog.component.spec.ts b/src-ui/src/app/components/common/edit-dialog/edit-dialog.component.spec.ts index 6dd1e11c9..5eaa9537b 100644 --- a/src-ui/src/app/components/common/edit-dialog/edit-dialog.component.spec.ts +++ b/src-ui/src/app/components/common/edit-dialog/edit-dialog.component.spec.ts @@ -32,6 +32,8 @@ import { EditDialogComponent, EditDialogMode } from './edit-dialog.component' template: `
+ {{ error?.name }} +
`, imports: [FormsModule, ReactiveFormsModule], @@ -276,4 +278,22 @@ describe('EditDialogComponent', () => { expect(failedSpy).toHaveBeenCalled() expect(component.error).toEqual('error') }) + + it('should update the view after a failed save', async () => { + const button: HTMLButtonElement = + fixture.nativeElement.querySelector('button') + button.click() + await fixture.whenStable() + expect(button.disabled).toBe(true) + + httpTestingController + .expectOne(`${environment.apiBaseUrl}tags/`) + .flush({ name: ['Name is required.'] }, { status: 400, statusText: '' }) + await fixture.whenStable() + + expect(button.disabled).toBe(false) + expect(fixture.nativeElement.querySelector('.error').textContent).toContain( + 'Name is required.' + ) + }) }) diff --git a/src-ui/src/app/components/common/edit-dialog/edit-dialog.component.ts b/src-ui/src/app/components/common/edit-dialog/edit-dialog.component.ts index 456ba69f9..d9fc611d6 100644 --- a/src-ui/src/app/components/common/edit-dialog/edit-dialog.component.ts +++ b/src-ui/src/app/components/common/edit-dialog/edit-dialog.component.ts @@ -1,4 +1,5 @@ import { + ChangeDetectorRef, Directive, EventEmitter, Input, @@ -45,6 +46,7 @@ export abstract class EditDialogComponent< protected userService = inject(UserService) protected settingsService = inject(SettingsService) protected permissionsService = inject(PermissionsService) + protected changeDetector = inject(ChangeDetectorRef) dialogMode = model(EditDialogMode.CREATE) @@ -108,10 +110,12 @@ export abstract class EditDialogComponent< // wait to enable close button so it doesn't steal focus from input since its the first clickable element in the DOM setTimeout(() => { this.closeEnabled = true + this.changeDetector.markForCheck() }) this.userService.listAll().subscribe((r) => { this.users = r.results + this.changeDetector.markForCheck() }) } @@ -191,6 +195,7 @@ export abstract class EditDialogComponent< this.error = error.error this.networkActive = false this.failed.next(error) + this.changeDetector.markForCheck() }, }) } From bbdf2cbd06a700e9eb19da0e67aaeac1e6ed6292 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 1 Aug 2026 20:33:37 +0000 Subject: [PATCH 50/77] Auto translate strings --- src-ui/messages.xlf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src-ui/messages.xlf b/src-ui/messages.xlf index e0fc47399..4a0607abb 100644 --- a/src-ui/messages.xlf +++ b/src-ui/messages.xlf @@ -4330,14 +4330,14 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123
Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 From a5645392a5a993d60acc5bce8920087c001bd576 Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Sat, 1 Aug 2026 14:16:57 -0700 Subject: [PATCH 51/77] Fix: accept Whoosh-era abbreviated relative-date units (yrs, mos, wks, etc) in search queries (#13486) --- src/documents/search/_translate.py | 38 +++++++++++-- src/documents/tests/search/test_translate.py | 60 ++++++++++++++++++++ 2 files changed, 93 insertions(+), 5 deletions(-) diff --git a/src/documents/search/_translate.py b/src/documents/search/_translate.py index a3ec729fd..f020f1c89 100644 --- a/src/documents/search/_translate.py +++ b/src/documents/search/_translate.py @@ -391,14 +391,40 @@ _NOW_COMPACT_RE = regex.compile( regex.IGNORECASE, ) -# Matches "±N " Whoosh-style offsets (e.g. -7 days, -1 week, +3 hours) -# Unit is singular or plural; sign prefix is mandatory. +# Matches "±N " Whoosh-style offsets (e.g. -7 days, -1 week, +3 hours). +# Whoosh's own date parser (qparser.dateparse.PlusMinus) additionally accepted +# abbreviated unit spellings (e.g. "yrs", "yr", "y", "mos", "wks", "hrs", "mins", +# "secs"); saved views/searches created under the old Whoosh backend can still +# contain those tokens (e.g. "-999yrs"), so they are accepted here too and +# normalized to a canonical unit via _UNIT_ALIASES below. _NOW_SPACED_RE = regex.compile( r"^(?P[+-])(?P\d+)\s*" - r"(?Psecond|minute|hour|day|week|month|year)s?$", + r"(?Pyears|year|yrs|yr|ys|y" + r"|months|month|mons|mon|mos|mo" + r"|weeks|week|wks|wk|ws|w" + r"|days|day|dys|dy|ds|d" + r"|hours|hour|hrs|hr|hs|h" + r"|minutes|minute|mins|min|ms|m" + r"|seconds|second|secs|sec|s)$", regex.IGNORECASE, ) +# Maps every accepted unit spelling (including Whoosh-era abbreviations) to the +# canonical unit name used as a key into the delta map in _resolve_relative_bound. +_UNIT_ALIASES: dict[str, str] = { + alias: canonical + for canonical, aliases in { + "year": ("years", "year", "yrs", "yr", "ys", "y"), + "month": ("months", "month", "mons", "mon", "mos", "mo"), + "week": ("weeks", "week", "wks", "wk", "ws", "w"), + "day": ("days", "day", "dys", "dy", "ds", "d"), + "hour": ("hours", "hour", "hrs", "hr", "hs", "h"), + "minute": ("minutes", "minute", "mins", "min", "ms", "m"), + "second": ("seconds", "second", "secs", "sec", "s"), + }.items() + for alias in aliases +} + def _resolve_relative_bound(token: str) -> datetime | None: """ @@ -407,7 +433,9 @@ def _resolve_relative_bound(token: str) -> datetime | None: Supported forms: - ``now`` -> current UTC instant - ``now+/-d/h/m`` -> now +/- timedelta (d=days, h=hours, m=minutes) - - ``±N `` -> now +/- delta; month/year use relativedelta + - ``±N `` -> now +/- delta; month/year use relativedelta; + unit also accepts Whoosh-era abbreviations + (e.g. "yrs", "mos", "wks", "hrs", "mins", "secs") """ stripped = token.strip() low = stripped.lower() @@ -435,7 +463,7 @@ def _resolve_relative_bound(token: str) -> datetime | None: if m: sign = 1 if m.group("sign") == "+" else -1 n = int(m.group("n")) - unit = m.group("unit").lower() + unit = _UNIT_ALIASES[m.group("unit").lower()] delta_map: dict[str, timedelta | relativedelta] = { "second": timedelta(seconds=n), "minute": timedelta(minutes=n), diff --git a/src/documents/tests/search/test_translate.py b/src/documents/tests/search/test_translate.py index 70611aecc..e319564d1 100644 --- a/src/documents/tests/search/test_translate.py +++ b/src/documents/tests/search/test_translate.py @@ -488,6 +488,66 @@ class TestRelativeRanges: index.parse_query(translated, DEFAULT_SEARCH_FIELDS, field_boosts=_FIELD_BOOSTS) +@pytest.mark.search +class TestWhooshUnitAbbreviations: + """ + Whoosh's PlusMinus date grammar accepted abbreviated unit spellings + (e.g. "yrs", "mos", "wks", "hrs", "mins", "secs"); saved views/searches + created under the old Whoosh backend can contain those tokens (see + https://github.com/paperless-ngx/paperless-ngx/issues/13482), so the + Tantivy translator must still accept them. + """ + + @time_machine.travel(_FROZEN_NOW, tick=False) + def test_minus_999_yrs(self) -> None: + assert translate_query("created:[-999yrs to now]", UTC) == ( + "created:[1027-03-28T12:00:00Z TO 2026-03-28T12:00:00Z]" + ) + + @pytest.mark.parametrize( + ("token", "expected_lo"), + [ + ("-1y", "2025-03-28T12:00:00Z"), + ("-1yr", "2025-03-28T12:00:00Z"), + ("-3mos", "2025-12-28T12:00:00Z"), + ("-3mo", "2025-12-28T12:00:00Z"), + ("-2wks", "2026-03-14T12:00:00Z"), + ("-2wk", "2026-03-14T12:00:00Z"), + ("-5dys", "2026-03-23T12:00:00Z"), + ("-5dy", "2026-03-23T12:00:00Z"), + ("-1hrs", "2026-03-28T11:00:00Z"), + ("-1hr", "2026-03-28T11:00:00Z"), + ("-10mins", "2026-03-28T11:50:00Z"), + ("-10min", "2026-03-28T11:50:00Z"), + ("-30secs", "2026-03-28T11:59:30Z"), + ("-30sec", "2026-03-28T11:59:30Z"), + ], + ) + @time_machine.travel(_FROZEN_NOW, tick=False) + def test_abbreviated_units(self, token: str, expected_lo: str) -> None: + assert translate_query(f"added:[{token} to now]", UTC) == ( + f"added:[{expected_lo} TO 2026-03-28T12:00:00Z]" + ) + + @pytest.mark.parametrize( + "raw", + [ + "created:[-999yrs to now]", + "added:[-1y to now]", + "created:[-3mos to now]", + "added:[-2wks to now]", + "added:[-5dys to now]", + "added:[-1hrs to now]", + "added:[-10mins to now]", + "added:[-30secs to now]", + ], + ) + @time_machine.travel(_FROZEN_NOW, tick=False) + def test_parse_acceptance(self, index: tantivy.Index, raw: str) -> None: + translated = translate_query(raw, UTC) + index.parse_query(translated, DEFAULT_SEARCH_FIELDS, field_boosts=_FIELD_BOOSTS) + + @pytest.mark.search class TestOperatorNormalization: """Post-render operator normalization in translate_query.""" From 882dfa78d2e9679ba3f7b76b87115d4d6443645a Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat, 1 Aug 2026 14:20:31 -0700 Subject: [PATCH 52/77] Documentation: PAPERLESS_CONSUMER_IGNORE_PATTERNS clarifications (#13489) --- docs/configuration.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index 6529791f0..16d11e6b5 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -1360,13 +1360,16 @@ don't exist yet. #### [`PAPERLESS_CONSUMER_IGNORE_PATTERNS=`](#PAPERLESS_CONSUMER_IGNORE_PATTERNS) {#PAPERLESS_CONSUMER_IGNORE_PATTERNS} : Additional regex patterns for files to ignore in the consumption directory. Patterns are matched against filenames only (not full paths) -using Python's `re.match()`, which anchors at the start of the filename. +using Python's `re.search()`. Use `^` to anchor a pattern to the start of the filename and `$` to anchor it to the end. See the [watchfiles documentation](https://watchfiles.helpmanual.io/api/filters/#watchfiles.BaseFilter.ignore_entity_patterns) This setting is for additional patterns beyond the built-in defaults. Common system files and directories are already ignored automatically. The patterns will be compiled via Python's standard `re` module. + These are regular expressions, not glob patterns. For example, the glob pattern `._*` does not mean "starts with `._`" when used as a + regular expression; it matches nearly any non-empty filename. Use `^\._.*` for that behavior instead. + Example custom patterns: ```json @@ -1381,7 +1384,11 @@ using Python's `re.match()`, which anchors at the start of the filename. Defaults to `[]` (empty list, uses only built-in defaults). - The default ignores are `[.DS_Store, .DS_STORE, ._*, desktop.ini, Thumbs.db]` and cannot be overridden. + The built-in file patterns are equivalent to the following regular expressions and cannot be overridden: + + ```json + ["^\\.DS_Store$", "^\\.DS_STORE$", "^\\._.*", "^desktop\\.ini$", "^Thumbs\\.db$"] + ``` #### [`PAPERLESS_CONSUMER_IGNORE_DIRS=`](#PAPERLESS_CONSUMER_IGNORE_DIRS) {#PAPERLESS_CONSUMER_IGNORE_DIRS} From 3a0ca0354417bd0d0d18d33da128a61f794f89d1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 1 Aug 2026 14:36:33 -0700 Subject: [PATCH 53/77] New Crowdin translations by GitHub Action (#13372) Co-authored-by: Crowdin Bot --- src-ui/src/locale/messages.af_ZA.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.am_ET.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.ar_AR.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.be_BY.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.bg_BG.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.ca_ES.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.cs_CZ.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.da_DK.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.de_CH.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.de_DE.xlf | 98 ++++++++++++------------ src-ui/src/locale/messages.el_GR.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.es_ES.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.et_EE.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.fa_IR.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.fi_FI.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.fr_FR.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.he_IL.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.hi_IN.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.hr_HR.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.hu_HU.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.id_ID.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.it_IT.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.ja_JP.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.ko_KR.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.lb_LU.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.lt_LT.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.lv_LV.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.mk_MK.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.ms_MY.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.nl_NL.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.no_NO.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.pl_PL.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.pt_BR.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.pt_PT.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.ro_RO.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.ru_RU.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.sk_SK.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.sl_SI.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.sq_AL.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.sr_CS.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.sv_SE.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.th_TH.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.tr_TR.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.uk_UA.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.vi_VN.xlf | 94 +++++++++++------------ src-ui/src/locale/messages.zh_CN.xlf | 100 ++++++++++++------------- src-ui/src/locale/messages.zh_TW.xlf | 94 +++++++++++------------ src/locale/af_ZA/LC_MESSAGES/django.po | 38 +++++----- src/locale/am_ET/LC_MESSAGES/django.po | 38 +++++----- src/locale/ar_AR/LC_MESSAGES/django.po | 38 +++++----- src/locale/be_BY/LC_MESSAGES/django.po | 38 +++++----- src/locale/bg_BG/LC_MESSAGES/django.po | 38 +++++----- src/locale/ca_ES/LC_MESSAGES/django.po | 38 +++++----- src/locale/cs_CZ/LC_MESSAGES/django.po | 38 +++++----- src/locale/da_DK/LC_MESSAGES/django.po | 38 +++++----- src/locale/de_CH/LC_MESSAGES/django.po | 38 +++++----- src/locale/de_DE/LC_MESSAGES/django.po | 40 +++++----- src/locale/el_GR/LC_MESSAGES/django.po | 38 +++++----- src/locale/es_ES/LC_MESSAGES/django.po | 38 +++++----- src/locale/et_EE/LC_MESSAGES/django.po | 38 +++++----- src/locale/fa_IR/LC_MESSAGES/django.po | 38 +++++----- src/locale/fi_FI/LC_MESSAGES/django.po | 38 +++++----- src/locale/fr_FR/LC_MESSAGES/django.po | 38 +++++----- src/locale/he_IL/LC_MESSAGES/django.po | 38 +++++----- src/locale/hi_IN/LC_MESSAGES/django.po | 38 +++++----- src/locale/hr_HR/LC_MESSAGES/django.po | 38 +++++----- src/locale/hu_HU/LC_MESSAGES/django.po | 38 +++++----- src/locale/id_ID/LC_MESSAGES/django.po | 38 +++++----- src/locale/it_IT/LC_MESSAGES/django.po | 38 +++++----- src/locale/ja_JP/LC_MESSAGES/django.po | 38 +++++----- src/locale/ko_KR/LC_MESSAGES/django.po | 38 +++++----- src/locale/lb_LU/LC_MESSAGES/django.po | 38 +++++----- src/locale/lt_LT/LC_MESSAGES/django.po | 38 +++++----- src/locale/lv_LV/LC_MESSAGES/django.po | 38 +++++----- src/locale/mk_MK/LC_MESSAGES/django.po | 38 +++++----- src/locale/ms_MY/LC_MESSAGES/django.po | 38 +++++----- src/locale/nl_NL/LC_MESSAGES/django.po | 38 +++++----- src/locale/no_NO/LC_MESSAGES/django.po | 38 +++++----- src/locale/pl_PL/LC_MESSAGES/django.po | 38 +++++----- src/locale/pt_BR/LC_MESSAGES/django.po | 38 +++++----- src/locale/pt_PT/LC_MESSAGES/django.po | 38 +++++----- src/locale/ro_RO/LC_MESSAGES/django.po | 40 +++++----- src/locale/ru_RU/LC_MESSAGES/django.po | 38 +++++----- src/locale/sk_SK/LC_MESSAGES/django.po | 38 +++++----- src/locale/sl_SI/LC_MESSAGES/django.po | 38 +++++----- src/locale/sq_AL/LC_MESSAGES/django.po | 38 +++++----- src/locale/sr_CS/LC_MESSAGES/django.po | 38 +++++----- src/locale/sv_SE/LC_MESSAGES/django.po | 38 +++++----- src/locale/th_TH/LC_MESSAGES/django.po | 38 +++++----- src/locale/tr_TR/LC_MESSAGES/django.po | 38 +++++----- src/locale/uk_UA/LC_MESSAGES/django.po | 38 +++++----- src/locale/vi_VN/LC_MESSAGES/django.po | 38 +++++----- src/locale/zh_CN/LC_MESSAGES/django.po | 38 +++++----- src/locale/zh_TW/LC_MESSAGES/django.po | 38 +++++----- 94 files changed, 3109 insertions(+), 3109 deletions(-) diff --git a/src-ui/src/locale/messages.af_ZA.xlf b/src-ui/src/locale/messages.af_ZA.xlf index 76313c092..22e6b34c6 100644 --- a/src-ui/src/locale/messages.af_ZA.xlf +++ b/src-ui/src/locale/messages.af_ZA.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Argiefreeksnommer @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 True @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 False @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Search docs... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Not @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Add query @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Add expression @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Skep nuwe item @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Wysig item @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Voorskou @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Details @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Datum geskep @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Inhoud @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Datum gewysig @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Datum toegevoeg @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Medialêernaam @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Oorspronklike lêernaam @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Oorspronklike lêergrootte @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Oorspronklike MIME-tipe @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Lêergrootteargief @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Oorspronklike dokumentmetadata @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Geargiveerdedokumentmetadata @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 History @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Bewaar & volgende @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Save & close @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Verwerp @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Document loading... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Voer wagwoord in diff --git a/src-ui/src/locale/messages.am_ET.xlf b/src-ui/src/locale/messages.am_ET.xlf index ec754323e..9246da961 100644 --- a/src-ui/src/locale/messages.am_ET.xlf +++ b/src-ui/src/locale/messages.am_ET.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Archive serial number @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 True @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 False @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Search docs... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Not @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Add query @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Add expression @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Create new item @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Edit item @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Preview @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Details @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Date created @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Content @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Date modified @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Date added @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Media filename @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Original filename @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Original file size @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Original mime type @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Archive file size @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Original document metadata @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Archived document metadata @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 History @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Save & next @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Save & close @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Discard @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Document loading... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Enter Password diff --git a/src-ui/src/locale/messages.ar_AR.xlf b/src-ui/src/locale/messages.ar_AR.xlf index 874492637..082f4a525 100644 --- a/src-ui/src/locale/messages.ar_AR.xlf +++ b/src-ui/src/locale/messages.ar_AR.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 الرقم التسلسلي للأرشيف @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 True @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 False @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Search docs... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Not @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Add query @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Add expression @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 إنشاء عنصر جديد @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 تعديل عنصر @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 معاينة @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 تفاصيل @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 تاريخ الإنشاء @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 محتوى @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 تاريخ التعديل @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 تاريخ الإضافة @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 اسم ملف الوسائط @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 اسم الملف الأصلي @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 حجم الملف الأصلي @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 نوع mime الأصلي @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 حجم ملف الأرشيف @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 بيانات التعريف للمستند الأصلي @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 بيانات التعريف للمستند الأصلي @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 السجل التاريخي @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 حفظ & التالي @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 حفظ وإغلاق @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 تجاهل @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Document loading... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 أدخل كلمة المرور diff --git a/src-ui/src/locale/messages.be_BY.xlf b/src-ui/src/locale/messages.be_BY.xlf index d67d55b63..7e8750058 100644 --- a/src-ui/src/locale/messages.be_BY.xlf +++ b/src-ui/src/locale/messages.be_BY.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Парадкавы нумар архіва @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 True @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 False @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Search docs... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Not @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Add query @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Add expression @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Стварыць новы элемент @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Рэдагаваць элемент @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Preview @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Падрабязнасці @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Дата стварэння @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Змест @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Дата змянення @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Дата дадання @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Імя медыяфайла @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Арыгінальная назва файла @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Арыгінальны памер файла @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Арыгінальны MIME тып @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Памер файла архіва @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Арыгінальныя метададзеныя дакумента @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Метададзеныя архіўнага дакумента @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 History @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Захаваць & наступны @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Save & close @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Адхіліць @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Document loading... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Увядзіце пароль diff --git a/src-ui/src/locale/messages.bg_BG.xlf b/src-ui/src/locale/messages.bg_BG.xlf index 5261212f7..d5c65d715 100644 --- a/src-ui/src/locale/messages.bg_BG.xlf +++ b/src-ui/src/locale/messages.bg_BG.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Сериен номер на архива @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 Правилно @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 Грешно @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Търсене в документи... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Не @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Добавете заявка @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Добавете израз @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Създаване на нов елемент @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Редактиране на елемент @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Преглед @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Подробности @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Дата на създаване @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Съдържание @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Дата на промяна @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Дата на добавяне @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Име на медиен файл @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Оригинално име на файла @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Оригинален размер на файла @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Оригинален mime тип @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Размер на архива @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Оригинални метаданни на документ @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Архивирани метаданни на документа @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 История @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Запази & следващото @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Запази & затвори @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Откажи @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Зареждане на документи... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Въведете парола diff --git a/src-ui/src/locale/messages.ca_ES.xlf b/src-ui/src/locale/messages.ca_ES.xlf index 99ac128b4..6d6beb0e7 100644 --- a/src-ui/src/locale/messages.ca_ES.xlf +++ b/src-ui/src/locale/messages.ca_ES.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Número de sèrie de l'arxiu @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 Vertader @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 Fals @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Cerca docs... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 No @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Afegir consulta @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Afegir expressió @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Crea element nou @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Edita element @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Vista prèvia @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Detalls @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Data de creació @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Contingut @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Data modificació @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Data afegit @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Nom Arxiu @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Nom arxiu original @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Mida arxiu original @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Tipus mímic original @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Mida arxiu arxivat @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Metadades del document original @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Metadades del document arxivat @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 Historial @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Detectats documents duplicats: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 A la brossa @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Desa i següent @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Desa i tanca @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Descarta @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Document carregant... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Introdueix Contrasenya diff --git a/src-ui/src/locale/messages.cs_CZ.xlf b/src-ui/src/locale/messages.cs_CZ.xlf index 9f2b8dbce..7c0809298 100644 --- a/src-ui/src/locale/messages.cs_CZ.xlf +++ b/src-ui/src/locale/messages.cs_CZ.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Sériové číslo archivu @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 Pravda @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 Nepravda @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Hledat dokumenty... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Není @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Přidat dotaz @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Přidat výraz @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Vytvořit novou položku @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Upravit položku @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Náhled @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Podrobnosti @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Vytvořeno @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Obsah @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Datum úpravy @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Datum přidání @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Název souboru @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Původní název souboru @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Původní kontrolní součet SHA256 @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Původní velikost souboru @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Původní typ mime @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archivní kontrolní součet SHA256 @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Velikost souboru archivu @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Metadata původního dokumentu @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Metadata archivovaného dokumentu @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Poznámky @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 Historie @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Zjištěny duplicitní dokumenty: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 V koši @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Uložit a další @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Uložit a zavřít @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Zrušit @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Načítání dokumentu... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Zadejte heslo diff --git a/src-ui/src/locale/messages.da_DK.xlf b/src-ui/src/locale/messages.da_DK.xlf index bcc0b4201..90db31ba6 100644 --- a/src-ui/src/locale/messages.da_DK.xlf +++ b/src-ui/src/locale/messages.da_DK.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Arkiv serienummer @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 True @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 False @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Search docs... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Not @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Add query @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Add expression @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Opret nyt element @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Redigér element @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Preview @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Detaljer @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Oprettelsesdato @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Indhold @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Ændringsdato @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Tilføjelsesdato @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Filnavn for medie @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Original filename @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Original filstørrelse @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Original mimetype @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Arkiv filstørrelse @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Original dokumentmetadata @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Arkiveret dokumentmetadata @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 History @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Gem & næste @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Save & close @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Forkast @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Document loading... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Indtast adgangskode diff --git a/src-ui/src/locale/messages.de_CH.xlf b/src-ui/src/locale/messages.de_CH.xlf index 1d57c79cc..4c0d65652 100644 --- a/src-ui/src/locale/messages.de_CH.xlf +++ b/src-ui/src/locale/messages.de_CH.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Archiv-Seriennummer @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 Wahr @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 Falsch @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Suche Dokumente... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Nicht @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Abfrage hinzufügen @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Ausdruck hinzufügen @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Neues Element erstellen @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Element bearbeiten @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Vorschau @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Details @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Ausstellungsdatum @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Inhalt @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Geändert am @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Hinzugefügt am @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Media-Dateiname @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Ursprünglicher Dateiname @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Dateigrösse Original @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 MIME-Typ Original @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Dateigrösse Archiv @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Metadaten Original @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Metadaten Archiv @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 Verlauf @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Doppelte Dokumente erkannt: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 Im Papierkorb @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Speichern & weiter @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Speichern & schliessen @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Verwerfen @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Dokument wird geladen... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Kennwort eingeben diff --git a/src-ui/src/locale/messages.de_DE.xlf b/src-ui/src/locale/messages.de_DE.xlf index d9cee2ef8..caa2441f7 100644 --- a/src-ui/src/locale/messages.de_DE.xlf +++ b/src-ui/src/locale/messages.de_DE.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Archiv-Seriennummer @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -2514,13 +2514,13 @@ E-Mail-Abruf - + LLM Index src/app/components/admin/tasks/tasks.component.ts 77 - LLM-Indizierung + LLM-Indizierung Empty Trash @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 Wahr @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 Falsch @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Suche Dokumente... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Nicht @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Abfrage hinzufügen @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Ausdruck hinzufügen @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Neues Element erstellen @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Element bearbeiten @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Vorschau @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Details @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Ausstellungsdatum @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Inhalt @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Geändert am @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Hinzugefügt am @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Media-Dateiname @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Ursprünglicher Dateiname @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256-Prüfsumme @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Dateigröße Original @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 MIME-Typ Original @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archiv SHA256-Prüfsumme @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Dateigröße Archiv @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Metadaten Original @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Metadaten Archiv @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notizen @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 Verlauf @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplikate @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Doppelte Dokumente erkannt: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 Im Papierkorb @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Speichern & weiter @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Speichern & schließen @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Verwerfen @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Dokument wird geladen... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Kennwort eingeben diff --git a/src-ui/src/locale/messages.el_GR.xlf b/src-ui/src/locale/messages.el_GR.xlf index 8bbb7df98..944390346 100644 --- a/src-ui/src/locale/messages.el_GR.xlf +++ b/src-ui/src/locale/messages.el_GR.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Αρχειοθέτηση σειριακού αριθμού @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 True @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 False @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Search docs... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Not @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Add query @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Add expression @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Δημιουργία νέου αντικειμένου @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Επεξεργασία αντικειμένου @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Προεπισκόπηση @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Λεπτομέρειες @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Ημερομηνία δημιουργίας @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Περιεχόμενο @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Ημερομηνία τροποποίησης @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Ημερομηνία προσθήκης @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Όνομα αρχείου πολυμέσων @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Πρωτότυπο όνομα αρχείου @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Αρχικό μέγεθος αρχείου @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Αρχικός τύπος mime @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Μέγεθος αρχείου αρχειοθέτησης @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Πρωτότυπα μεταδεδομένα εγγράφου @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Αρχειοθετημένα μεταδεδομένα εγγράφου @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 History @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Αποθήκευση & επόμενο @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Αποθήκευση & κλείσιμο @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Απόρριψη @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Document loading... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Εισαγωγή Κωδικού Πρόσβασης diff --git a/src-ui/src/locale/messages.es_ES.xlf b/src-ui/src/locale/messages.es_ES.xlf index 0fb69954d..f93394311 100644 --- a/src-ui/src/locale/messages.es_ES.xlf +++ b/src-ui/src/locale/messages.es_ES.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Número de serie del archivo @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 Verdadero @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 Falso @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Buscar documentos... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 No @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Añadir consulta @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Añadir expresión @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Crear nuevo elemento @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Editar elemento @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Vista previa @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Detalles @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Fecha de creación @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Contenido @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Fecha de modificación @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Fecha de subida @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Nombre del fichero @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Nombre del archivo original @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Tamaño del fichero original @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Tipo MIME original @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Tamaño del archivo @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Metadatos originales @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Metadatos archivados @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 Historial @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Guardar y continuar @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Guardar & cerrar @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Descartar @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Cargando documento... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Introducir contraseña diff --git a/src-ui/src/locale/messages.et_EE.xlf b/src-ui/src/locale/messages.et_EE.xlf index ac8f53027..63d06dc37 100644 --- a/src-ui/src/locale/messages.et_EE.xlf +++ b/src-ui/src/locale/messages.et_EE.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Archive serial number @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 True @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 False @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Search docs... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Not @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Add query @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Add expression @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Create new item @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Edit item @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Preview @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Details @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Date created @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Content @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Date modified @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Date added @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Media filename @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Original filename @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Original file size @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Original mime type @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Archive file size @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Original document metadata @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Archived document metadata @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 History @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Save & next @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Save & close @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Discard @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Document loading... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Enter Password diff --git a/src-ui/src/locale/messages.fa_IR.xlf b/src-ui/src/locale/messages.fa_IR.xlf index a19cb6368..36f4db36f 100644 --- a/src-ui/src/locale/messages.fa_IR.xlf +++ b/src-ui/src/locale/messages.fa_IR.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 شماره سریال بایگانی @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 درست @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 دروغ @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 اسناد جستجو ... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 نه @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 اضافه کردن پرس و جو @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 بیان را اضافه کنید @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 مورد جدید ایجاد کنید @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 مورد ویرایش @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 پیش نمایش @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 جزئیات @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 تاریخ ایجاد شده @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 محتوا @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 تاریخ اصلاح شده @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 تاریخ اضافه شده @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 نام رسانه @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 نام اصلی @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 اندازه پرونده اصلی @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 نوع اصلی تقلید @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 اندازه پرونده بایگانی @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 ابرداده سند اصلی @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 ابرداده سند بایگانی شده @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 تاریخ @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Save & next @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Save & close @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 دور کردن @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 بارگیری سند ... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 رمز ورود را وارد کنید diff --git a/src-ui/src/locale/messages.fi_FI.xlf b/src-ui/src/locale/messages.fi_FI.xlf index 3211cc0f3..12a47d983 100644 --- a/src-ui/src/locale/messages.fi_FI.xlf +++ b/src-ui/src/locale/messages.fi_FI.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Arkistointisarjanumero @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 Tosi @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 Epätosi @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Search docs... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Not @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Add query @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Add expression @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Luo uusi @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Muokkaa @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Esikatsele @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Tarkemmat tiedot @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Luontipäivä @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Sisältö @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Muokkauspäivämäärä @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Lisäyspäivämäärä @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Median tiedostonimi @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Alkuperäinen tiedoston nimi @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Alkuperäinen tiedostokoko @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Alkuperäinen mime-tyyppi @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Arkistoidun tiedostokoko @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Alkuperäisen asiakirjan metatiedot @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Arkistoidun asiakirjan metatiedot @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 Historia @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Tallenna & Lopeta @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Tallenna ja sulje @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Hylkää @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Asiakirja latautuu... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Syötä salasana diff --git a/src-ui/src/locale/messages.fr_FR.xlf b/src-ui/src/locale/messages.fr_FR.xlf index cbea53f8c..57928d303 100644 --- a/src-ui/src/locale/messages.fr_FR.xlf +++ b/src-ui/src/locale/messages.fr_FR.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Numéro de série d'archivage (NSA) @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 Vrai @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 Faux @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Rechercher un document... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Non @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Ajouter une requête @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Ajouter une expression @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Créer un nouvel élément @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Modifier l'élément @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Prévisualisation @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Détails @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Date de création @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Contenu @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Date de modification @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Date d'ajout @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Nom de fichier du média @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Nom du fichier d'origine @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Somme de contrôle SHA256 de l'original @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Taille du fichier original @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Type MIME de l'original @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Somme de contrôle SHA256 de l'archive @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Taille du fichier archivé @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Métadonnées du document original @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Métadonnées du document archivé @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 Historique @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Documents en double détectés : @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 Dans la corbeille @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Enregistrer & suivant @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Enregister & fermer @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Abandonner @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Chargement du document… @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Saisir le mot de passe diff --git a/src-ui/src/locale/messages.he_IL.xlf b/src-ui/src/locale/messages.he_IL.xlf index abe5c7794..cc9a36572 100644 --- a/src-ui/src/locale/messages.he_IL.xlf +++ b/src-ui/src/locale/messages.he_IL.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 מספר סידורי בארכיון @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 אמת @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 שקר @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 חפש מסמכים... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 לא @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 הוסף שאילתה @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 הוסף ביטוי @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 יצירת פריט חדש @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 עריכת פריט @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 תצוגה מקדימה @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 פרטים @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 תאריך יצירה @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 תוכן @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 תאריך שינוי @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 תאריך הוספה @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 שם קובץ המסמך @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 שם קובץ מקורי @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 גודל הקובץ המקורי @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 סוג ה-mime המקורי @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 גודל הקובץ בארכיון @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 מטא-נתונים של המסמך המקורי @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 מטא-נתונים של המסמך בארכיון @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 היסטוריה @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 שמור & הבא @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 שמור & סגור @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 בטל @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 מסמך נטען... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 הזן סיסמה diff --git a/src-ui/src/locale/messages.hi_IN.xlf b/src-ui/src/locale/messages.hi_IN.xlf index 2061b6cf9..1fc1addfd 100644 --- a/src-ui/src/locale/messages.hi_IN.xlf +++ b/src-ui/src/locale/messages.hi_IN.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Archive serial number @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 True @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 False @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Search docs... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Not @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Add query @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Add expression @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Create new item @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Edit item @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Preview @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Details @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Date created @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Content @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Date modified @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Date added @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Media filename @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Original filename @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Original file size @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Original mime type @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Archive file size @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Original document metadata @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Archived document metadata @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 History @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Save & next @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Save & close @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Discard @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Document loading... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Enter Password diff --git a/src-ui/src/locale/messages.hr_HR.xlf b/src-ui/src/locale/messages.hr_HR.xlf index 141982415..767abf30a 100644 --- a/src-ui/src/locale/messages.hr_HR.xlf +++ b/src-ui/src/locale/messages.hr_HR.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Serijski broj pohrane @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 Točno @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 Netočno @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Traži dokumente... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Not @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Dodaj upit @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Dodaj izraz @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Stvori novu stavku @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Uredi stavku @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Predpregled @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Detalji @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Datum izrade @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Sadržaj @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Datum izmjene @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Datum dodavanja @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Naziv datoteke @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Izvorni naziv datoteke @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Izvorna veličina datoteke @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Izvorna MIME vrsta @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Veličina arhivirane datoteke @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Izvorni meta podaci dokumenta @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Meta podaci arhiviranog dokumenta @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 Povijest @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Otkriveni duplikati dokumenata: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 U smeću @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Spremi & sljedeći @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Spremi & zatvori @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Odbaci @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Dokument se učitava... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Unesi lozinku diff --git a/src-ui/src/locale/messages.hu_HU.xlf b/src-ui/src/locale/messages.hu_HU.xlf index af215dc2f..f36015c8a 100644 --- a/src-ui/src/locale/messages.hu_HU.xlf +++ b/src-ui/src/locale/messages.hu_HU.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Archívum sorszáma @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 Igaz @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 Hamis @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Keresés a dokumentumokban... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Nem @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Lekérdezés hozzáadása @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Kifejezés hozzáadása @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Új elem létrehozása @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Elem szerkesztése @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Előnézet @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Részletek @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Létrehozás dátuma @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Tartalom @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Módosított dátum @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Hozzáadás dátuma @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Média fájlnév @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Eredeti fájlnév @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Eredeti fájlméret @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Eredeti mime típus @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Archivált fájl mérete @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Eredeti dokumentum metaadatai @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Archivált dokumentum metaadatok @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 Előzmények @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Mentés & következő @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Mentés & bezárás @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Eldob @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Dokumentum betöltése... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Jelszó megadása diff --git a/src-ui/src/locale/messages.id_ID.xlf b/src-ui/src/locale/messages.id_ID.xlf index e1ba0c30d..e8ebadbc9 100644 --- a/src-ui/src/locale/messages.id_ID.xlf +++ b/src-ui/src/locale/messages.id_ID.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Nomor serial arsip @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 Benar @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 Salah @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Cari dokumen... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Tidak @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Tambah permintaan @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Tambah ekspresi @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Buat barang baru @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Sunting barang @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Pratinjau @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Rincian @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Tanggal dibuat @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Konten @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Tanggal dimodifikasi @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Tanggal ditambahkan @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Nama Berkas Media @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Nama file asli @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Ukuran file asli @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Jenis mime asli @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Ukuran file arsip @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Metadata dokumen asli @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Metadata dokumen arsip @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 Riwayat @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Simpan & lanjut @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Simpan & tutup @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Batalkan @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Memuat dokumen... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Masukan Kata Sandi diff --git a/src-ui/src/locale/messages.it_IT.xlf b/src-ui/src/locale/messages.it_IT.xlf index 5a1f2769d..86c8e2d75 100644 --- a/src-ui/src/locale/messages.it_IT.xlf +++ b/src-ui/src/locale/messages.it_IT.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Numero seriale di archivio @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 Vero @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 Falso @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Cerca documenti... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Non @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Aggiungi query @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Aggiungi espressione @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Crea nuovo elemento @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Modifica elemento @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Anteprima @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Dettagli @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Data creazione @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Contenuto @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Data modifica @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Data aggiunta @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Nome file @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Nome file originale @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Checksum SHA256 originale @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Dimensione file originale @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Tipo mime originale @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Checksum SHA256 dell'archivio @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Dimensione file archivio @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Metadati del documento originale @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Metadati del documento archiviato @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Note @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 Cronologia @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicati @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Documenti duplicati rilevati: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 Nel cestino @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Salva e vai al prossimo @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Salva e chiudi @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Scarta @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Caricamento documento in corso... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Inserisci password diff --git a/src-ui/src/locale/messages.ja_JP.xlf b/src-ui/src/locale/messages.ja_JP.xlf index 5ba9f2188..f1e2c7c64 100644 --- a/src-ui/src/locale/messages.ja_JP.xlf +++ b/src-ui/src/locale/messages.ja_JP.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 アーカイブ番号 @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 True @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 False @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 ドキュメントを検索... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Not @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 クエリの追加 @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 式の追加 @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 新規アイテムの作成 @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 アイテムの編集 @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 プレビュー @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 詳細 @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 作成日 @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 内容 @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 更新日 @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 追加日 @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 メディアファイル名 @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 元のファイル名 @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 元のファイルサイズ @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 元の MIME タイプ @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 アーカイブのファイルサイズ @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 元のドキュメントのメタデータ @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 アーカイブされたドキュメントのメタデータ @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 履歴 @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 保存して次へ @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 保存して閉じる @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 破棄 @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 ドキュメントを読み込んでいます... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 パスワードを入力 diff --git a/src-ui/src/locale/messages.ko_KR.xlf b/src-ui/src/locale/messages.ko_KR.xlf index dab8a691b..23b6f74cb 100644 --- a/src-ui/src/locale/messages.ko_KR.xlf +++ b/src-ui/src/locale/messages.ko_KR.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 보관 일련 번호 @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 거짓 @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 문서 검색... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 아님 @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 쿼리 추가 @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 표현식 추가 @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 새로운 아이템 생성 @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 아이템 수정 @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 미리보기 @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 세부 사항 @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 작성 날짜 @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 내용 @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 수정 날짜 @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 추가된 날짜 @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 미디어 파일명 @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 원본 파일명 @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 원본 파일 사이즈 @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 원본 MIME 타입 @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 파일 사이즈 기록 @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 원본 문서 메타데이터 @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 문서 메타데이터 기록됨 @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 이력 @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 저장 후 다음 @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 저장 후 닫기 @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 폐기 @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 문서 로딩 중... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 비밀번호 입력 diff --git a/src-ui/src/locale/messages.lb_LU.xlf b/src-ui/src/locale/messages.lb_LU.xlf index bfc412d7c..7b9ca1563 100644 --- a/src-ui/src/locale/messages.lb_LU.xlf +++ b/src-ui/src/locale/messages.lb_LU.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Archiv-Seriennummer @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 Wouer @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 Falsch @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Dokumenter sichen... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Not @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Add query @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Add expression @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Neit Element erstellen @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Element beaarbechten @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Preview @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Detailer @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Erstellungsdatum @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Inhalt @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Verännert um @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Dobäigesat um @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Dateinumm vum Mediefichier @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Original Dateinumm @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Dateigréisst vum Original @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Urspréngleche MIME-Typ @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Archiv-Dateigréisst @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Metadate vum Original-Dokument @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Metadate vum Archiv-Dokument @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 History @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Späicheren a weider @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Save & close @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Verwerfen @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Document loading... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Passwuert aginn diff --git a/src-ui/src/locale/messages.lt_LT.xlf b/src-ui/src/locale/messages.lt_LT.xlf index e92debeb7..b68a17dbe 100644 --- a/src-ui/src/locale/messages.lt_LT.xlf +++ b/src-ui/src/locale/messages.lt_LT.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Archyvo serijinis numeris @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 True @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 False @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Search docs... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Not @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Add query @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Add expression @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Create new item @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Edit item @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Preview @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Išsamiau @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Sukūrimo data @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Turinys @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Pakeitimo data @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Pridėta data @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Medijos bylos pavadinimas @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Originalus bylos pavadinimas @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Originalus bylos pavadinimas @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Originalus MIME tipas @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Archyvo bylos dydis @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Originalaus dokumento metaduomenys @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Archyvuotų dokumentų metaduomenys @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 Istorija @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Save & next @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Save & close @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Atmesti @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Document loading... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Įveskite slaptažodį diff --git a/src-ui/src/locale/messages.lv_LV.xlf b/src-ui/src/locale/messages.lv_LV.xlf index c92b42762..c140588f1 100644 --- a/src-ui/src/locale/messages.lv_LV.xlf +++ b/src-ui/src/locale/messages.lv_LV.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Archive serial number @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 True @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 False @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Search docs... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Not @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Add query @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Add expression @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Create new item @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Edit item @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Preview @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Sīkāka informācija @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Izveides datums @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Saturs @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Labošanas datums @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Pievienošanas datums @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Media filename @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Original filename @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Original file size @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Original mime type @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Arhīva faila izmērs @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Original document metadata @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Arhivētā dokumenta metadati @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 History @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Save & next @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Save & close @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Discard @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Document loading... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Enter Password diff --git a/src-ui/src/locale/messages.mk_MK.xlf b/src-ui/src/locale/messages.mk_MK.xlf index d1544d27a..3ed6127c0 100644 --- a/src-ui/src/locale/messages.mk_MK.xlf +++ b/src-ui/src/locale/messages.mk_MK.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Archive serial number @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 True @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 False @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Search docs... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Not @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Add query @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Add expression @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Create new item @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Edit item @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Preview @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Details @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Date created @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Content @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Date modified @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Date added @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Media filename @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Original filename @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Original file size @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Original mime type @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Archive file size @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Original document metadata @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Archived document metadata @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 History @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Save & next @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Save & close @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Discard @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Document loading... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Enter Password diff --git a/src-ui/src/locale/messages.ms_MY.xlf b/src-ui/src/locale/messages.ms_MY.xlf index 9d8258c40..12a706d19 100644 --- a/src-ui/src/locale/messages.ms_MY.xlf +++ b/src-ui/src/locale/messages.ms_MY.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Archive serial number @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 True @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 False @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Search docs... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Not @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Add query @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Add expression @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Create new item @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Edit item @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Preview @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Details @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Date created @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Content @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Date modified @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Date added @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Media filename @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Original filename @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Original file size @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Original mime type @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Archive file size @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Original document metadata @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Archived document metadata @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 History @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Save & next @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Save & close @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Discard @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Document loading... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Enter Password diff --git a/src-ui/src/locale/messages.nl_NL.xlf b/src-ui/src/locale/messages.nl_NL.xlf index 4a1b05352..4f36ecf69 100644 --- a/src-ui/src/locale/messages.nl_NL.xlf +++ b/src-ui/src/locale/messages.nl_NL.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Archief serienummer @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 Waar @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 Onwaar @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Zoek documenten... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Niet @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Zoekopdracht toevoegen @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Expressie toevoegen @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Maak nieuw item @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Item bewerken @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Voorbeeld @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Details @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Aanmaakdatum @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Inhoud @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Wijzigingsdatum @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Datum toegevoegd @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Media bestandsnaam @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Originele bestandsnaam @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Originele bestandsgrootte @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Oorspronkelijke mime-type @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Archief bestandsgrootte @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Originele document metadata @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Gearchiveerde document metadata @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 Geschiedenis @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Dubbele documenten gevonden: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In prullenbak @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Opslaan & volgende @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Opslaan & sluiten @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Negeren @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Document laden... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Wachtwoord invoeren diff --git a/src-ui/src/locale/messages.no_NO.xlf b/src-ui/src/locale/messages.no_NO.xlf index 1dd3c9924..316add81f 100644 --- a/src-ui/src/locale/messages.no_NO.xlf +++ b/src-ui/src/locale/messages.no_NO.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Arkiver serienummer @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 Sann @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 Usann @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Søk etter dokumenter... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Ikke @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Legg til spørring @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Legg til uttrykk @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 + Opprett produkt @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Rediger produkt @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Forhåndsvis @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Detaljer @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Dato opprettet @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Innhold @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Dato endret @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Dato lagt til @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Media filnavn @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Opprinnelig filnavn @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Opprinnelig MD5-sjekksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Opprinnelig filstørrelse @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Opprinnelig mimetype @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Lagret MD5-sjekksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Arkivstørrelse @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Opprinnelig dokumentmetadata @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Arkivert dokumentmetadata @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notater @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 Historikk @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplikater @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplikate dokumenter oppdaget: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 I papirkurven @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Lagre & Avslutt @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Lagre & Lukk @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Forkast @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Dokument laster... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Skriv inn passord diff --git a/src-ui/src/locale/messages.pl_PL.xlf b/src-ui/src/locale/messages.pl_PL.xlf index c7e590d37..d9f10d6a7 100644 --- a/src-ui/src/locale/messages.pl_PL.xlf +++ b/src-ui/src/locale/messages.pl_PL.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Numer seryjny archiwum @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 Prawda @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 Fałsz @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Wyszukaj dokumenty... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Nie @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Dodaj zapytanie @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Dodaj wyrażenie @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Utwórz nowy element @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Edytuj element @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Podgląd @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Szczegóły @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Data utworzenia @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Zawartość @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Data modyfikacji @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Data dodania @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Nazwa pliku @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Oryginalna nazwa pliku @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Rozmiar oryginalnego pliku @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Typ mime oryginału @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Rozmiar pliku archiwalnego @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Metadane oryginalnego dokumentu @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Metadane zarchiwizowanego dokumentu @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 Historia @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Wykryto duplikat dokumentów: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 W koszu @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Zapisz & następny @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Zapisz & zamknij @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Porzuć zmiany @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Ładowanie dokumentu... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Wprowadź hasło diff --git a/src-ui/src/locale/messages.pt_BR.xlf b/src-ui/src/locale/messages.pt_BR.xlf index 34f2c382e..d167f0312 100644 --- a/src-ui/src/locale/messages.pt_BR.xlf +++ b/src-ui/src/locale/messages.pt_BR.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Número de série de arquivamento @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 Verdadeiro @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 Falso @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Procura documentos... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Não @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Adicionar consulta @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Adicionar expressão @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Criar novo item @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Editar item @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Pré-visualizar @@ -8555,7 +8555,7 @@ Erro ao enviar documentos por e-mail Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Detalhes @@ -8563,7 +8563,7 @@ Erro ao enviar documentos por e-mail Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8587,7 +8587,7 @@ Erro ao enviar documentos por e-mail Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Data de criação @@ -8595,7 +8595,7 @@ Erro ao enviar documentos por e-mail Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8607,7 +8607,7 @@ Erro ao enviar documentos por e-mail Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Conteúdo @@ -8615,7 +8615,7 @@ Erro ao enviar documentos por e-mail Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8627,7 +8627,7 @@ Erro ao enviar documentos por e-mail Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Data de modificação @@ -8635,7 +8635,7 @@ Erro ao enviar documentos por e-mail Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Data de adição @@ -8643,7 +8643,7 @@ Erro ao enviar documentos por e-mail Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Nome do arquivo @@ -8651,7 +8651,7 @@ Erro ao enviar documentos por e-mail Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Nome do arquivo original @@ -8659,7 +8659,7 @@ Erro ao enviar documentos por e-mail Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8667,7 +8667,7 @@ Erro ao enviar documentos por e-mail Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Tamanho do arquivo original @@ -8675,7 +8675,7 @@ Erro ao enviar documentos por e-mail Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Tipo mime original @@ -8683,7 +8683,7 @@ Erro ao enviar documentos por e-mail Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8691,7 +8691,7 @@ Erro ao enviar documentos por e-mail Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Tamanho arquivado @@ -8699,7 +8699,7 @@ Erro ao enviar documentos por e-mail Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Metadados do documento original @@ -8707,7 +8707,7 @@ Erro ao enviar documentos por e-mail Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Metadados do documento arquivado @@ -8715,7 +8715,7 @@ Erro ao enviar documentos por e-mail Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8723,7 +8723,7 @@ Erro ao enviar documentos por e-mail History src/app/components/document-detail/document-detail.component.html - 379 + 383 Histórico @@ -8731,7 +8731,7 @@ Erro ao enviar documentos por e-mail Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8739,7 +8739,7 @@ Erro ao enviar documentos por e-mail Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8747,7 +8747,7 @@ Erro ao enviar documentos por e-mail In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8755,7 +8755,7 @@ Erro ao enviar documentos por e-mail Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Salvar & próximo @@ -8763,7 +8763,7 @@ Erro ao enviar documentos por e-mail Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Salvar & Fechar @@ -8771,7 +8771,7 @@ Erro ao enviar documentos por e-mail Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Descartar @@ -8779,7 +8779,7 @@ Erro ao enviar documentos por e-mail Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Carregando documentos... @@ -8787,7 +8787,7 @@ Erro ao enviar documentos por e-mail Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Digite a senha diff --git a/src-ui/src/locale/messages.pt_PT.xlf b/src-ui/src/locale/messages.pt_PT.xlf index 2b13371b7..c2d7533a4 100644 --- a/src-ui/src/locale/messages.pt_PT.xlf +++ b/src-ui/src/locale/messages.pt_PT.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Número de série de arquivamento @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 Verdadeiro @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 Falso @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Search docs... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Não @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Add query @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Adicionar expressão @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Criar novo item @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Editar item @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Pré-Visualizar @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Detalhes @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Data de criação @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Conteúdo @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Data de modificação @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Data de adição @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Nome do ficheiro @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Nome original do ficheiro @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Tamanho do ficheiro original @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Tipo mime original @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Tamanho do arquivo @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Metadados do documento original @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Metadados do documento arquivado @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 History @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Guardar & próximo @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Gravar e fechar @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Descartar @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Document loading... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Introduzir Palavra-Passe diff --git a/src-ui/src/locale/messages.ro_RO.xlf b/src-ui/src/locale/messages.ro_RO.xlf index 6fe91c215..9b70cfcd2 100644 --- a/src-ui/src/locale/messages.ro_RO.xlf +++ b/src-ui/src/locale/messages.ro_RO.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Număr serial în arhivă @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 Adevărat @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 Fals @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Caută documente... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Nu @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Adaugă interogare @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Adaugă expresie @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Crează articol nou @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Modifică articol @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Previzualizare @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Detalii @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Data creării @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Conținut @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Data ultimei modificări @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Data adăugării @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Numele fișierului media @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Numele original al fișierului @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Dimensiunea fișierului original @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Tip MIME original @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Mărimea arhivei @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Metadatele documentului original @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Metadatele documentului arhivat @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 Istoric @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Salvează și continuă @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Salvează & închide @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Renunță @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Se încarcă documentul... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Introdu Parola diff --git a/src-ui/src/locale/messages.ru_RU.xlf b/src-ui/src/locale/messages.ru_RU.xlf index e9e03e13b..d8daed3fe 100644 --- a/src-ui/src/locale/messages.ru_RU.xlf +++ b/src-ui/src/locale/messages.ru_RU.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Архивный номер (АН) @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 Верно @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 Ложное @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Поиск документов... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Не @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Добавить запрос @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Добавить выражение @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Создать новый объект @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Редактировать объект @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Предпросмотр @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Детали @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Дата создания @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Содержимое @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Дата изменения @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Дата добавления @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Имя файла @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Исходное имя файла @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Размер оригинального файла @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Оригинальный MIME тип @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Размер архива @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Метаданные оригинального документа @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Метаданные архивного документа @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 История @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Сохранить & следующий @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Сохранить & закрыть @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Отменить @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Документ загружается... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Введите пароль diff --git a/src-ui/src/locale/messages.sk_SK.xlf b/src-ui/src/locale/messages.sk_SK.xlf index 4874fde2e..8f1691846 100644 --- a/src-ui/src/locale/messages.sk_SK.xlf +++ b/src-ui/src/locale/messages.sk_SK.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Sériové číslo archívu @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 True @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 False @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Search docs... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Not @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Add query @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Add expression @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Vytvoriť novú položku @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Upraviť položku @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Náhľad @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Podrobnosti @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Vytvorené @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Obsah @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Dátum úpravy @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Dátum pridania @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Názov súboru médií @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Originál - názov @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Originál - veľkosť @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Pôvodný MIME typ @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Archív - veľkosť @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Metadáta originálu @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Metadáta archívu @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 History @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Uložiť & nasledujúci @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Uložiť & zatvoriť @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Zahodiť @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Document loading... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Zadajte Heslo diff --git a/src-ui/src/locale/messages.sl_SI.xlf b/src-ui/src/locale/messages.sl_SI.xlf index d291be34f..bae2aa778 100644 --- a/src-ui/src/locale/messages.sl_SI.xlf +++ b/src-ui/src/locale/messages.sl_SI.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Arhivska serijska številka @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 Resnično @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 Neresnično @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Išči dokumente ... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Ne @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Dodaj poizvedbo @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Dodaj izraz @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Ustvari nov element @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Uredi vnos @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Predogled @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Podrobnosti @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Datum nastanka @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Vsebina @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Datum spremembe @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Datum vnosa @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Ime medijske datoteke @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Izvirno ime datoteke @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Izvirna kontrolna vsota SHA256 @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Izvirna velikost datoteke @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Izvirna mime vrsta @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Arhivska kontrolna vsota SHA256 @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Velikost arhivske datoteke @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Izvirni metapodatki dokumenta @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Arhivirani metapodatki dokumenta @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Opombe @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 Zgodovina @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Dvojniki @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Zaznani podvojeni dokumenti: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 V koš @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Shrani & naslednjo @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Shrani & zapri @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Zavrzi @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Nalaganje dokumenta... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Vnesi geslo diff --git a/src-ui/src/locale/messages.sq_AL.xlf b/src-ui/src/locale/messages.sq_AL.xlf index 0a43b5def..0c03a257f 100644 --- a/src-ui/src/locale/messages.sq_AL.xlf +++ b/src-ui/src/locale/messages.sq_AL.xlf @@ -719,7 +719,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -903,7 +903,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1483,7 +1483,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1743,7 +1743,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 [SQ] Archive serial number @@ -1755,7 +1755,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1787,7 +1787,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1819,7 +1819,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2011,7 +2011,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4311,11 +4311,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 [SQ] True @@ -4327,11 +4327,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 [SQ] False @@ -4343,7 +4343,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Search docs... @@ -4351,7 +4351,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4363,7 +4363,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 [SQ] Not @@ -4371,7 +4371,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 [SQ] Add query @@ -4379,7 +4379,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 [SQ] Add expression @@ -4707,7 +4707,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Create new item @@ -4715,7 +4715,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Edit item @@ -5363,7 +5363,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 [SQ] Preview @@ -8555,7 +8555,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 [SQ] Details @@ -8563,7 +8563,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8587,7 +8587,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 [SQ] Date created @@ -8595,7 +8595,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8607,7 +8607,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 [SQ] Content @@ -8615,7 +8615,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8627,7 +8627,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 [SQ] Date modified @@ -8635,7 +8635,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 [SQ] Date added @@ -8643,7 +8643,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 [SQ] Media filename @@ -8651,7 +8651,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 [SQ] Original filename @@ -8659,7 +8659,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8667,7 +8667,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 [SQ] Original file size @@ -8675,7 +8675,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 [SQ] Original mime type @@ -8683,7 +8683,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8691,7 +8691,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 [SQ] Archive file size @@ -8699,7 +8699,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 [SQ] Original document metadata @@ -8707,7 +8707,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 [SQ] Archived document metadata @@ -8715,7 +8715,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8723,7 +8723,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 [SQ] History @@ -8731,7 +8731,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8739,7 +8739,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 [SQ] Duplicate documents detected: @@ -8747,7 +8747,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 [SQ] In trash @@ -8755,7 +8755,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Save & next @@ -8763,7 +8763,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Save & close @@ -8771,7 +8771,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 [SQ] Discard @@ -8779,7 +8779,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Document loading... @@ -8787,7 +8787,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Enter Password diff --git a/src-ui/src/locale/messages.sr_CS.xlf b/src-ui/src/locale/messages.sr_CS.xlf index d33e17fe5..70d7dc96d 100644 --- a/src-ui/src/locale/messages.sr_CS.xlf +++ b/src-ui/src/locale/messages.sr_CS.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Arhivski serijski broj (ASN) @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 Tačno @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 Netačno @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Pretraži dokumenta... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Nije @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Dodaj upit @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Dodaj izraz @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Kreiraj novu stavku @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Izmeni stavku @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Pregled @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Detalji @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Datum kreiranja @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Sadržaj @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Datum izmene @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Datum dodavanja @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Naziv fajla @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Originalno ime fajla @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Originalna veličina fajla @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Originalni MIME tip @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Arhivska veličina fajla @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Metapodaci originalnog dokumenta @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Metapodaci arhivnog dokumenta @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 Istorija @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Otkriveni duplikati dokumenata: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 U otpadu @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Sačuvaj i sledeći @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Sačuvaj i zatvori @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Odbaci @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Učitavanje dokumenta.... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Unesite lozinku diff --git a/src-ui/src/locale/messages.sv_SE.xlf b/src-ui/src/locale/messages.sv_SE.xlf index 2d15833aa..e7f851fd6 100644 --- a/src-ui/src/locale/messages.sv_SE.xlf +++ b/src-ui/src/locale/messages.sv_SE.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Arkivets serienummer @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 Sant @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 Falskt @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Sök dokument... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Ej @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Lägg till fråga @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Lägg till uttryck @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Skapa nytt objekt @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Redigera objekt @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Förhandsgranska @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Detaljer @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Datum skapad @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Innehåll @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Datum ändrad @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Datum tillagd @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Media filnamn @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Ursprungligt filnamn @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Ursprunglig filstorlek @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Ursprunglig mime-typ @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Arkiv filstorlek @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Ursprungliga dokumentmetadata @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Arkiverade dokumentmetadata @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 Historik @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 I papperskorgen @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Spara & nästa @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Spara & stäng @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Avfärda @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Dokument laddar... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Ange lösenord diff --git a/src-ui/src/locale/messages.th_TH.xlf b/src-ui/src/locale/messages.th_TH.xlf index e8a53835c..30fe4ca9c 100644 --- a/src-ui/src/locale/messages.th_TH.xlf +++ b/src-ui/src/locale/messages.th_TH.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 รหัสการจัดเก็บถาวร @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 True @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 False @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Search docs... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Not @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Add query @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Add expression @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 สร้างรายการใหม่ @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 แก้ไขรายการ @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 ตัวอย่าง @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 รายละเอียด @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 วันที่สร้าง @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 เนื้อหา @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 วันที่แก้ไข @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 วันที่เพิ่ม @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 ชื่อไฟล์สื่อ @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 ชื่อไฟล์ต้นฉบับ @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 ขนาดไฟล์เดิม @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 MIME Type ของไฟล์เดิม @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 ขนาดไฟล์เก็บถาวร @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Original document metadata @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Archived document metadata @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 History @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 บันทึก & ถัดไป @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 บันทึก & ปิด @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 ละทิ้ง @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Document loading... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 กรอกรหัสผ่าน diff --git a/src-ui/src/locale/messages.tr_TR.xlf b/src-ui/src/locale/messages.tr_TR.xlf index 9267d2376..dfa523920 100644 --- a/src-ui/src/locale/messages.tr_TR.xlf +++ b/src-ui/src/locale/messages.tr_TR.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Arşiv seri numarası @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 Evet @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 Hayır @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Belgelerde ara... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Değil @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Sorgu Ekle @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 İfade Ekle @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Yeni Öğe Oluştur @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Öğeyi Düzenle @@ -5364,7 +5364,7 @@ tüm krite src/app/components/document-detail/document-detail.component.html - 356 + 360 Ön İzleme @@ -8556,7 +8556,7 @@ tüm krite Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Ayrıntılar @@ -8564,7 +8564,7 @@ tüm krite Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8588,7 +8588,7 @@ tüm krite Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Oluşturma tarihi @@ -8596,7 +8596,7 @@ tüm krite Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8608,7 +8608,7 @@ tüm krite Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Içerik @@ -8616,7 +8616,7 @@ tüm krite Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8628,7 +8628,7 @@ tüm krite Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Değiştirilme tarihi @@ -8636,7 +8636,7 @@ tüm krite Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Ekleme tarihi @@ -8644,7 +8644,7 @@ tüm krite Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Medya dosya ismi @@ -8652,7 +8652,7 @@ tüm krite Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Orjinal dosya adı @@ -8660,7 +8660,7 @@ tüm krite Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8668,7 +8668,7 @@ tüm krite Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Orijinal dosya boyutu @@ -8676,7 +8676,7 @@ tüm krite Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Orijinal mime türü @@ -8684,7 +8684,7 @@ tüm krite Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8692,7 +8692,7 @@ tüm krite Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Arşiv dosya boyutu @@ -8700,7 +8700,7 @@ tüm krite Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Orijinal belge meta verisi @@ -8708,7 +8708,7 @@ tüm krite Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Arşivlenen belge meta verileri @@ -8716,7 +8716,7 @@ tüm krite Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8724,7 +8724,7 @@ tüm krite History src/app/components/document-detail/document-detail.component.html - 379 + 383 Geçmiş @@ -8732,7 +8732,7 @@ tüm krite Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8740,7 +8740,7 @@ tüm krite Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8748,7 +8748,7 @@ tüm krite In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8756,7 +8756,7 @@ tüm krite Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Kaydet ve sonrakine geç @@ -8764,7 +8764,7 @@ tüm krite Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Kaydet ve kapat @@ -8772,7 +8772,7 @@ tüm krite Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Vazgeç @@ -8780,7 +8780,7 @@ tüm krite Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Belge Yükleniyor... @@ -8788,7 +8788,7 @@ tüm krite Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Parolayı girin diff --git a/src-ui/src/locale/messages.uk_UA.xlf b/src-ui/src/locale/messages.uk_UA.xlf index 85f1aec49..030963c1d 100644 --- a/src-ui/src/locale/messages.uk_UA.xlf +++ b/src-ui/src/locale/messages.uk_UA.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Архівний серійний номер @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 Вірно @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 Невірно @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Шукати в документації... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Не @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Додати запит @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Додати вираз @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Створити новий елемент @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Редагувати елемент @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Попередній перегляд @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Деталі @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Дата створення @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Вміст @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Дата зміни @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Дата додавання @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Назва медіафайлу @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Оригінальна назва файлу @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Оригінальний розмір файлу @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Оригінальний тип MIME @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Розмір архіву @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Метадані оригінального документа @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Метадані архівованого документа @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 Історія @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Зберегти та перейти до наступного @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Зберегти та закрити @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Скасувати @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Завантаження документа... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Введіть пароль diff --git a/src-ui/src/locale/messages.vi_VN.xlf b/src-ui/src/locale/messages.vi_VN.xlf index 4c792832b..4b625c316 100644 --- a/src-ui/src/locale/messages.vi_VN.xlf +++ b/src-ui/src/locale/messages.vi_VN.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 Số sê-ri lưu trữ (ASN) @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1788,7 +1788,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1820,7 +1820,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2012,7 +2012,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4330,11 +4330,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 Đúng @@ -4346,11 +4346,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 Sai @@ -4362,7 +4362,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 Tìm kiếm tài liệu... @@ -4370,7 +4370,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4382,7 +4382,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 Không @@ -4390,7 +4390,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 Thêm yêu cầu tìm kiếm @@ -4398,7 +4398,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 Thêm biểu thức @@ -4728,7 +4728,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 Tạo mục mới @@ -4736,7 +4736,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 Chỉnh sửa mục @@ -5386,7 +5386,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 Xem trước @@ -8600,7 +8600,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 Chi tiết @@ -8608,7 +8608,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8632,7 +8632,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 Ngày tạo @@ -8640,7 +8640,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8652,7 +8652,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 Nội dung @@ -8660,7 +8660,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8672,7 +8672,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 Ngày sửa đổi @@ -8680,7 +8680,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 Ngày thêm @@ -8688,7 +8688,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 Tên tệp Media @@ -8696,7 +8696,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 Tên tệp gốc @@ -8704,7 +8704,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8712,7 +8712,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 Kích thước tệp gốc @@ -8720,7 +8720,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 Loại MIME gốc @@ -8728,7 +8728,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8736,7 +8736,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 Kích thước tệp lưu trữ @@ -8744,7 +8744,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 Siêu dữ liệu tài liệu gốc @@ -8752,7 +8752,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 Siêu dữ liệu tài liệu lưu trữ @@ -8760,7 +8760,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8768,7 +8768,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 Lịch sử @@ -8776,7 +8776,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8784,7 +8784,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8792,7 +8792,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8800,7 +8800,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 Lưu & Tiếp theo @@ -8810,7 +8810,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 Lưu và đóng @@ -8820,7 +8820,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 Hủy bỏ @@ -8828,7 +8828,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 Tải tài liệu ... @@ -8836,7 +8836,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 Nhập mật khẩu diff --git a/src-ui/src/locale/messages.zh_CN.xlf b/src-ui/src/locale/messages.zh_CN.xlf index 0f8fea1aa..400b15d51 100644 --- a/src-ui/src/locale/messages.zh_CN.xlf +++ b/src-ui/src/locale/messages.zh_CN.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1528,7 +1528,7 @@ src/app/components/admin/settings/settings.component.html 306,308 - Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. + 这些设置将应用于通过 Web 界面创建的对象(标签、邮件规则等)。这些设置不适用于文档。 Default Owner @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 归档序列号 @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -2644,7 +2644,7 @@ src/app/components/admin/tasks/tasks.component.ts 239 - 取消选择 + 取消选中项 Dismiss visible @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 搜索文档... @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 添加查询 @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 添加表达式 @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 创建新项目 @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 编辑项目 @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 预览 @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 详细信息 @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 创建日期 @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 内容 @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 修改日期 @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 日期已添加 @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 媒体文件名 @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 原文件名 @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 原始 SHA256 校验和 @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 原始文件大小 @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 原始 mime 类型 @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 归档 SHA256 校验和 @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 归档文件大小 @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 原始文档元数据 @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 归档文档元数据 @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 备注 @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 历史 @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 个重复文档 @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 检测到重复文档: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 在回收站中 @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 保存 & 下一个 @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 保存并关闭 @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 放弃 @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 正在加载文档... @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 输入密码 @@ -9719,7 +9719,7 @@ src/app/components/document-list/document-card-small/document-card-small.component.html 8 - thumbnail + 缩略图 Filter by tag diff --git a/src-ui/src/locale/messages.zh_TW.xlf b/src-ui/src/locale/messages.zh_TW.xlf index 447d4c29c..48e10e198 100644 --- a/src-ui/src/locale/messages.zh_TW.xlf +++ b/src-ui/src/locale/messages.zh_TW.xlf @@ -718,7 +718,7 @@ src/app/components/document-detail/document-detail.component.html - 445 + 449 src/app/components/document-list/bulk-editor/custom-fields-bulk-edit-dialog/custom-fields-bulk-edit-dialog.component.html @@ -902,7 +902,7 @@ src/app/components/document-detail/document-detail.component.html - 464 + 468 src/app/components/document-list/document-list.component.html @@ -1482,7 +1482,7 @@ src/app/components/document-detail/document-detail.component.html - 390 + 394 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1742,7 +1742,7 @@ src/app/components/document-detail/document-detail.component.html - 165 + 169 封存序號 @@ -1754,7 +1754,7 @@ src/app/components/document-detail/document-detail.component.html - 170 + 174 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1786,7 +1786,7 @@ src/app/components/document-detail/document-detail.component.html - 174 + 178 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -1818,7 +1818,7 @@ src/app/components/document-detail/document-detail.component.html - 178 + 182 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2010,7 +2010,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 154 + 159 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4310,11 +4310,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 96 + 101 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 102 + 107 @@ -4326,11 +4326,11 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 97 + 102 src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 103 + 108 @@ -4342,7 +4342,7 @@ src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 119 + 124 搜尋文件⋯ @@ -4350,7 +4350,7 @@ Any src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 152 + 157 src/app/components/common/filterable-dropdown/filterable-dropdown.component.html @@ -4362,7 +4362,7 @@ Not src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 157 + 162 不是 @@ -4370,7 +4370,7 @@ Add query src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 176 + 181 新增查詢 @@ -4378,7 +4378,7 @@ Add expression src/app/components/common/custom-fields-query-dropdown/custom-fields-query-dropdown.component.html - 179 + 184 新增表達式 @@ -4706,7 +4706,7 @@ Create new item src/app/components/common/edit-dialog/edit-dialog.component.ts - 119 + 123 建立新項目 @@ -4714,7 +4714,7 @@ Edit item src/app/components/common/edit-dialog/edit-dialog.component.ts - 123 + 127 編輯項目 @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.html - 356 + 360 預覽 @@ -8554,7 +8554,7 @@ Details src/app/components/document-detail/document-detail.component.html - 160 + 164 詳細資訊 @@ -8562,7 +8562,7 @@ Title src/app/components/document-detail/document-detail.component.html - 163 + 167 src/app/components/document-list/document-list.component.html @@ -8586,7 +8586,7 @@ Date created src/app/components/document-detail/document-detail.component.html - 167 + 171 建立日期 @@ -8594,7 +8594,7 @@ Default src/app/components/document-detail/document-detail.component.html - 179 + 183 src/app/components/manage/saved-views/saved-views.component.html @@ -8606,7 +8606,7 @@ Content src/app/components/document-detail/document-detail.component.html - 286 + 290 內容 @@ -8614,7 +8614,7 @@ Metadata src/app/components/document-detail/document-detail.component.html - 295 + 299 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -8626,7 +8626,7 @@ Date modified src/app/components/document-detail/document-detail.component.html - 302 + 306 修改日期 @@ -8634,7 +8634,7 @@ Date added src/app/components/document-detail/document-detail.component.html - 306 + 310 新增日期 @@ -8642,7 +8642,7 @@ Media filename src/app/components/document-detail/document-detail.component.html - 310 + 314 媒體檔案名稱 @@ -8650,7 +8650,7 @@ Original filename src/app/components/document-detail/document-detail.component.html - 314 + 318 原始檔案名稱 @@ -8658,7 +8658,7 @@ Original SHA256 checksum src/app/components/document-detail/document-detail.component.html - 318 + 322 Original SHA256 checksum @@ -8666,7 +8666,7 @@ Original file size src/app/components/document-detail/document-detail.component.html - 322 + 326 原始檔案大小 @@ -8674,7 +8674,7 @@ Original mime type src/app/components/document-detail/document-detail.component.html - 326 + 330 原始 MIME 類型 @@ -8682,7 +8682,7 @@ Archive SHA256 checksum src/app/components/document-detail/document-detail.component.html - 331 + 335 Archive SHA256 checksum @@ -8690,7 +8690,7 @@ Archive file size src/app/components/document-detail/document-detail.component.html - 337 + 341 封存檔案大小 @@ -8698,7 +8698,7 @@ Original document metadata src/app/components/document-detail/document-detail.component.html - 346 + 350 原始文件詮釋資料 @@ -8706,7 +8706,7 @@ Archived document metadata src/app/components/document-detail/document-detail.component.html - 349 + 353 封存文件詮釋資料 @@ -8714,7 +8714,7 @@ Notes src/app/components/document-detail/document-detail.component.html - 368,371 + 372,375 Notes @@ -8722,7 +8722,7 @@ History src/app/components/document-detail/document-detail.component.html - 379 + 383 歷史紀錄 @@ -8730,7 +8730,7 @@ Duplicates src/app/components/document-detail/document-detail.component.html - 401,405 + 405,409 Duplicates @@ -8738,7 +8738,7 @@ Duplicate documents detected: src/app/components/document-detail/document-detail.component.html - 407 + 411 Duplicate documents detected: @@ -8746,7 +8746,7 @@ In trash src/app/components/document-detail/document-detail.component.html - 418 + 422 In trash @@ -8754,7 +8754,7 @@ Save & next src/app/components/document-detail/document-detail.component.html - 447 + 451 儲存 & 下一個 @@ -8762,7 +8762,7 @@ Save & close src/app/components/document-detail/document-detail.component.html - 449 + 453 標題與內容 @@ -8770,7 +8770,7 @@ Discard src/app/components/document-detail/document-detail.component.html - 451 + 455 放棄變更 @@ -8778,7 +8778,7 @@ Document loading... src/app/components/document-detail/document-detail.component.html - 459 + 463 文件讀取中⋯ @@ -8786,7 +8786,7 @@ Enter Password src/app/components/document-detail/document-detail.component.html - 513 + 517 輸入密碼 diff --git a/src/locale/af_ZA/LC_MESSAGES/django.po b/src/locale/af_ZA/LC_MESSAGES/django.po index e4a12fd6f..2be64a7de 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Afrikaans\n" "Language: af_ZA\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1348,38 +1348,38 @@ msgstr "" msgid "Invalid color." msgstr "Ongeldige kleur." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "Lêertipe %(type)s word nie ondersteun nie" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "" -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "" -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Ongeldige veranderlike bespeur." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1634,36 +1634,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4641 +#: documents/views.py:4646 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 b582ea706..672cd68c1 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Amharic\n" "Language: am_ET\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1348,38 +1348,38 @@ msgstr "" msgid "Invalid color." msgstr "" -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "" -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "" -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "" -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1634,36 +1634,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4641 +#: documents/views.py:4646 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 82b160330..a814662f4 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Arabic\n" "Language: ar_SA\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1348,38 +1348,38 @@ msgstr "" msgid "Invalid color." msgstr "لون خاطئ." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "نوع الملف %(type)s غير مدعوم" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "" -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "" -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "اكتشاف متغير خاطئ." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1635,36 +1635,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4641 +#: documents/views.py:4646 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 d1c4b4069..3f016a141 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Belarusian\n" "Language: be_BY\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1348,38 +1348,38 @@ msgstr "" msgid "Invalid color." msgstr "Няправільны колер." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "Тып файла %(type)s не падтрымліваецца" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "" -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "" -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Выяўлена няправільная зменная." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1634,36 +1634,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4641 +#: documents/views.py:4646 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 dcce36278..e2987ab9c 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Language: bg_BG\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "стартиране на работните процеси" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1348,38 +1348,38 @@ msgstr "" msgid "Invalid color." msgstr "Невалиден цвят." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "Файловия тип %(type)s не се поддържа" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "" -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "" -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Засечена е невалидна променлива." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1635,36 +1635,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4641 +#: documents/views.py:4646 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 c7e325744..10ab8befa 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Catalan\n" "Language: ca_ES\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "flux corrents" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Permisos insuficients." @@ -1348,38 +1348,38 @@ msgstr "Permisos insuficients." msgid "Invalid color." msgstr "Color Invàlid." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "Tipus arxiu %(type)s no suportat" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "ID de camp personalizat ha de ser enter: %(id)s" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "Camp personalitzat amb ID %(id)s no existeix" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "Camps personalitzats han de ser una llista d'enters o un objecte que mapegi els identificadors amb els valors." -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "Alguns camps personalitzats no existeixen o s'han especificat dues vegades." -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Variable detectada invàlida." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "Duplicat d'identificadors de documents no permès." -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "Documents no trobats: %(ids)s" @@ -1635,36 +1635,36 @@ msgstr "L'esquema d'URI '{parts.scheme}' no està permès. Esquemes permesos: {' msgid "Unable to parse URI {value}" msgstr "No s'ha pogut analitzar l'URI {value}" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "Invalid more_like_id" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "Configuració AI invàlida." -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 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:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Permisos insuficients per compartir document %(id)s." -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "Paquet ja s'està processant." -#: documents/views.py:4631 +#: documents/views.py:4636 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:4641 +#: documents/views.py:4646 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 6a89a08a3..0275dd29f 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "spuštění pracovních postupů" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Nedostatečná oprávnění." @@ -1348,38 +1348,38 @@ msgstr "Nedostatečná oprávnění." msgid "Invalid color." msgstr "Neplatná barva." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "Typ souboru %(type)s není podporován" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "Vlastní ID pole musí být celé číslo: %(id)s" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "Vlastní pole s ID %(id)s neexistuje" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "Vlastní pole musí být seznam celých čísel nebo ID pro mapování objektů na hodnoty." -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "Některá vlastní pole neexistují nebo byla zadána dvakrát." -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Zjištěna neplatná proměnná." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1636,36 +1636,36 @@ msgstr "URI schéma '{parts.scheme}' není povoleno. Povolená schémata: {',\n" msgid "Unable to parse URI {value}" msgstr "Nelze zpracovat URI {value}" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, 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:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4641 +#: documents/views.py:4646 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 376f62469..9030ea25e 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "workflow-kørsler" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1348,38 +1348,38 @@ msgstr "" msgid "Invalid color." msgstr "Ugyldig farve." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "Filtype %(type)s understøttes ikke" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "" -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "" -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Ugyldig variabel fundet." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1635,36 +1635,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4641 +#: documents/views.py:4646 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 d5440e9bb..95cd4bc2e 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: German, Switzerland\n" "Language: de_CH\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "Arbeitsablauf wird ausgeführt" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Unzureichende Berechtigungen." @@ -1348,38 +1348,38 @@ msgstr "Unzureichende Berechtigungen." msgid "Invalid color." msgstr "Ungültige Farbe." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "Dateityp %(type)s nicht unterstützt" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "Feld-ID eines benutzerdefinierten Felds muss eine Ganzzahl sein: %(id)s" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "Benutzerdefiniertes Feld mit ID %(id)s existiert nicht" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "Benutzerdefinierte Felder müssen eine Liste von Ganzzahlen oder ein Objekt mit Zuordnung von IDs zu Werten sein." -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "Einige benutzerdefinierte Felder existieren nicht oder wurden zweimal angegeben." -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Ungültige Variable erkannt." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "Doppelte Dokumentbezeichner sind nicht erlaubt." -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "Dokumente nicht gefunden: %(ids)s" @@ -1635,36 +1635,36 @@ msgstr "URI-Schema „{parts.scheme}“ ist nicht erlaubt. Erlaubte Schemata: {' msgid "Unable to parse URI {value}" msgstr "URI {value} kann nicht gelesen werden" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "Ungültige more_like_id" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "Ungültige KI-Konfiguration." -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 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:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Unzureichende Berechtigungen, um Dokument %(id)s zu teilen." -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "Paket wird bereits verarbeitet." -#: documents/views.py:4631 +#: documents/views.py:4636 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:4641 +#: documents/views.py:4646 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 95af669c4..c81210df6 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -722,7 +722,7 @@ msgstr "Wartezeit (Sekunden)" #: documents/models.py:779 msgid "Time from task creation to worker pickup" -msgstr "Zeit von der Aufgabenerstellung bis zur Abholung des Workers" +msgstr "Zeit von der Aufgabenerstellung bis zur Übernahme durch einen Worker" #: documents/models.py:786 msgid "Input Data" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "Arbeitsablauf wird ausgeführt" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Unzureichende Berechtigungen." @@ -1348,38 +1348,38 @@ msgstr "Unzureichende Berechtigungen." msgid "Invalid color." msgstr "Ungültige Farbe." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "Dateityp %(type)s nicht unterstützt" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "Zusatzfeld-ID muss eine Ganzzahl sein: %(id)s" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "Zusatzfeld mit ID %(id)s existiert nicht" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "Zusatzfelder müssen eine Liste von Ganzzahlen oder ein Objekt mit Zuordnung von IDs zu Werten sein." -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "Einige Zusatzfelder existieren nicht oder wurden zweimal angegeben." -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Ungültige Variable erkannt." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "Doppelte Dokumentbezeichner sind nicht erlaubt." -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "Dokumente nicht gefunden: %(ids)s" @@ -1635,36 +1635,36 @@ msgstr "URI-Schema „{parts.scheme}“ ist nicht erlaubt. Erlaubte Schemata: {' msgid "Unable to parse URI {value}" msgstr "URI {value} kann nicht gelesen werden" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "Ungültige more_like_id" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "Ungültige KI-Konfiguration." -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "Zeitüberschreitung bei der KI-Backendanfrage." -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 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:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Unzureichende Berechtigungen, um Dokument %(id)s zu teilen." -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "Paket wird bereits verarbeitet." -#: documents/views.py:4631 +#: documents/views.py:4636 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:4641 +#: documents/views.py:4646 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 3a03ff0f0..c9d41759d 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "εκτελέσεις ροής εργασίας" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1348,38 +1348,38 @@ msgstr "" msgid "Invalid color." msgstr "Άκυρο χρώμα." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "Ο τύπος αρχείου %(type)s δεν υποστηρίζεται" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "" -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "" -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Εντοπίστηκε μη έγκυρη μεταβλητή." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1635,36 +1635,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4641 +#: documents/views.py:4646 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 52892a3ce..7e9249ad3 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "ejecuciones de flujo de trabajo" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Permisos insuficientes." @@ -1348,38 +1348,38 @@ msgstr "Permisos insuficientes." msgid "Invalid color." msgstr "Color inválido." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "Tipo de fichero %(type)s no suportado" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "El id del campo personalizado debe ser un entero: %(id)s" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "El campo personalizado con identificador %(id)s no existe" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "Los campos personalizados deben ser una lista de enteros o un identificador de mapeo de objetos a valores." -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "Algunos campos personalizados no existen o fueron especificados dos veces." -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Variable inválida." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "No se permiten identificadores de documento duplicados." -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "Documentos no encontrados: %(ids)s" @@ -1635,36 +1635,36 @@ msgstr "El esquema URI '{parts.scheme}' no está permitido. Esquemas permitidos: msgid "Unable to parse URI {value}" msgstr "No se puede analizar la URI {value}" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "Configuración de IA inválida." -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 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:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Permisos insuficientes para compartir el documento %(id)s." -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "El paquete ya está siendo procesado." -#: documents/views.py:4631 +#: documents/views.py:4636 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:4641 +#: documents/views.py:4646 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 1e8b47b0d..e7c36bbf1 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Estonian\n" "Language: et_EE\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1348,38 +1348,38 @@ msgstr "" msgid "Invalid color." msgstr "" -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "" -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "" -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "" -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1634,36 +1634,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4641 +#: documents/views.py:4646 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 e6d7a8089..ab24744b2 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "گردش کار اجرا می شود" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1348,38 +1348,38 @@ msgstr "" msgid "Invalid color." msgstr "رنگ نامعتبر" -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "" -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "" -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "متغیر نامعتبر شناسایی شده است." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1634,36 +1634,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4641 +#: documents/views.py:4646 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 965a6d696..887eb9648 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1348,38 +1348,38 @@ msgstr "" msgid "Invalid color." msgstr "Virheellinen väri." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "Tiedostotyyppiä %(type)s ei tueta" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "" -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "" -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Virheellinen muuttuja havaittu." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1635,36 +1635,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4641 +#: documents/views.py:4646 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 847a11e35..77021a389 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "le flux de travail s'exécute" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Droits insuffisants." @@ -1348,38 +1348,38 @@ msgstr "Droits insuffisants." msgid "Invalid color." msgstr "Couleur incorrecte." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "Type de fichier %(type)s non pris en charge" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "L'id du champ personnalisé doit être un entier : %(id)s" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "Le champ personnalisé avec l'id %(id)s n'existe pas" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "Les champs personnalisés doivent être une liste d'entiers ou un mappage d'identifiants à des valeurs." -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "Certains champs personnalisés n'existent pas ou ont été spécifiés deux fois." -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Variable invalide détectée." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "Les identificateurs de document en double ne sont pas autorisés." -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "Documents introuvables : %(ids)s" @@ -1634,36 +1634,36 @@ msgstr "Le schéma d'URI « {parts.scheme} » n'est pas autorisé. Schémas aut msgid "Unable to parse URI {value}" msgstr "Impossible d'analyser l'URI {value}" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "More_like_id invalide" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "Configuration IA invalide." -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "La requête d'arrière-plan IA a expiré." -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 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:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Droits d'accès insuffisant pour partager %(id)s document." -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "Le paquet est déjà en cours de traitement." -#: documents/views.py:4631 +#: documents/views.py:4636 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:4641 +#: documents/views.py:4646 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 da303cae5..88694e358 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -1340,7 +1340,7 @@ msgid "workflow runs" msgstr "הרצות זרימת עבודה" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "הרשאות אינן מספיקות." @@ -1349,38 +1349,38 @@ msgstr "הרשאות אינן מספיקות." msgid "Invalid color." msgstr "צבע לא חוקי." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "סוג קובץ %(type)s לא נתמך" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "שדה מותאם אישית id חייב להיות מספרי: %(id)s" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "שדה מותאם אישית עם מזהה %(id)s איננו קיים" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "שדות מותאמים אישית חייבים להיות רשימה של מספרים שלמים או אובייקט הממפה מזהים לערכים." -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "חלק מהשדות המותאמים אישית אינם קיימים או שהוגדרו פעמיים." -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "משתנה לא חוקי זוהה." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "מזהי מסמכים כפולים אינם מורשים." -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "מסמכים לא נמצאו: %(ids)s" @@ -1636,36 +1636,36 @@ msgstr "פרוטוקול ה-URI ‏'{parts.scheme}' אינו מורשה. הפר msgid "Unable to parse URI {value}" msgstr "לא ניתן לפענח את ה URI ‏{value}" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "מזהה more_like_id אינו תקין" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "הגדרות בינה מלאכותית שגויות." -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "יש לציין רק אחד מהבאים: text‏, title_search‏, query או more_like_id." -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "הרשאות לא מספיקות לשיתוף מסמך %(id)s." -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "החבילה (Bundle) כבר נמצאת בתהליך עיבוד." -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "חבילת קישור השיתוף עדיין בהכנה. נא לנסות שוב מאוחר יותר." -#: documents/views.py:4641 +#: documents/views.py:4646 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 15b93af59..bae011644 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Language: hi_IN\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1348,38 +1348,38 @@ msgstr "" msgid "Invalid color." msgstr "" -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "" -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "" -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "" -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1634,36 +1634,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4641 +#: documents/views.py:4646 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 e16dc4f93..340d5b33e 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Croatian\n" "Language: hr_HR\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "tijek rada pokrenut" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Nedovoljne ovlasti." @@ -1348,38 +1348,38 @@ msgstr "Nedovoljne ovlasti." msgid "Invalid color." msgstr "Nevažeća boja." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "Vrsta datoteke %(type)s nije podržana" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "ID prilagođenog polja mora biti cijeli broj: %(id)s" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "Prilagođeno polje s ID-om %(id)s ne postoji" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "Prilagođena polja moraju biti popis cijelih brojeva ili ID-ova objekata koji preslikavaju vrijednosti." -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "Neka prilagođena polja ne postoje ili su navedena dvaput." -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Otkrivena je nevaljana vrsta datoteke." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "Duplicirani identifikatori dokumenata nisu dopušteni." -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "Dokumenti nisu pronađeni: %(ids)s" @@ -1635,36 +1635,36 @@ msgstr "URI shema '{parts.scheme}' nije dopuštena. Dopuštene sheme: {', '.join msgid "Unable to parse URI {value}" msgstr "Nije moguće raščlaniti URI {value}" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "Nevažeći more_like_id" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "Nevažeća AI konfiguracija." -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 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:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Nedovoljne ovlasti za dijeljenje dokumenta %(id)s." -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "Paket se već obrađuje." -#: documents/views.py:4631 +#: documents/views.py:4636 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:4641 +#: documents/views.py:4646 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 890527fc8..329979d83 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "munkafolyamat futtatások" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Nincs jogosúltsága." @@ -1348,38 +1348,38 @@ msgstr "Nincs jogosúltsága." msgid "Invalid color." msgstr "Érvénytelen szín." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "%(type)s fájltípus nem támogatott" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "Az egyéni mező azonosítójának egész számnak kell lennie: %(id)s" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "A(z) %(id)s azonosítójú egyéni mező nem létezik" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "Az egyéni mezőknek egész számok listájának vagy azonosítókat értékekhez rendelő objektumnak kell lenniük." -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "Néhány egyéni mező nem létezik, vagy kétszer lett megadva." -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Érvénytelen változó észlelve." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "A dokumentumazonosítók duplikálása nem megengedett." -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "Dokumentumok nem találhatók: %(ids)s" @@ -1635,36 +1635,36 @@ msgstr "A '{parts.scheme}' séma nem engedélyezett. Engedélyezett sémák: {', msgid "Unable to parse URI {value}" msgstr "A {value} URI értelmezése sikertelen" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "Érvénytelen more_like_id" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "Érvénytelen MI konfiguráció." -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 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:4524 +#: documents/views.py:4529 #, 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:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "A csomag feldolgozása már folyamatban van." -#: documents/views.py:4631 +#: documents/views.py:4636 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:4641 +#: documents/views.py:4646 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 e391bcfd7..2d92e7d7f 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "daftar jalankan alur kerja" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Izin tidak mencukupi" @@ -1348,38 +1348,38 @@ msgstr "Izin tidak mencukupi" msgid "Invalid color." msgstr "Warna tidak sesuai." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "Jenis berkas %(type)s tidak didukung" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "Id kolom kustom harus berupa bilangan bulat: %(id)s" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "Kolom kustom dengan id %(id)s tidak ada" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "Kolom kustom harus berupa daftar bilangan bulat atau objek yang memetakan id ke nilai." -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "Beberapa kolom kustom tidak ada atau ditentukan dua kali." -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Variabel ilegal terdeteksi." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "Penggunaan pengenal dokumen ganda tidak diperbolehkan." -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "Dokumen tidak ditemukan: %(ids)s" @@ -1635,36 +1635,36 @@ msgstr "Skema URI '{parts.scheme}' tidak diizinkan. Skema yang diizinkan: {', '. msgid "Unable to parse URI {value}" msgstr "Gagal membaca URI {value}" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Izin tidak mencukupi untuk berbagi dokumen %(id)s" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "Paket sedang diproses." -#: documents/views.py:4631 +#: documents/views.py:4636 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:4641 +#: documents/views.py:4646 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 91e3c42f2..483e3cf3e 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "esecuzioni del flusso di lavoro" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Autorizzazioni insufficienti." @@ -1348,38 +1348,38 @@ msgstr "Autorizzazioni insufficienti." msgid "Invalid color." msgstr "Colore non valido." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "Il tipo di file %(type)s non è supportato" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "L'ID del campo personalizzato deve essere un numero intero: %(id)s" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "Il campo personalizzato con ID %(id)s non esiste" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "I campi personalizzati devono essere un elenco di numeri interi o un oggetto che mappa gli ID ai valori." -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "Alcuni campi personalizzati non esistono o sono stati specificati due volte." -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Variabile non valida rilevata." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "Non sono consentiti identificatori di documenti duplicati." -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "Documenti non trovati: %(ids)s" @@ -1635,36 +1635,36 @@ msgstr "Lo schema URI '{parts.scheme}' non è consentito. Schemi consentiti: {', msgid "Unable to parse URI {value}" msgstr "Impossibile analizzare l'URI {value}" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "more_like_id non valido" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "Configurazione AI non valida." -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "Richiesta di backend AI scaduta." -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 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:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Autorizzazioni insufficienti per condividere il documento %(id)s." -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "Il pacchetto è già in fase di elaborazione." -#: documents/views.py:4631 +#: documents/views.py:4636 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:4641 +#: documents/views.py:4646 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 dce5e8a5c..07289f4ec 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "ワークフローの実行" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1348,38 +1348,38 @@ msgstr "" msgid "Invalid color." msgstr "無効な色" -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "ファイルタイプ %(type)s はサポートされていません" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "" -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "" -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "無効な変数を検出しました" -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1635,36 +1635,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4641 +#: documents/views.py:4646 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 105c1f16a..66cd4c097 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "워크플로우 실행" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1348,38 +1348,38 @@ msgstr "" msgid "Invalid color." msgstr "" -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "사용자 정의 ID 필드는 반드시 정수여야 합니다: %(id)s" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "%(id)s를 ID로 가지는 사용자 정의 필드가 존재하지 않습니다." -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "사용자 정의 필드는 정수 리스트이거나, ID를 값에 매핑하는 객체여야 합니다." -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "존재하지 않거나 중복된 사용자 정의 필드가 있습니다." -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "잘못된 변수가 감지되었습니다." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1635,36 +1635,36 @@ msgstr "URI 스킴 '{parts.scheme}'는 허용되지 않습니다. 허용된 스 msgid "Unable to parse URI {value}" msgstr "{value} URI를 파싱할 수 없음" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4641 +#: documents/views.py:4646 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 500a00b58..f31c88563 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Luxembourgish\n" "Language: lb_LU\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1348,38 +1348,38 @@ msgstr "" msgid "Invalid color." msgstr "Ongëlteg Faarf." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "Fichierstyp %(type)s net ënnerstëtzt" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "" -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "" -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Ongëlteg Zeechen detektéiert." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1634,36 +1634,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4641 +#: documents/views.py:4646 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 478969a1b..abd1f4bb8 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Lithuanian\n" "Language: lt_LT\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1348,38 +1348,38 @@ msgstr "" msgid "Invalid color." msgstr "" -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "" -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "" -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "" -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1634,36 +1634,36 @@ msgstr "URI schema '{parts.scheme}' nėra leistina. Galimos schemos: {', '.join( msgid "Unable to parse URI {value}" msgstr "Nepavyko apdoroti URI {value}" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Nepakanka leidimų bendrinti dokumentą %(id)s." -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "Rinkinys jau apdorojamas." -#: documents/views.py:4631 +#: documents/views.py:4636 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:4641 +#: documents/views.py:4646 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 988448657..ae55f7202 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Latvian\n" "Language: lv_LV\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1348,38 +1348,38 @@ msgstr "" msgid "Invalid color." msgstr "" -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "" -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "" -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "" -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1634,36 +1634,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4641 +#: documents/views.py:4646 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 78f82087e..6bbc45694 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Macedonian\n" "Language: mk_MK\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1348,38 +1348,38 @@ msgstr "" msgid "Invalid color." msgstr "" -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "" -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "" -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "" -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1634,36 +1634,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4641 +#: documents/views.py:4646 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/ms_MY/LC_MESSAGES/django.po b/src/locale/ms_MY/LC_MESSAGES/django.po index 1d84c0a81..3af95c69a 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Malay\n" "Language: ms_MY\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1348,38 +1348,38 @@ msgstr "" msgid "Invalid color." msgstr "" -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "" -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "" -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "" -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1634,36 +1634,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4641 +#: documents/views.py:4646 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 4d6d74302..f2b257379 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1348,38 +1348,38 @@ msgstr "" msgid "Invalid color." msgstr "Ongeldig kleur." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "Bestandstype %(type)s niet ondersteund" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "Aangepast veld met id %(id)s bestaat niet" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "Aangepaste velden moeten een lijst van numerieke waarden zijn of een object mapping id naar waarden." -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "Sommige aangepaste velden bestaan niet of zijn dubbel opgegeven." -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Ongeldige variabele ontdekt." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1635,36 +1635,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4641 +#: documents/views.py:4646 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 52ce43aa5..5da76951e 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "workflow runs (NO)" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Insufficient permissions. (NO)" @@ -1348,38 +1348,38 @@ msgstr "Insufficient permissions. (NO)" msgid "Invalid color." msgstr "Ugyldig farge." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "Filtype %(type)s støttes ikke" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "Egendefinert felt-id må være et heltall: %(id)s" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "Egendefinert felt med id %(id)s finnes ikke" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "Custom fields must be a list of integers or an object mapping ids to values. (NO)" -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "Some custom fields don't exist or were specified twice. (NO)" -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Ugyldig variabel oppdaget." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "Duplicate document identifiers are not allowed. (NO)" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "Documents not found: %(ids)s (NO)" @@ -1635,36 +1635,36 @@ msgstr "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join( msgid "Unable to parse URI {value}" msgstr "Unable to parse URI {value} (NO)" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "Invalid more_like_id (NO)" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "Invalid AI configuration. (NO)" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "Forespørselen til KI-tjenesten fikk tidsavbrudd." -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 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:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Insufficient permissions to share document %(id)s. (NO)" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "Bundle is already being processed. (NO)" -#: documents/views.py:4631 +#: documents/views.py:4636 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:4641 +#: documents/views.py:4646 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 ea5d06eb9..a1e351af2 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "uruchomienia przepływu pracy" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Niewystarczające uprawnienia." @@ -1348,38 +1348,38 @@ msgstr "Niewystarczające uprawnienia." msgid "Invalid color." msgstr "Nieprawidłowy kolor." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "Typ pliku %(type)s nie jest obsługiwany" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "Identyfikator pola niestandardowego musi być liczbą całkowitą: %(id)s" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "Pole niestandardowe z id %(id)s nie istnieje" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "Pola niestandardowe muszą być listą liczb całkowitych lub obiektem mapującym identyfikatory na wartości." -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "Niektóre niestandardowe pola nie istnieją lub zostały określone dwukrotnie." -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Wykryto nieprawidłową zmienną." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "Nie dopuszcza się powielania identyfikatorów dokumentów." -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "Nie znaleziono dokumentów: %(ids)s" @@ -1635,36 +1635,36 @@ msgstr "Schemat URI '{parts.scheme}' jest niedozwolony. Dozwolone schematy: {', msgid "Unable to parse URI {value}" msgstr "Nie można przetworzyć URI {value}" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "Nieprawidłowy more_like_id" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Brak uprawnień do udostępnienia dokumentu %(id)s." -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "Pakiet jest już przetwarzany." -#: documents/views.py:4631 +#: documents/views.py:4636 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:4641 +#: documents/views.py:4646 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 0d8f2c283..59641ed6b 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -1340,7 +1340,7 @@ msgid "workflow runs" msgstr "execução de fluxo de trabalho" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1349,38 +1349,38 @@ msgstr "" msgid "Invalid color." msgstr "Cor inválida." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "Tipo de arquivo %(type)s não suportado" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "O ID do campo personalizado deve ser um número inteiro: %(id)s" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "Não existe um campo personalizado com o ID %(id)s" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "Campos personalizados devem estar em uma lista de números inteiros ou em um objeto que relacione IDs a valores." -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "Campos personalizados inválidos ou duplicados." -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Variável inválida detectada." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1637,36 +1637,36 @@ msgstr "Esquema URI '{parts.scheme}' não é permitido. Esquemas permitidos:\n" msgid "Unable to parse URI {value}" msgstr "Não é possível analisar o URI {value}" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4641 +#: documents/views.py:4646 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/pt_PT/LC_MESSAGES/django.po b/src/locale/pt_PT/LC_MESSAGES/django.po index 05a90e6f8..55f43c4f0 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Portuguese\n" "Language: pt_PT\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1348,38 +1348,38 @@ msgstr "" msgid "Invalid color." msgstr "Cor invalida." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "Tipo de arquivo %(type)s não suportado" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "" -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "" -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Variável inválida detetada." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1635,36 +1635,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "Não foi possível analisar o URI {value}" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4641 +#: documents/views.py:4646 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 5d3250a6e..f23c94892 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Romanian\n" "Language: ro_RO\n" @@ -626,7 +626,7 @@ msgstr "" #: documents/models.py:692 msgid "Empty Trash" -msgstr "" +msgstr "Golire gunoi" #: documents/models.py:693 msgid "Check Workflows" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "rulări flux de lucru" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1348,38 +1348,38 @@ msgstr "" msgid "Invalid color." msgstr "Culoare invalidă." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "Tip de fișier %(type)s nesuportat" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "Id-ul câmpului personalizat trebuie să fie un număr întreg: %(id)s" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "Câmp personalizat cu id %(id)s nu există" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "Câmpurile personalizate trebuie să fie o listă de numere întregi sau un obiect mapping ids la valori." -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "Unele câmpuri personalizate nu există sau au fost specificate de două ori." -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Variabilă nevalidă detectată." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1635,36 +1635,36 @@ msgstr "Schema URI '{parts.scheme}' nu este permisă. Schemele permise: {', '.jo msgid "Unable to parse URI {value}" msgstr "Nu se poate analiza URI {value}" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4641 +#: documents/views.py:4646 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 33ce65898..277cc5382 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "запуски рабочего процесса" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1348,38 +1348,38 @@ msgstr "" msgid "Invalid color." msgstr "Неверный цвет." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "Тип файла %(type)s не поддерживается" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "" -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "" -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Обнаружена неверная переменная." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1635,36 +1635,36 @@ msgstr "Недопустимая схема URI '{parts.scheme}'. Разреше msgid "Unable to parse URI {value}" msgstr "Невозможно распознать URI {value}" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4641 +#: documents/views.py:4646 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 0a2409833..316d6c332 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Slovak\n" "Language: sk_SK\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "spustenia pracovných postupov" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1348,38 +1348,38 @@ msgstr "" msgid "Invalid color." msgstr "Neplatná farba." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "Typ súboru %(type)s nie je podporovaný" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "" -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "" -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Zistená neplatná premenná." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1635,36 +1635,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4641 +#: documents/views.py:4646 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/sl_SI/LC_MESSAGES/django.po b/src/locale/sl_SI/LC_MESSAGES/django.po index 93e082904..7b80328b2 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "poteka dela" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Nezadostna dovoljenja." @@ -1348,38 +1348,38 @@ msgstr "Nezadostna dovoljenja." msgid "Invalid color." msgstr "Napačna barva." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "Vrsta datoteke %(type)s ni podprta" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "ID polja po meri mora biti celo število: %(id)s" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "Polje po meri z ID-jem %(id)s ne obstaja" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "Polja po meri morajo biti seznam celih števil ali objekt, ki preslika ID-je v vrednosti." -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "Nekatera polja po meri ne obstajajo ali pa so bila navedena dvakrat." -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Zaznani neveljavni znaki." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "Podvojeni identifikatorji dokumentov niso dovoljeni." -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "Dokumentov ni bilo mogoče najti: %(ids)s" @@ -1635,36 +1635,36 @@ msgstr "Shema URI '{parts.scheme}' ni dovoljena. Dovoljene sheme: {', '.join(all msgid "Unable to parse URI {value}" msgstr "Ni mogoče razčleniti URI-ja {value}" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "Neveljaven more_like_id" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "Neveljavna konfiguracija umetne inteligence." -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "Časovna omejitev zahteve za umetno inteligenco je potekla." -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 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:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Nezadostna dovoljenja za skupno rabo dokumenta %(id)s." -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "Paket se že obdeluje." -#: documents/views.py:4631 +#: documents/views.py:4636 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:4641 +#: documents/views.py:4646 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 bd18caa47..c434a7bda 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Albanian\n" "Language: sq_AL\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "[SQ] workflow runs" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "[SQ] Insufficient permissions." @@ -1348,38 +1348,38 @@ msgstr "[SQ] Insufficient permissions." msgid "Invalid color." msgstr "Invalid color." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "[SQ] File type %(type)s not supported" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "Custom field id must be an integer: %(id)s" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "Custom field with id %(id)s does not exist" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "Custom fields must be a list of integers or an object mapping ids to values." -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "[SQ] Some custom fields don't exist or were specified twice." -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Invalid variable detected." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "[SQ] Duplicate document identifiers are not allowed." -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "Documents not found: %(ids)s" @@ -1635,36 +1635,36 @@ msgstr "[SQ] URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '. msgid "Unable to parse URI {value}" msgstr "[SQ] Unable to parse URI {value}" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "Invalid more_like_id" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "Invalid AI configuration." -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 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." -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "[SQ] Insufficient permissions to share document %(id)s." -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "[SQ] Bundle is already being processed." -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "[SQ] The share link bundle is still being prepared. Please try again later." -#: documents/views.py:4641 +#: documents/views.py:4646 msgid "The share link bundle is unavailable." msgstr "[SQ] The share link bundle is unavailable." diff --git a/src/locale/sr_CS/LC_MESSAGES/django.po b/src/locale/sr_CS/LC_MESSAGES/django.po index 7a5ee37cb..3323f7ea1 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Serbian (Latin)\n" "Language: sr_CS\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "pokretanje tokova rada" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Nedovoljne dozvole." @@ -1348,38 +1348,38 @@ msgstr "Nedovoljne dozvole." msgid "Invalid color." msgstr "Nevažeća boja." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "Vrsta datoteke %(type)s nije podržana" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "ID prilagođenog polja mora biti ceo broj: %(id)s" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "Prilagođeno polje sa ID-em %(id)s ne postoji" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "Prilagođena polja moraju biti lista celih brojeva ili objekat koji mapira identifikatore na vrednosti." -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "Neka prilagođena polja ne postoje ili su navedena dva puta." -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Otkrivena je nevažeća promenljiva." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "Duplirani identifikatori dokumenata nisu dozvoljeni." -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "Dokumenti nisu pronađeni: %(ids)s" @@ -1635,36 +1635,36 @@ msgstr "Šema URI-ja '{parts.scheme}' nije dozvoljena. Dozvoljene šeme {', '.jo msgid "Unable to parse URI {value}" msgstr "Nije moguće analizirati URI {value}" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "Nevažeći more_like_id" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "Nevažeća konfiguracija veštačke inteligencije." -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 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:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "Nedovoljne dozvole za deljenje dokumenta %(id)s." -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "Paket se već obrađuje." -#: documents/views.py:4631 +#: documents/views.py:4636 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:4641 +#: documents/views.py:4646 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 de1ce9a24..9cf0a348d 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "arbetsflöde körs" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Otillräckliga behörigheter." @@ -1348,38 +1348,38 @@ msgstr "Otillräckliga behörigheter." msgid "Invalid color." msgstr "Ogiltig färg." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "Filtypen %(type)s stöds inte" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "Anpassat fält-id måste vara ett heltal: %(id)s" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "" -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "Vissa anpassade fält finns inte eller har angetts två gånger." -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Ogiltig variabel upptäckt." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "Dubbletter av dokumentidentifierare är inte tillåtna." -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "Dokumenten hittades inte: %(ids)s" @@ -1635,36 +1635,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "Ogiltig more_like_id" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "Ogiltig AI-konfiguration." -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4641 +#: documents/views.py:4646 msgid "The share link bundle is unavailable." msgstr "" diff --git a/src/locale/th_TH/LC_MESSAGES/django.po b/src/locale/th_TH/LC_MESSAGES/django.po index 8216507af..6831e4a81 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1348,38 +1348,38 @@ msgstr "" msgid "Invalid color." msgstr "สีไม่ถูกต้อง" -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "ไม่รองรับไฟล์ประเภท %(type)s" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "" -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "" -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "ตรวจพบตัวแปรไม่ถูกต้อง" -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1634,36 +1634,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4641 +#: documents/views.py:4646 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 bdc0495da..f5c4c67a1 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "iş akışı çalıştırma" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1348,38 +1348,38 @@ msgstr "" msgid "Invalid color." msgstr "Geçersiz renk." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "Dosya türü %(type)s desteklenmiyor" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "%(id)s özel alan numarası tam sayı olmalıdır" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "%(id)s numaralı özel alan mevcut değil" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "Özel alanlar bir tam sayı olarak veya bir nesne haritası numaraları olmalıdır." -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "Bazı õzel alan numaraları mevcut değil yada iki kez tanımlanmıș." -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Geçersiz değişken algılandı." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1635,36 +1635,36 @@ msgstr "URI şeması ‘{parts.scheme}’ izin verilmez. İzin verilen şemalar: msgid "Unable to parse URI {value}" msgstr "URI {value} işlenemiyor" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4641 +#: documents/views.py:4646 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 dc7187dfa..44a85f545 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1348,38 +1348,38 @@ msgstr "" msgid "Invalid color." msgstr "Неправильний колір." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "Тип файлу %(type)s не підтримується" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "" -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "" -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Виявлено неправильну змінну." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1635,36 +1635,36 @@ msgstr "" msgid "Unable to parse URI {value}" msgstr "" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4641 +#: documents/views.py:4646 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 b90710588..d3afd2768 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "các lần chạy quy trình" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "Không có đủ quyền." @@ -1348,38 +1348,38 @@ msgstr "Không có đủ quyền." msgid "Invalid color." msgstr "Màu không hợp lệ." -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "Loại tập tin %(type)s không được hỗ trợ" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "ID trường tùy chỉnh phải là số nguyên: %(id)s" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "Trường tùy chỉnh với ID %(id)s không tồn tại" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "Trường tùy chỉnh phải là danh sách số nguyên hoặc đối tượng ánh xạ ID sang giá trị." -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "Một số trường tùy chỉnh không tồn tại hoặc được chỉ định hai lần." -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "Đã phát hiện biến số không hợp lệ." -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 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:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "Không tìm thấy tài liệu: %(ids)s" @@ -1635,36 +1635,36 @@ msgstr "Giao thức URI '{parts.scheme}' không được phép. Các giao thức msgid "Unable to parse URI {value}" msgstr "Không thể phân tích URI {value}" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, 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:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "Gói đang được xử lý" -#: documents/views.py:4631 +#: documents/views.py:4636 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:4641 +#: documents/views.py:4646 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 fc1c91cc3..d8b6755c6 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "工作流运行" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "权限不足。" @@ -1348,38 +1348,38 @@ msgstr "权限不足。" msgid "Invalid color." msgstr "无效的颜色" -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "不支持文件类型 %(type)s" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "自定义字段 id 必须是数字:%(id)s" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "自定义字段 id %(id)s 不存在" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "自定义字段必须为整数列表,或是一个将ID映射到值的对象。" -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "部分自定义字段不存在或重复指定。" -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "检测到无效变量。" -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "不允许重复文档标识符。" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "未找到文档:%(ids)s" @@ -1635,36 +1635,36 @@ msgstr "URI 格式 '{parts.scheme}' 不支持。支持的格式有:{', '.join( msgid "Unable to parse URI {value}" msgstr "无法解析 URI {value}" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "无效的more_like_id" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "无效的 AI 配置。" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "AI 后端请求超时。" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "只能指定 text、title_search、query 或 more_like_id 中的一项。" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "权限不足以分享文件:%(id)s。" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "捆绑包已在处理中。" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "分享链接包仍在准备中,请稍后再试。" -#: documents/views.py:4641 +#: documents/views.py:4646 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 40fbbf94e..3694ea9b4 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-07-27 19:34+0000\n" -"PO-Revision-Date: 2026-07-27 19:35\n" +"POT-Creation-Date: 2026-07-31 16:14+0000\n" +"PO-Revision-Date: 2026-07-31 16:15\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Language: zh_TW\n" @@ -1339,7 +1339,7 @@ msgid "workflow runs" msgstr "執行工作流程" #: documents/serialisers.py:522 documents/serialisers.py:874 -#: documents/serialisers.py:2763 documents/views.py:299 documents/views.py:2553 +#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558 #: paperless_mail/serialisers.py:155 msgid "Insufficient permissions." msgstr "" @@ -1348,38 +1348,38 @@ msgstr "" msgid "Invalid color." msgstr "無效的顏色。" -#: documents/serialisers.py:2235 +#: documents/serialisers.py:2248 #, python-format msgid "File type %(type)s not supported" msgstr "不支援檔案類型 %(type)s" -#: documents/serialisers.py:2279 +#: documents/serialisers.py:2292 #, python-format msgid "Custom field id must be an integer: %(id)s" msgstr "自定欄位 ID 必須是整數:%(id)s" -#: documents/serialisers.py:2286 +#: documents/serialisers.py:2299 #, python-format msgid "Custom field with id %(id)s does not exist" msgstr "自定欄位 ID %(id)s 不存在" -#: documents/serialisers.py:2303 documents/serialisers.py:2313 +#: documents/serialisers.py:2316 documents/serialisers.py:2326 msgid "Custom fields must be a list of integers or an object mapping ids to values." msgstr "自定欄位必須為整數列表,或是將 ID 對應到數值的物件。" -#: documents/serialisers.py:2308 +#: documents/serialisers.py:2321 msgid "Some custom fields don't exist or were specified twice." msgstr "部分自定欄位不存在或重復指定。" -#: documents/serialisers.py:2455 +#: documents/serialisers.py:2468 msgid "Invalid variable detected." msgstr "偵測到無效的變數。" -#: documents/serialisers.py:2819 +#: documents/serialisers.py:2832 msgid "Duplicate document identifiers are not allowed." msgstr "" -#: documents/serialisers.py:2849 documents/views.py:4512 +#: documents/serialisers.py:2862 documents/views.py:4517 #, python-format msgid "Documents not found: %(ids)s" msgstr "" @@ -1635,36 +1635,36 @@ msgstr "URI 協定「{parts.scheme}」不被允許。允許的協定有:{', '. msgid "Unable to parse URI {value}" msgstr "無法解析 URI {value}" -#: documents/views.py:292 documents/views.py:2550 +#: documents/views.py:292 documents/views.py:2555 msgid "Invalid more_like_id" msgstr "" -#: documents/views.py:1562 +#: documents/views.py:1567 msgid "Invalid AI configuration." msgstr "" -#: documents/views.py:1571 +#: documents/views.py:1576 msgid "AI backend request timed out." msgstr "" -#: documents/views.py:2375 documents/views.py:2696 +#: documents/views.py:2380 documents/views.py:2701 msgid "Specify only one of text, title_search, query, or more_like_id." msgstr "" -#: documents/views.py:4524 +#: documents/views.py:4529 #, python-format msgid "Insufficient permissions to share document %(id)s." msgstr "" -#: documents/views.py:4570 +#: documents/views.py:4575 msgid "Bundle is already being processed." msgstr "" -#: documents/views.py:4631 +#: documents/views.py:4636 msgid "The share link bundle is still being prepared. Please try again later." msgstr "" -#: documents/views.py:4641 +#: documents/views.py:4646 msgid "The share link bundle is unavailable." msgstr "" From 8fb73b2709e4c38180a7632edf32f32fe2315961 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat, 1 Aug 2026 14:38:08 -0700 Subject: [PATCH 54/77] Bump version to 3.0.5 --- 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 b8216ba4c..1122e53ae 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "paperless-ngx" -version = "3.0.4" +version = "3.0.5" description = "A community-supported supercharged document management system: scan, index and archive all your physical documents" readme = "README.md" requires-python = ">=3.11" diff --git a/src-ui/package.json b/src-ui/package.json index 337eed279..46605e795 100644 --- a/src-ui/package.json +++ b/src-ui/package.json @@ -1,6 +1,6 @@ { "name": "paperless-ngx-ui", - "version": "3.0.4", + "version": "3.0.5", "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 1642ac4e7..f4a2ce0ba 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.0.4', + version: '3.0.5', 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 9444373ef..87a435206 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, 0, 4) +__version__: Final[tuple[int, int, int]] = (3, 0, 5) # 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 30db974d4..01309fdb8 100644 --- a/uv.lock +++ b/uv.lock @@ -2880,7 +2880,7 @@ wheels = [ [[package]] name = "paperless-ngx" -version = "3.0.4" +version = "3.0.5" source = { virtual = "." } dependencies = [ { name = "azure-ai-documentintelligence", marker = "sys_platform == 'darwin' or sys_platform == 'linux'" }, From 08ab98f3fc56863825135967f3214394c1be5ac5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 1 Aug 2026 15:02:46 -0700 Subject: [PATCH 55/77] Changelog v3.0.5 - GHA (#13492) Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> --- docs/changelog.md | 60 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index 9c8a0592a..3ff61beea 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,65 @@ # Changelog +## paperless-ngx 3.0.5 + +### Bug Fixes + +- Fix: accept Whoosh-era abbreviated relative-date units (yrs, mos, wks, etc) in search queries [@stumpylog](https://github.com/stumpylog) ([#13486](https://github.com/paperless-ngx/paperless-ngx/pull/13486)) +- Fix: fix edit dialog error change detection [@shamoon](https://github.com/shamoon) ([#13483](https://github.com/paperless-ngx/paperless-ngx/pull/13483)) +- Fix: key the AI suggestion cache by model and endpoint [@lunetics](https://github.com/lunetics) ([#13449](https://github.com/paperless-ngx/paperless-ngx/pull/13449)) +- Fix: validate custom field values in bulk operations [@shamoon](https://github.com/shamoon) ([#13457](https://github.com/paperless-ngx/paperless-ngx/pull/13457)) +- Fixhancement: better handle empty fields from AI suggestions [@shamoon](https://github.com/shamoon) ([#13454](https://github.com/paperless-ngx/paperless-ngx/pull/13454)) +- Fix: normalize monetary decimal symbol by locale [@shamoon](https://github.com/shamoon) ([#13427](https://github.com/paperless-ngx/paperless-ngx/pull/13427)) +- Fix: fold overflowing path text in sanity checker [@stumpylog](https://github.com/stumpylog) ([#13426](https://github.com/paperless-ngx/paperless-ngx/pull/13426)) +- Fix: correct delayed add field button for custom fields [@shamoon](https://github.com/shamoon) ([#13424](https://github.com/paperless-ngx/paperless-ngx/pull/13424)) +- Fix: hide attributes collapse / show button without UI settings [@shamoon](https://github.com/shamoon) ([#13425](https://github.com/paperless-ngx/paperless-ngx/pull/13425)) +- Fix: consolidate born-digital PDF detection between archive decision and OCR [@stumpylog](https://github.com/stumpylog) ([#13409](https://github.com/paperless-ngx/paperless-ngx/pull/13409)) +- Fix: prevent scale vs page loop in pngx PDF viewer [@shamoon](https://github.com/shamoon) ([#13406](https://github.com/paperless-ngx/paperless-ngx/pull/13406)) +- Fix: handle hidden line breaks in email subjects when sending email [@shamoon](https://github.com/shamoon) ([#13402](https://github.com/paperless-ngx/paperless-ngx/pull/13402)) +- Fix: avoid NotSupportedError from document\_importer on MariaDB [@stumpylog](https://github.com/stumpylog) ([#13400](https://github.com/paperless-ngx/paperless-ngx/pull/13400)) +- Fix: exclude next-period start from relative date-range filters [@stumpylog](https://github.com/stumpylog) ([#13381](https://github.com/paperless-ngx/paperless-ngx/pull/13381)) +- Fix: close non-atomic db connections in before\_task\_publish [@shamoon](https://github.com/shamoon) ([#13366](https://github.com/paperless-ngx/paperless-ngx/pull/13366)) +- Chore/fix: refactor frontend task service [@shamoon](https://github.com/shamoon) ([#13365](https://github.com/paperless-ngx/paperless-ngx/pull/13365)) +- Fix: fix Enter selection in search autocomplete [@shamoon](https://github.com/shamoon) ([#13361](https://github.com/paperless-ngx/paperless-ngx/pull/13361)) + +### Documentation + +- Documentation: PAPERLESS\_CONSUMER\_IGNORE\_PATTERNS clarifications [@shamoon](https://github.com/shamoon) ([#13489](https://github.com/paperless-ngx/paperless-ngx/pull/13489)) +- Documentation: Add Password Removal workflow action documentation [@stumpylog](https://github.com/stumpylog) ([#13377](https://github.com/paperless-ngx/paperless-ngx/pull/13377)) + +### Dependencies + +- Chore(deps): Bump pymdown-extensions from 10.21.3 to 11.0 in the uv group across 1 directory @[dependabot[bot]](https://github.com/apps/dependabot) ([#13378](https://github.com/paperless-ngx/paperless-ngx/pull/13378)) + +### All App Changes + +
+21 changes + +- Fix: accept Whoosh-era abbreviated relative-date units (yrs, mos, wks, etc) in search queries [@stumpylog](https://github.com/stumpylog) ([#13486](https://github.com/paperless-ngx/paperless-ngx/pull/13486)) +- Fix: fix edit dialog error change detection [@shamoon](https://github.com/shamoon) ([#13483](https://github.com/paperless-ngx/paperless-ngx/pull/13483)) +- Performance: sqlite-vec point-delete for document chunks [@stumpylog](https://github.com/stumpylog) ([#13438](https://github.com/paperless-ngx/paperless-ngx/pull/13438)) +- Fix: key the AI suggestion cache by model and endpoint [@lunetics](https://github.com/lunetics) ([#13449](https://github.com/paperless-ngx/paperless-ngx/pull/13449)) +- Fix: validate custom field values in bulk operations [@shamoon](https://github.com/shamoon) ([#13457](https://github.com/paperless-ngx/paperless-ngx/pull/13457)) +- Fixhancement: better handle empty fields from AI suggestions [@shamoon](https://github.com/shamoon) ([#13454](https://github.com/paperless-ngx/paperless-ngx/pull/13454)) +- Performance: Use server side iterators during LLM index updating [@stumpylog](https://github.com/stumpylog) ([#13430](https://github.com/paperless-ngx/paperless-ngx/pull/13430)) +- Fix: normalize monetary decimal symbol by locale [@shamoon](https://github.com/shamoon) ([#13427](https://github.com/paperless-ngx/paperless-ngx/pull/13427)) +- Fix: fold overflowing path text in sanity checker [@stumpylog](https://github.com/stumpylog) ([#13426](https://github.com/paperless-ngx/paperless-ngx/pull/13426)) +- Fix: correct delayed add field button for custom fields [@shamoon](https://github.com/shamoon) ([#13424](https://github.com/paperless-ngx/paperless-ngx/pull/13424)) +- Fix: hide attributes collapse / show button without UI settings [@shamoon](https://github.com/shamoon) ([#13425](https://github.com/paperless-ngx/paperless-ngx/pull/13425)) +- Fix: consolidate born-digital PDF detection between archive decision and OCR [@stumpylog](https://github.com/stumpylog) ([#13409](https://github.com/paperless-ngx/paperless-ngx/pull/13409)) +- Fix: prevent scale vs page loop in pngx PDF viewer [@shamoon](https://github.com/shamoon) ([#13406](https://github.com/paperless-ngx/paperless-ngx/pull/13406)) +- Fix: handle hidden line breaks in email subjects when sending email [@shamoon](https://github.com/shamoon) ([#13402](https://github.com/paperless-ngx/paperless-ngx/pull/13402)) +- Fix: avoid NotSupportedError from document\_importer on MariaDB [@stumpylog](https://github.com/stumpylog) ([#13400](https://github.com/paperless-ngx/paperless-ngx/pull/13400)) +- Tweak: adjust doc details button toolbar flow [@shamoon](https://github.com/shamoon) ([#13382](https://github.com/paperless-ngx/paperless-ngx/pull/13382)) +- Fix: exclude next-period start from relative date-range filters [@stumpylog](https://github.com/stumpylog) ([#13381](https://github.com/paperless-ngx/paperless-ngx/pull/13381)) +- Chore(deps): Bump pymdown-extensions from 10.21.3 to 11.0 in the uv group across 1 directory @[dependabot[bot]](https://github.com/apps/dependabot) ([#13378](https://github.com/paperless-ngx/paperless-ngx/pull/13378)) +- Fix: close non-atomic db connections in before\_task\_publish [@shamoon](https://github.com/shamoon) ([#13366](https://github.com/paperless-ngx/paperless-ngx/pull/13366)) +- Chore/fix: refactor frontend task service [@shamoon](https://github.com/shamoon) ([#13365](https://github.com/paperless-ngx/paperless-ngx/pull/13365)) +- Fix: fix Enter selection in search autocomplete [@shamoon](https://github.com/shamoon) ([#13361](https://github.com/paperless-ngx/paperless-ngx/pull/13361)) + +
+ ## paperless-ngx 3.0.4 ### Bug Fixes From 5b8f4db1ca5be46e723289b7671fef92a4af33d9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 1 Aug 2026 15:50:19 -0700 Subject: [PATCH 56/77] Chore(deps-dev): Bump @types/node from 26.1.0 to 26.1.1 in /src-ui (#13479) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 26.1.0 to 26.1.1. - [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.1.1 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 | 326 +++++++++++++++++++++--------------------- 2 files changed, 164 insertions(+), 164 deletions(-) diff --git a/src-ui/package.json b/src-ui/package.json index 46605e795..c5fe77a36 100644 --- a/src-ui/package.json +++ b/src-ui/package.json @@ -54,7 +54,7 @@ "@codecov/webpack-plugin": "^2.0.1", "@playwright/test": "^1.61.1", "@types/jest": "^30.0.0", - "@types/node": "^26.0.0", + "@types/node": "^26.1.1", "@typescript-eslint/eslint-plugin": "^8.62.0", "@typescript-eslint/parser": "^8.62.0", "@typescript-eslint/utils": "^8.62.0", diff --git a/src-ui/pnpm-lock.yaml b/src-ui/pnpm-lock.yaml index 605ac92d5..e1b12c745 100644 --- a/src-ui/pnpm-lock.yaml +++ b/src-ui/pnpm-lock.yaml @@ -89,10 +89,10 @@ importers: devDependencies: '@angular-builders/custom-webpack': specifier: ^22.0.1 - version: 22.0.1(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.0)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.16)(rxjs@7.8.2)(terser@5.48.0)(tslib@2.8.1)(typescript@6.0.3) + version: 22.0.1(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.16)(rxjs@7.8.2)(terser@5.48.0)(tslib@2.8.1)(typescript@6.0.3) '@angular-builders/jest': specifier: ^22.0.1 - version: 22.0.1(6d3d466dba72c0eacaf0a456e8063975) + version: 22.0.1(51715affa3a9ca2163c97a2cc0b875af) '@angular-devkit/core': specifier: ^22.0.5 version: 22.0.5(chokidar@5.0.0) @@ -101,7 +101,7 @@ importers: version: 22.0.5(chokidar@5.0.0) '@angular-eslint/builder': specifier: 22.0.0 - version: 22.0.0(@angular/cli@22.0.5(@types/node@26.1.0)(chokidar@5.0.0))(chokidar@5.0.0)(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + version: 22.0.0(@angular/cli@22.0.5(@types/node@26.1.1)(chokidar@5.0.0))(chokidar@5.0.0)(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) '@angular-eslint/eslint-plugin': specifier: 22.0.0 version: 22.0.0(@typescript-eslint/utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) @@ -110,16 +110,16 @@ importers: version: 22.0.0(@angular-eslint/template-parser@22.0.0(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(@typescript-eslint/types@8.62.1)(@typescript-eslint/utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) '@angular-eslint/schematics': specifier: 22.0.0 - version: 22.0.0(@angular-eslint/template-parser@22.0.0(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(@angular/cli@22.0.5(@types/node@26.1.0)(chokidar@5.0.0))(@typescript-eslint/types@8.62.1)(@typescript-eslint/utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(chokidar@5.0.0)(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + version: 22.0.0(@angular-eslint/template-parser@22.0.0(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(@angular/cli@22.0.5(@types/node@26.1.1)(chokidar@5.0.0))(@typescript-eslint/types@8.62.1)(@typescript-eslint/utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(chokidar@5.0.0)(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) '@angular-eslint/template-parser': specifier: 22.0.0 version: 22.0.0(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) '@angular/build': specifier: ^22.0.5 - version: 22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.0)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.16)(terser@5.48.0)(tslib@2.8.1)(typescript@6.0.3) + version: 22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.16)(terser@5.48.0)(tslib@2.8.1)(typescript@6.0.3) '@angular/cli': specifier: ~22.0.5 - version: 22.0.5(@types/node@26.1.0)(chokidar@5.0.0) + version: 22.0.5(@types/node@26.1.1)(chokidar@5.0.0) '@angular/compiler-cli': specifier: ~22.0.5 version: 22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3) @@ -133,8 +133,8 @@ importers: specifier: ^30.0.0 version: 30.0.0 '@types/node': - specifier: ^26.0.0 - version: 26.1.0 + specifier: ^26.1.1 + version: 26.1.1 '@typescript-eslint/eslint-plugin': specifier: ^8.62.0 version: 8.62.1(@typescript-eslint/parser@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) @@ -149,7 +149,7 @@ importers: version: 10.6.0(jiti@2.7.0) jest: specifier: 30.4.2 - version: 30.4.2(@types/node@26.1.0)(ts-node@10.9.2(@types/node@26.1.0)(typescript@6.0.3)) + version: 30.4.2(@types/node@26.1.1)(ts-node@10.9.2(@types/node@26.1.1)(typescript@6.0.3)) jest-environment-jsdom: specifier: ^30.4.1 version: 30.4.1 @@ -158,7 +158,7 @@ importers: version: 17.0.0 jest-preset-angular: specifier: ^17.0.0 - version: 17.0.0(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@babel/core@7.29.7)(@jest/transform@30.4.1)(@jest/types@30.4.1)(babel-jest@30.4.1(@babel/core@7.29.7))(jest@30.4.2(@types/node@26.1.0)(ts-node@10.9.2(@types/node@26.1.0)(typescript@6.0.3)))(jsdom@26.1.0)(typescript@6.0.3) + version: 17.0.0(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@babel/core@7.29.7)(@jest/transform@30.4.1)(@jest/types@30.4.1)(babel-jest@30.4.1(@babel/core@7.29.7))(jest@30.4.2(@types/node@26.1.1)(ts-node@10.9.2(@types/node@26.1.1)(typescript@6.0.3)))(jsdom@26.1.0)(typescript@6.0.3) jest-websocket-mock: specifier: ^2.5.0 version: 2.5.0 @@ -167,7 +167,7 @@ importers: version: 4.3.0(prettier@3.9.4)(typescript@6.0.3) ts-node: specifier: ~10.9.1 - version: 10.9.2(@types/node@26.1.0)(typescript@6.0.3) + version: 10.9.2(@types/node@26.1.1)(typescript@6.0.3) typescript: specifier: ^6.0.3 version: 6.0.3 @@ -2789,8 +2789,8 @@ packages: '@types/mime@1.3.5': resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - '@types/node@26.1.0': - resolution: {integrity: sha512-O0A1G3xPGy4w7AgQdAQYUlQ+BKk2Oovw8eRpofyp5KdBZULnbe+WqaOVNrm705SHphCiG4XHsACrSmPu1f+Kgw==} + '@types/node@26.1.1': + resolution: {integrity: sha512-nxAkRSVkN1Y0JC1W8ky/fTfkGsMmcrRsbx+3XoZE+rMOX71kLYTV7fLXpqud1GpbpP5TuffXFqfX7fH2GgZREw==} '@types/qs@6.15.1': resolution: {integrity: sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==} @@ -5457,8 +5457,8 @@ packages: react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - react-is@19.2.7: - resolution: {integrity: sha512-kZFnouyVv7eP/Phmrlo9FK+zcAdriZJvzxXHF1Sl1P377WSGe2G/JxVolhTrB/jeV47lKImhNUsijjHAAbcl/A==} + react-is@19.2.8: + resolution: {integrity: sha512-s5un28nYxKJw5gvUHyW5PCC28CvBqLu9r3cWgzHT4Vo/5fqqkFcdRYsGcKf50WMPpjjFZS5d76fn3YCo2njKwQ==} readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} @@ -6585,14 +6585,14 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-builders/custom-webpack@22.0.1(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.0)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.16)(rxjs@7.8.2)(terser@5.48.0)(tslib@2.8.1)(typescript@6.0.3)': + '@angular-builders/custom-webpack@22.0.1(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.16)(rxjs@7.8.2)(terser@5.48.0)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@angular-builders/common': 6.0.1(chokidar@5.0.0) '@angular-devkit/architect': 0.2200.5(chokidar@5.0.0) - '@angular-devkit/build-angular': 22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.0)(chokidar@5.0.0)(jiti@2.7.0)(typescript@6.0.3) + '@angular-devkit/build-angular': 22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(jiti@2.7.0)(typescript@6.0.3) '@angular-devkit/core': 22.0.5(chokidar@5.0.0) '@angular-devkit/schematics': 22.0.5(chokidar@5.0.0) - '@angular/build': 22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.0)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.16)(terser@5.48.0)(tslib@2.8.1)(typescript@6.0.3) + '@angular/build': 22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.16)(terser@5.48.0)(tslib@2.8.1)(typescript@6.0.3) '@angular/compiler-cli': 22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3) '@schematics/angular': 22.0.5(chokidar@5.0.0) lodash: 4.18.1 @@ -6644,19 +6644,19 @@ snapshots: - webpack-cli - yaml - '@angular-builders/jest@22.0.1(6d3d466dba72c0eacaf0a456e8063975)': + '@angular-builders/jest@22.0.1(51715affa3a9ca2163c97a2cc0b875af)': dependencies: '@angular-builders/common': 6.0.1(chokidar@5.0.0) '@angular-devkit/architect': 0.2200.5(chokidar@5.0.0) - '@angular-devkit/build-angular': 22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.0)(chokidar@5.0.0)(jiti@2.7.0)(typescript@6.0.3) + '@angular-devkit/build-angular': 22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(jiti@2.7.0)(typescript@6.0.3) '@angular-devkit/core': 22.0.5(chokidar@5.0.0) '@angular-devkit/schematics': 22.0.5(chokidar@5.0.0) '@angular/compiler-cli': 22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3) '@angular/core': 22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2) '@angular/platform-browser-dynamic': 22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))) '@schematics/angular': 22.0.5(chokidar@5.0.0) - jest: 30.4.2(@types/node@26.1.0)(ts-node@10.9.2(@types/node@26.1.0)(typescript@6.0.3)) - jest-preset-angular: 17.0.0(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@babel/core@7.29.7)(@jest/transform@30.4.1)(@jest/types@30.4.1)(babel-jest@30.4.1(@babel/core@7.29.7))(jest@30.4.2(@types/node@26.1.0)(ts-node@10.9.2(@types/node@26.1.0)(typescript@6.0.3)))(jsdom@26.1.0)(typescript@6.0.3) + jest: 30.4.2(@types/node@26.1.1)(ts-node@10.9.2(@types/node@26.1.1)(typescript@6.0.3)) + jest-preset-angular: 17.0.0(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@babel/core@7.29.7)(@jest/transform@30.4.1)(@jest/types@30.4.1)(babel-jest@30.4.1(@babel/core@7.29.7))(jest@30.4.2(@types/node@26.1.1)(ts-node@10.9.2(@types/node@26.1.1)(typescript@6.0.3)))(jsdom@26.1.0)(typescript@6.0.3) lodash: 4.18.1 rxjs: 7.8.2 transitivePeerDependencies: @@ -6677,13 +6677,13 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.0)(chokidar@5.0.0)(jiti@2.7.0)(typescript@6.0.3)': + '@angular-devkit/build-angular@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(jiti@2.7.0)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.5(chokidar@5.0.0) '@angular-devkit/build-webpack': 0.2200.5(chokidar@5.0.0)(webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.108.3(postcss@8.5.16)))(webpack@5.106.2(esbuild@0.28.1)(postcss@8.5.13)) '@angular-devkit/core': 22.0.5(chokidar@5.0.0) - '@angular/build': 22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.0)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) + '@angular/build': 22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/compiler-cli': 22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3) '@babel/core': 7.29.0 '@babel/generator': 7.29.1 @@ -6799,11 +6799,11 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-eslint/builder@22.0.0(@angular/cli@22.0.5(@types/node@26.1.0)(chokidar@5.0.0))(chokidar@5.0.0)(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)': + '@angular-eslint/builder@22.0.0(@angular/cli@22.0.5(@types/node@26.1.1)(chokidar@5.0.0))(chokidar@5.0.0)(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: '@angular-devkit/architect': 0.2200.5(chokidar@5.0.0) '@angular-devkit/core': 22.0.5(chokidar@5.0.0) - '@angular/cli': 22.0.5(@types/node@26.1.0)(chokidar@5.0.0) + '@angular/cli': 22.0.5(@types/node@26.1.1)(chokidar@5.0.0) eslint: 10.6.0(jiti@2.7.0) typescript: 6.0.3 transitivePeerDependencies: @@ -6832,13 +6832,13 @@ snapshots: ts-api-utils: 2.5.0(typescript@6.0.3) typescript: 6.0.3 - '@angular-eslint/schematics@22.0.0(@angular-eslint/template-parser@22.0.0(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(@angular/cli@22.0.5(@types/node@26.1.0)(chokidar@5.0.0))(@typescript-eslint/types@8.62.1)(@typescript-eslint/utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(chokidar@5.0.0)(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)': + '@angular-eslint/schematics@22.0.0(@angular-eslint/template-parser@22.0.0(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(@angular/cli@22.0.5(@types/node@26.1.1)(chokidar@5.0.0))(@typescript-eslint/types@8.62.1)(@typescript-eslint/utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(chokidar@5.0.0)(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: '@angular-devkit/core': 22.0.5(chokidar@5.0.0) '@angular-devkit/schematics': 22.0.5(chokidar@5.0.0) '@angular-eslint/eslint-plugin': 22.0.0(@typescript-eslint/utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) '@angular-eslint/eslint-plugin-template': 22.0.0(@angular-eslint/template-parser@22.0.0(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(@typescript-eslint/types@8.62.1)(@typescript-eslint/utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) - '@angular/cli': 22.0.5(@types/node@26.1.0)(chokidar@5.0.0) + '@angular/cli': 22.0.5(@types/node@26.1.1)(chokidar@5.0.0) ignore: 7.0.5 semver: 7.8.0 strip-json-comments: 3.1.1 @@ -6864,7 +6864,7 @@ snapshots: eslint: 10.6.0(jiti@2.7.0) typescript: 6.0.3 - '@angular/build@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.0)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.5(chokidar@5.0.0) @@ -6873,8 +6873,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@26.1.0) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.5(@types/node@26.1.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.48.0)) + '@inquirer/confirm': 6.0.12(@types/node@26.1.1) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.5(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.48.0)) beasties: 0.4.2 browserslist: 4.28.4 esbuild: 0.28.1 @@ -6893,7 +6893,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.5(@types/node@26.1.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) + vite: 7.3.5(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) watchpack: 2.5.1 optionalDependencies: '@angular/core': 22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2) @@ -6916,7 +6916,7 @@ snapshots: - tsx - yaml - '@angular/build@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.0)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.16)(terser@5.48.0)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.16)(terser@5.48.0)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.5(chokidar@5.0.0) @@ -6925,8 +6925,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@26.1.0) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.5(@types/node@26.1.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.48.0)) + '@inquirer/confirm': 6.0.12(@types/node@26.1.1) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.5(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.48.0)) beasties: 0.4.2 browserslist: 4.28.4 esbuild: 0.28.1 @@ -6945,7 +6945,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.5(@types/node@26.1.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.48.0) + vite: 7.3.5(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.48.0) watchpack: 2.5.1 optionalDependencies: '@angular/core': 22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2) @@ -6977,13 +6977,13 @@ snapshots: rxjs: 7.8.2 tslib: 2.8.1 - '@angular/cli@22.0.5(@types/node@26.1.0)(chokidar@5.0.0)': + '@angular/cli@22.0.5(@types/node@26.1.1)(chokidar@5.0.0)': dependencies: '@angular-devkit/architect': 0.2200.5(chokidar@5.0.0) '@angular-devkit/core': 22.0.5(chokidar@5.0.0) '@angular-devkit/schematics': 22.0.5(chokidar@5.0.0) - '@inquirer/prompts': 8.4.2(@types/node@26.1.0) - '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@26.1.0))(@types/node@26.1.0)(listr2@10.2.1) + '@inquirer/prompts': 8.4.2(@types/node@26.1.1) + '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@26.1.1))(@types/node@26.1.1)(listr2@10.2.1) '@modelcontextprotocol/sdk': 1.29.0(zod@4.4.2) '@schematics/angular': 22.0.5(chokidar@5.0.0) '@yarnpkg/lockfile': 1.1.0 @@ -8166,129 +8166,129 @@ snapshots: '@inquirer/ansi@2.0.7': {} - '@inquirer/checkbox@5.2.1(@types/node@26.1.0)': + '@inquirer/checkbox@5.2.1(@types/node@26.1.1)': dependencies: '@inquirer/ansi': 2.0.7 - '@inquirer/core': 11.2.1(@types/node@26.1.0) + '@inquirer/core': 11.2.1(@types/node@26.1.1) '@inquirer/figures': 2.0.7 - '@inquirer/type': 4.0.7(@types/node@26.1.0) + '@inquirer/type': 4.0.7(@types/node@26.1.1) optionalDependencies: - '@types/node': 26.1.0 + '@types/node': 26.1.1 - '@inquirer/confirm@6.0.12(@types/node@26.1.0)': + '@inquirer/confirm@6.0.12(@types/node@26.1.1)': dependencies: - '@inquirer/core': 11.2.1(@types/node@26.1.0) - '@inquirer/type': 4.0.7(@types/node@26.1.0) + '@inquirer/core': 11.2.1(@types/node@26.1.1) + '@inquirer/type': 4.0.7(@types/node@26.1.1) optionalDependencies: - '@types/node': 26.1.0 + '@types/node': 26.1.1 - '@inquirer/confirm@6.1.1(@types/node@26.1.0)': + '@inquirer/confirm@6.1.1(@types/node@26.1.1)': dependencies: - '@inquirer/core': 11.2.1(@types/node@26.1.0) - '@inquirer/type': 4.0.7(@types/node@26.1.0) + '@inquirer/core': 11.2.1(@types/node@26.1.1) + '@inquirer/type': 4.0.7(@types/node@26.1.1) optionalDependencies: - '@types/node': 26.1.0 + '@types/node': 26.1.1 - '@inquirer/core@11.2.1(@types/node@26.1.0)': + '@inquirer/core@11.2.1(@types/node@26.1.1)': dependencies: '@inquirer/ansi': 2.0.7 '@inquirer/figures': 2.0.7 - '@inquirer/type': 4.0.7(@types/node@26.1.0) + '@inquirer/type': 4.0.7(@types/node@26.1.1) 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.1.0 + '@types/node': 26.1.1 - '@inquirer/editor@5.2.2(@types/node@26.1.0)': + '@inquirer/editor@5.2.2(@types/node@26.1.1)': dependencies: - '@inquirer/core': 11.2.1(@types/node@26.1.0) - '@inquirer/external-editor': 3.0.3(@types/node@26.1.0) - '@inquirer/type': 4.0.7(@types/node@26.1.0) + '@inquirer/core': 11.2.1(@types/node@26.1.1) + '@inquirer/external-editor': 3.0.3(@types/node@26.1.1) + '@inquirer/type': 4.0.7(@types/node@26.1.1) optionalDependencies: - '@types/node': 26.1.0 + '@types/node': 26.1.1 - '@inquirer/expand@5.1.1(@types/node@26.1.0)': + '@inquirer/expand@5.1.1(@types/node@26.1.1)': dependencies: - '@inquirer/core': 11.2.1(@types/node@26.1.0) - '@inquirer/type': 4.0.7(@types/node@26.1.0) + '@inquirer/core': 11.2.1(@types/node@26.1.1) + '@inquirer/type': 4.0.7(@types/node@26.1.1) optionalDependencies: - '@types/node': 26.1.0 + '@types/node': 26.1.1 - '@inquirer/external-editor@3.0.3(@types/node@26.1.0)': + '@inquirer/external-editor@3.0.3(@types/node@26.1.1)': dependencies: chardet: 2.2.0 iconv-lite: 0.7.3 optionalDependencies: - '@types/node': 26.1.0 + '@types/node': 26.1.1 '@inquirer/figures@2.0.7': {} - '@inquirer/input@5.1.2(@types/node@26.1.0)': + '@inquirer/input@5.1.2(@types/node@26.1.1)': dependencies: - '@inquirer/core': 11.2.1(@types/node@26.1.0) - '@inquirer/type': 4.0.7(@types/node@26.1.0) + '@inquirer/core': 11.2.1(@types/node@26.1.1) + '@inquirer/type': 4.0.7(@types/node@26.1.1) optionalDependencies: - '@types/node': 26.1.0 + '@types/node': 26.1.1 - '@inquirer/number@4.1.1(@types/node@26.1.0)': + '@inquirer/number@4.1.1(@types/node@26.1.1)': dependencies: - '@inquirer/core': 11.2.1(@types/node@26.1.0) - '@inquirer/type': 4.0.7(@types/node@26.1.0) + '@inquirer/core': 11.2.1(@types/node@26.1.1) + '@inquirer/type': 4.0.7(@types/node@26.1.1) optionalDependencies: - '@types/node': 26.1.0 + '@types/node': 26.1.1 - '@inquirer/password@5.1.1(@types/node@26.1.0)': + '@inquirer/password@5.1.1(@types/node@26.1.1)': dependencies: '@inquirer/ansi': 2.0.7 - '@inquirer/core': 11.2.1(@types/node@26.1.0) - '@inquirer/type': 4.0.7(@types/node@26.1.0) + '@inquirer/core': 11.2.1(@types/node@26.1.1) + '@inquirer/type': 4.0.7(@types/node@26.1.1) optionalDependencies: - '@types/node': 26.1.0 + '@types/node': 26.1.1 - '@inquirer/prompts@8.4.2(@types/node@26.1.0)': + '@inquirer/prompts@8.4.2(@types/node@26.1.1)': dependencies: - '@inquirer/checkbox': 5.2.1(@types/node@26.1.0) - '@inquirer/confirm': 6.1.1(@types/node@26.1.0) - '@inquirer/editor': 5.2.2(@types/node@26.1.0) - '@inquirer/expand': 5.1.1(@types/node@26.1.0) - '@inquirer/input': 5.1.2(@types/node@26.1.0) - '@inquirer/number': 4.1.1(@types/node@26.1.0) - '@inquirer/password': 5.1.1(@types/node@26.1.0) - '@inquirer/rawlist': 5.3.1(@types/node@26.1.0) - '@inquirer/search': 4.2.1(@types/node@26.1.0) - '@inquirer/select': 5.2.1(@types/node@26.1.0) + '@inquirer/checkbox': 5.2.1(@types/node@26.1.1) + '@inquirer/confirm': 6.1.1(@types/node@26.1.1) + '@inquirer/editor': 5.2.2(@types/node@26.1.1) + '@inquirer/expand': 5.1.1(@types/node@26.1.1) + '@inquirer/input': 5.1.2(@types/node@26.1.1) + '@inquirer/number': 4.1.1(@types/node@26.1.1) + '@inquirer/password': 5.1.1(@types/node@26.1.1) + '@inquirer/rawlist': 5.3.1(@types/node@26.1.1) + '@inquirer/search': 4.2.1(@types/node@26.1.1) + '@inquirer/select': 5.2.1(@types/node@26.1.1) optionalDependencies: - '@types/node': 26.1.0 + '@types/node': 26.1.1 - '@inquirer/rawlist@5.3.1(@types/node@26.1.0)': + '@inquirer/rawlist@5.3.1(@types/node@26.1.1)': dependencies: - '@inquirer/core': 11.2.1(@types/node@26.1.0) - '@inquirer/type': 4.0.7(@types/node@26.1.0) + '@inquirer/core': 11.2.1(@types/node@26.1.1) + '@inquirer/type': 4.0.7(@types/node@26.1.1) optionalDependencies: - '@types/node': 26.1.0 + '@types/node': 26.1.1 - '@inquirer/search@4.2.1(@types/node@26.1.0)': + '@inquirer/search@4.2.1(@types/node@26.1.1)': dependencies: - '@inquirer/core': 11.2.1(@types/node@26.1.0) + '@inquirer/core': 11.2.1(@types/node@26.1.1) '@inquirer/figures': 2.0.7 - '@inquirer/type': 4.0.7(@types/node@26.1.0) + '@inquirer/type': 4.0.7(@types/node@26.1.1) optionalDependencies: - '@types/node': 26.1.0 + '@types/node': 26.1.1 - '@inquirer/select@5.2.1(@types/node@26.1.0)': + '@inquirer/select@5.2.1(@types/node@26.1.1)': dependencies: '@inquirer/ansi': 2.0.7 - '@inquirer/core': 11.2.1(@types/node@26.1.0) + '@inquirer/core': 11.2.1(@types/node@26.1.1) '@inquirer/figures': 2.0.7 - '@inquirer/type': 4.0.7(@types/node@26.1.0) + '@inquirer/type': 4.0.7(@types/node@26.1.1) optionalDependencies: - '@types/node': 26.1.0 + '@types/node': 26.1.1 - '@inquirer/type@4.0.7(@types/node@26.1.0)': + '@inquirer/type@4.0.7(@types/node@26.1.1)': optionalDependencies: - '@types/node': 26.1.0 + '@types/node': 26.1.1 '@isaacs/cliui@8.0.2': dependencies: @@ -8316,13 +8316,13 @@ snapshots: '@jest/console@30.4.1': dependencies: '@jest/types': 30.4.1 - '@types/node': 26.1.0 + '@types/node': 26.1.1 chalk: 4.1.2 jest-message-util: 30.4.1 jest-util: 30.4.1 slash: 3.0.0 - '@jest/core@30.4.2(ts-node@10.9.2(@types/node@26.1.0)(typescript@6.0.3))': + '@jest/core@30.4.2(ts-node@10.9.2(@types/node@26.1.1)(typescript@6.0.3))': dependencies: '@jest/console': 30.4.1 '@jest/pattern': 30.4.0 @@ -8330,7 +8330,7 @@ snapshots: '@jest/test-result': 30.4.1 '@jest/transform': 30.4.1 '@jest/types': 30.4.1 - '@types/node': 26.1.0 + '@types/node': 26.1.1 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 4.4.0 @@ -8338,7 +8338,7 @@ snapshots: fast-json-stable-stringify: 2.1.0 graceful-fs: 4.2.11 jest-changed-files: 30.4.1 - jest-config: 30.4.2(@types/node@26.1.0)(ts-node@10.9.2(@types/node@26.1.0)(typescript@6.0.3)) + jest-config: 30.4.2(@types/node@26.1.1)(ts-node@10.9.2(@types/node@26.1.1)(typescript@6.0.3)) jest-haste-map: 30.4.1 jest-message-util: 30.4.1 jest-regex-util: 30.4.0 @@ -8366,7 +8366,7 @@ snapshots: '@jest/fake-timers': 30.4.1 '@jest/types': 30.4.1 '@types/jsdom': 21.1.7 - '@types/node': 26.1.0 + '@types/node': 26.1.1 jest-mock: 30.4.1 jest-util: 30.4.1 jsdom: 26.1.0 @@ -8375,7 +8375,7 @@ snapshots: dependencies: '@jest/fake-timers': 30.4.1 '@jest/types': 30.4.1 - '@types/node': 26.1.0 + '@types/node': 26.1.1 jest-mock: 30.4.1 '@jest/expect-utils@30.4.1': @@ -8393,7 +8393,7 @@ snapshots: dependencies: '@jest/types': 30.4.1 '@sinonjs/fake-timers': 15.4.0 - '@types/node': 26.1.0 + '@types/node': 26.1.1 jest-message-util: 30.4.1 jest-mock: 30.4.1 jest-util: 30.4.1 @@ -8411,7 +8411,7 @@ snapshots: '@jest/pattern@30.4.0': dependencies: - '@types/node': 26.1.0 + '@types/node': 26.1.1 jest-regex-util: 30.4.0 '@jest/reporters@30.4.1': @@ -8422,7 +8422,7 @@ snapshots: '@jest/transform': 30.4.1 '@jest/types': 30.4.1 '@jridgewell/trace-mapping': 0.3.31 - '@types/node': 26.1.0 + '@types/node': 26.1.1 chalk: 4.1.2 collect-v8-coverage: 1.0.3 exit-x: 0.2.2 @@ -8502,7 +8502,7 @@ snapshots: '@jest/schemas': 30.4.1 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 26.1.0 + '@types/node': 26.1.1 '@types/yargs': 17.0.35 chalk: 4.1.2 @@ -8664,10 +8664,10 @@ snapshots: '@leichtgewicht/ip-codec@2.0.5': {} - '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@26.1.0))(@types/node@26.1.0)(listr2@10.2.1)': + '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@26.1.1))(@types/node@26.1.1)(listr2@10.2.1)': dependencies: - '@inquirer/prompts': 8.4.2(@types/node@26.1.0) - '@inquirer/type': 4.0.7(@types/node@26.1.0) + '@inquirer/prompts': 8.4.2(@types/node@26.1.1) + '@inquirer/type': 4.0.7(@types/node@26.1.1) listr2: 10.2.1 transitivePeerDependencies: - '@types/node' @@ -9342,20 +9342,20 @@ snapshots: '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 26.1.0 + '@types/node': 26.1.1 '@types/bonjour@3.5.13': dependencies: - '@types/node': 26.1.0 + '@types/node': 26.1.1 '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 4.19.8 - '@types/node': 26.1.0 + '@types/node': 26.1.1 '@types/connect@3.4.38': dependencies: - '@types/node': 26.1.0 + '@types/node': 26.1.1 '@types/eslint-scope@3.7.7': dependencies: @@ -9375,7 +9375,7 @@ snapshots: '@types/express-serve-static-core@4.19.8': dependencies: - '@types/node': 26.1.0 + '@types/node': 26.1.1 '@types/qs': 6.15.1 '@types/range-parser': 1.2.7 '@types/send': 1.2.1 @@ -9391,7 +9391,7 @@ snapshots: '@types/http-proxy@1.17.17': dependencies: - '@types/node': 26.1.0 + '@types/node': 26.1.1 '@types/istanbul-lib-coverage@2.0.6': {} @@ -9410,7 +9410,7 @@ snapshots: '@types/jsdom@21.1.7': dependencies: - '@types/node': 26.1.0 + '@types/node': 26.1.1 '@types/tough-cookie': 4.0.5 parse5: 7.3.0 @@ -9418,7 +9418,7 @@ snapshots: '@types/mime@1.3.5': {} - '@types/node@26.1.0': + '@types/node@26.1.1': dependencies: undici-types: 8.3.0 @@ -9431,11 +9431,11 @@ snapshots: '@types/send@0.17.6': dependencies: '@types/mime': 1.3.5 - '@types/node': 26.1.0 + '@types/node': 26.1.1 '@types/send@1.2.1': dependencies: - '@types/node': 26.1.0 + '@types/node': 26.1.1 '@types/serve-index@1.9.4': dependencies: @@ -9444,12 +9444,12 @@ snapshots: '@types/serve-static@1.15.10': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 26.1.0 + '@types/node': 26.1.1 '@types/send': 0.17.6 '@types/sockjs@0.3.36': dependencies: - '@types/node': 26.1.0 + '@types/node': 26.1.1 '@types/stack-utils@2.0.3': {} @@ -9457,7 +9457,7 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 26.1.0 + '@types/node': 26.1.1 '@types/yargs-parser@21.0.3': {} @@ -9628,9 +9628,9 @@ snapshots: '@unrs/resolver-binding-win32-x64-msvc@1.12.2': optional: true - '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.5(@types/node@26.1.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.48.0))': + '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.5(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.48.0))': dependencies: - vite: 7.3.5(@types/node@26.1.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.48.0) + vite: 7.3.5(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.48.0) '@webassemblyjs/ast@1.14.1': dependencies: @@ -11151,7 +11151,7 @@ snapshots: '@jest/expect': 30.4.1 '@jest/test-result': 30.4.1 '@jest/types': 30.4.1 - '@types/node': 26.1.0 + '@types/node': 26.1.1 chalk: 4.1.2 co: 4.6.0 dedent: 1.7.2 @@ -11171,15 +11171,15 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@30.4.2(@types/node@26.1.0)(ts-node@10.9.2(@types/node@26.1.0)(typescript@6.0.3)): + jest-cli@30.4.2(@types/node@26.1.1)(ts-node@10.9.2(@types/node@26.1.1)(typescript@6.0.3)): dependencies: - '@jest/core': 30.4.2(ts-node@10.9.2(@types/node@26.1.0)(typescript@6.0.3)) + '@jest/core': 30.4.2(ts-node@10.9.2(@types/node@26.1.1)(typescript@6.0.3)) '@jest/test-result': 30.4.1 '@jest/types': 30.4.1 chalk: 4.1.2 exit-x: 0.2.2 import-local: 3.2.0 - jest-config: 30.4.2(@types/node@26.1.0)(ts-node@10.9.2(@types/node@26.1.0)(typescript@6.0.3)) + jest-config: 30.4.2(@types/node@26.1.1)(ts-node@10.9.2(@types/node@26.1.1)(typescript@6.0.3)) jest-util: 30.4.1 jest-validate: 30.4.1 yargs: 17.7.3 @@ -11190,7 +11190,7 @@ snapshots: - supports-color - ts-node - jest-config@30.4.2(@types/node@26.1.0)(ts-node@10.9.2(@types/node@26.1.0)(typescript@6.0.3)): + jest-config@30.4.2(@types/node@26.1.1)(ts-node@10.9.2(@types/node@26.1.1)(typescript@6.0.3)): dependencies: '@babel/core': 7.29.7 '@jest/get-type': 30.1.0 @@ -11216,8 +11216,8 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 26.1.0 - ts-node: 10.9.2(@types/node@26.1.0)(typescript@6.0.3) + '@types/node': 26.1.1 + ts-node: 10.9.2(@types/node@26.1.1)(typescript@6.0.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -11263,7 +11263,7 @@ snapshots: '@jest/environment': 30.4.1 '@jest/fake-timers': 30.4.1 '@jest/types': 30.4.1 - '@types/node': 26.1.0 + '@types/node': 26.1.1 jest-mock: 30.4.1 jest-util: 30.4.1 jest-validate: 30.4.1 @@ -11273,7 +11273,7 @@ snapshots: jest-haste-map@30.4.1: dependencies: '@jest/types': 30.4.1 - '@types/node': 26.1.0 + '@types/node': 26.1.1 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -11320,14 +11320,14 @@ snapshots: jest-mock@30.4.1: dependencies: '@jest/types': 30.4.1 - '@types/node': 26.1.0 + '@types/node': 26.1.1 jest-util: 30.4.1 jest-pnp-resolver@1.2.3(jest-resolve@30.4.1): optionalDependencies: jest-resolve: 30.4.1 - jest-preset-angular@17.0.0(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@babel/core@7.29.7)(@jest/transform@30.4.1)(@jest/types@30.4.1)(babel-jest@30.4.1(@babel/core@7.29.7))(jest@30.4.2(@types/node@26.1.0)(ts-node@10.9.2(@types/node@26.1.0)(typescript@6.0.3)))(jsdom@26.1.0)(typescript@6.0.3): + jest-preset-angular@17.0.0(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@babel/core@7.29.7)(@jest/transform@30.4.1)(@jest/types@30.4.1)(babel-jest@30.4.1(@babel/core@7.29.7))(jest@30.4.2(@types/node@26.1.1)(ts-node@10.9.2(@types/node@26.1.1)(typescript@6.0.3)))(jsdom@26.1.0)(typescript@6.0.3): dependencies: '@angular/compiler-cli': 22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3) '@angular/core': 22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2) @@ -11335,11 +11335,11 @@ snapshots: '@jest/environment-jsdom-abstract': 30.4.1(jsdom@26.1.0) bs-logger: 0.2.6 esbuild-wasm: 0.28.1 - jest: 30.4.2(@types/node@26.1.0)(ts-node@10.9.2(@types/node@26.1.0)(typescript@6.0.3)) + jest: 30.4.2(@types/node@26.1.1)(ts-node@10.9.2(@types/node@26.1.1)(typescript@6.0.3)) jest-util: 30.4.1 jsdom: 26.1.0 pretty-format: 30.4.1 - ts-jest: 29.4.11(@babel/core@7.29.7)(@jest/transform@30.4.1)(@jest/types@30.4.1)(babel-jest@30.4.1(@babel/core@7.29.7))(esbuild@0.28.1)(jest-util@30.4.1)(jest@30.4.2(@types/node@26.1.0)(ts-node@10.9.2(@types/node@26.1.0)(typescript@6.0.3)))(typescript@6.0.3) + ts-jest: 29.4.11(@babel/core@7.29.7)(@jest/transform@30.4.1)(@jest/types@30.4.1)(babel-jest@30.4.1(@babel/core@7.29.7))(esbuild@0.28.1)(jest-util@30.4.1)(jest@30.4.2(@types/node@26.1.1)(ts-node@10.9.2(@types/node@26.1.1)(typescript@6.0.3)))(typescript@6.0.3) typescript: 6.0.3 optionalDependencies: esbuild: 0.28.1 @@ -11377,7 +11377,7 @@ snapshots: '@jest/test-result': 30.4.1 '@jest/transform': 30.4.1 '@jest/types': 30.4.1 - '@types/node': 26.1.0 + '@types/node': 26.1.1 chalk: 4.1.2 emittery: 0.13.1 exit-x: 0.2.2 @@ -11406,7 +11406,7 @@ snapshots: '@jest/test-result': 30.4.1 '@jest/transform': 30.4.1 '@jest/types': 30.4.1 - '@types/node': 26.1.0 + '@types/node': 26.1.1 chalk: 4.1.2 cjs-module-lexer: 2.2.0 collect-v8-coverage: 1.0.3 @@ -11453,7 +11453,7 @@ snapshots: jest-util@30.4.1: dependencies: '@jest/types': 30.4.1 - '@types/node': 26.1.0 + '@types/node': 26.1.1 chalk: 4.1.2 ci-info: 4.4.0 graceful-fs: 4.2.11 @@ -11472,7 +11472,7 @@ snapshots: dependencies: '@jest/test-result': 30.4.1 '@jest/types': 30.4.1 - '@types/node': 26.1.0 + '@types/node': 26.1.1 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -11486,24 +11486,24 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 26.1.0 + '@types/node': 26.1.1 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@30.4.1: dependencies: - '@types/node': 26.1.0 + '@types/node': 26.1.1 '@ungap/structured-clone': 1.3.2 jest-util: 30.4.1 merge-stream: 2.0.0 supports-color: 8.1.1 - jest@30.4.2(@types/node@26.1.0)(ts-node@10.9.2(@types/node@26.1.0)(typescript@6.0.3)): + jest@30.4.2(@types/node@26.1.1)(ts-node@10.9.2(@types/node@26.1.1)(typescript@6.0.3)): dependencies: - '@jest/core': 30.4.2(ts-node@10.9.2(@types/node@26.1.0)(typescript@6.0.3)) + '@jest/core': 30.4.2(ts-node@10.9.2(@types/node@26.1.1)(typescript@6.0.3)) '@jest/types': 30.4.1 import-local: 3.2.0 - jest-cli: 30.4.2(@types/node@26.1.0)(ts-node@10.9.2(@types/node@26.1.0)(typescript@6.0.3)) + jest-cli: 30.4.2(@types/node@26.1.1)(ts-node@10.9.2(@types/node@26.1.1)(typescript@6.0.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -12342,7 +12342,7 @@ snapshots: '@jest/schemas': 30.4.1 ansi-styles: 5.2.0 react-is-18: react-is@18.3.1 - react-is-19: react-is@19.2.7 + react-is-19: react-is@19.2.8 proc-log@6.1.0: {} @@ -12391,7 +12391,7 @@ snapshots: react-is@18.3.1: {} - react-is@19.2.7: {} + react-is@19.2.8: {} readable-stream@2.3.8: dependencies: @@ -12961,12 +12961,12 @@ snapshots: dependencies: typescript: 6.0.3 - ts-jest@29.4.11(@babel/core@7.29.7)(@jest/transform@30.4.1)(@jest/types@30.4.1)(babel-jest@30.4.1(@babel/core@7.29.7))(esbuild@0.28.1)(jest-util@30.4.1)(jest@30.4.2(@types/node@26.1.0)(ts-node@10.9.2(@types/node@26.1.0)(typescript@6.0.3)))(typescript@6.0.3): + ts-jest@29.4.11(@babel/core@7.29.7)(@jest/transform@30.4.1)(@jest/types@30.4.1)(babel-jest@30.4.1(@babel/core@7.29.7))(esbuild@0.28.1)(jest-util@30.4.1)(jest@30.4.2(@types/node@26.1.1)(ts-node@10.9.2(@types/node@26.1.1)(typescript@6.0.3)))(typescript@6.0.3): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 handlebars: 4.7.9 - jest: 30.4.2(@types/node@26.1.0)(ts-node@10.9.2(@types/node@26.1.0)(typescript@6.0.3)) + jest: 30.4.2(@types/node@26.1.1)(ts-node@10.9.2(@types/node@26.1.1)(typescript@6.0.3)) json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 @@ -12982,14 +12982,14 @@ snapshots: esbuild: 0.28.1 jest-util: 30.4.1 - ts-node@10.9.2(@types/node@26.1.0)(typescript@6.0.3): + ts-node@10.9.2(@types/node@26.1.1)(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.1.0 + '@types/node': 26.1.1 acorn: 8.17.0 acorn-walk: 8.3.5 arg: 4.1.3 @@ -13131,7 +13131,7 @@ snapshots: vary@1.1.2: {} - vite@7.3.5(@types/node@26.1.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): + vite@7.3.5(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) @@ -13140,14 +13140,14 @@ snapshots: rollup: 4.60.2 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 26.1.0 + '@types/node': 26.1.1 fsevents: 2.3.3 jiti: 2.7.0 less: 4.6.4 sass: 1.99.0 terser: 5.46.2 - vite@7.3.5(@types/node@26.1.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.48.0): + vite@7.3.5(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.48.0): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) @@ -13156,7 +13156,7 @@ snapshots: rollup: 4.60.2 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 26.1.0 + '@types/node': 26.1.1 fsevents: 2.3.3 jiti: 2.7.0 less: 4.6.4 From 7fda0e877bacb11318c4e7fbe7dc81486b3b2782 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 1 Aug 2026 23:02:54 +0000 Subject: [PATCH 57/77] Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 4 updates (#13477) Bumps the frontend-eslint-dependencies group with 4 updates in the /src-ui directory: [@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.62.1 to 8.65.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.65.0/packages/eslint-plugin) Updates `@typescript-eslint/parser` from 8.62.1 to 8.65.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.65.0/packages/parser) Updates `@typescript-eslint/utils` from 8.62.1 to 8.65.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.65.0/packages/utils) Updates `eslint` from 10.6.0 to 10.8.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/compare/v10.6.0...v10.8.0) --- updated-dependencies: - dependency-name: "@typescript-eslint/eslint-plugin" dependency-version: 8.65.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: frontend-eslint-dependencies - dependency-name: "@typescript-eslint/parser" dependency-version: 8.65.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: frontend-eslint-dependencies - dependency-name: "@typescript-eslint/utils" dependency-version: 8.65.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: frontend-eslint-dependencies - dependency-name: eslint dependency-version: 10.8.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 | 252 +++++++++++++++++++++--------------------- 2 files changed, 133 insertions(+), 127 deletions(-) diff --git a/src-ui/package.json b/src-ui/package.json index c5fe77a36..d1eb061e5 100644 --- a/src-ui/package.json +++ b/src-ui/package.json @@ -55,10 +55,10 @@ "@playwright/test": "^1.61.1", "@types/jest": "^30.0.0", "@types/node": "^26.1.1", - "@typescript-eslint/eslint-plugin": "^8.62.0", - "@typescript-eslint/parser": "^8.62.0", - "@typescript-eslint/utils": "^8.62.0", - "eslint": "^10.5.0", + "@typescript-eslint/eslint-plugin": "^8.65.0", + "@typescript-eslint/parser": "^8.65.0", + "@typescript-eslint/utils": "^8.65.0", + "eslint": "^10.8.0", "jest": "30.4.2", "jest-environment-jsdom": "^30.4.1", "jest-junit": "^17.0.0", diff --git a/src-ui/pnpm-lock.yaml b/src-ui/pnpm-lock.yaml index e1b12c745..2c7fa3d48 100644 --- a/src-ui/pnpm-lock.yaml +++ b/src-ui/pnpm-lock.yaml @@ -101,19 +101,19 @@ importers: version: 22.0.5(chokidar@5.0.0) '@angular-eslint/builder': specifier: 22.0.0 - version: 22.0.0(@angular/cli@22.0.5(@types/node@26.1.1)(chokidar@5.0.0))(chokidar@5.0.0)(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + version: 22.0.0(@angular/cli@22.0.5(@types/node@26.1.1)(chokidar@5.0.0))(chokidar@5.0.0)(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) '@angular-eslint/eslint-plugin': specifier: 22.0.0 - version: 22.0.0(@typescript-eslint/utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + version: 22.0.0(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) '@angular-eslint/eslint-plugin-template': specifier: 22.0.0 - version: 22.0.0(@angular-eslint/template-parser@22.0.0(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(@typescript-eslint/types@8.62.1)(@typescript-eslint/utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + version: 22.0.0(@angular-eslint/template-parser@22.0.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(@typescript-eslint/types@8.65.0)(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) '@angular-eslint/schematics': specifier: 22.0.0 - version: 22.0.0(@angular-eslint/template-parser@22.0.0(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(@angular/cli@22.0.5(@types/node@26.1.1)(chokidar@5.0.0))(@typescript-eslint/types@8.62.1)(@typescript-eslint/utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(chokidar@5.0.0)(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + version: 22.0.0(@angular-eslint/template-parser@22.0.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(@angular/cli@22.0.5(@types/node@26.1.1)(chokidar@5.0.0))(@typescript-eslint/types@8.65.0)(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(chokidar@5.0.0)(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) '@angular-eslint/template-parser': specifier: 22.0.0 - version: 22.0.0(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + version: 22.0.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) '@angular/build': specifier: ^22.0.5 version: 22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.16)(terser@5.48.0)(tslib@2.8.1)(typescript@6.0.3) @@ -136,17 +136,17 @@ importers: specifier: ^26.1.1 version: 26.1.1 '@typescript-eslint/eslint-plugin': - specifier: ^8.62.0 - version: 8.62.1(@typescript-eslint/parser@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + specifier: ^8.65.0 + version: 8.65.0(@typescript-eslint/parser@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) '@typescript-eslint/parser': - specifier: ^8.62.0 - version: 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + specifier: ^8.65.0 + version: 8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) '@typescript-eslint/utils': - specifier: ^8.62.0 - version: 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + specifier: ^8.65.0 + version: 8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) eslint: - specifier: ^10.5.0 - version: 10.6.0(jiti@2.7.0) + specifier: ^10.8.0 + version: 10.8.0(jiti@2.7.0) jest: specifier: 30.4.2 version: 30.4.2(@types/node@26.1.1)(ts-node@10.9.2(@types/node@26.1.1)(typescript@6.0.3)) @@ -1514,8 +1514,8 @@ packages: cpu: [x64] os: [win32] - '@eslint-community/eslint-utils@4.9.1': - resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} + '@eslint-community/eslint-utils@4.10.1': + resolution: {integrity: sha512-cuadcxVFE8sDK6iWJbs8Sn0av2Nrh2QSGQhVlBW9AaAHqHwjWsZHT8LJ4hFGPh7ASBV2deFdM7H/DPjulmh8rg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 @@ -1528,8 +1528,8 @@ packages: resolution: {integrity: sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/config-helpers@0.6.0': - resolution: {integrity: sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==} + '@eslint/config-helpers@0.7.0': + resolution: {integrity: sha512-DObd/KKUsU+FaFv4PLxSRenpXfQWmPXXP3pPZ6/K1PCrMu2vQpMDMuQe/BqYeoLcz8ro0bVDF1RxOJgfVEdhUw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} '@eslint/core@1.2.1': @@ -2831,63 +2831,63 @@ packages: '@types/yargs@17.0.35': resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} - '@typescript-eslint/eslint-plugin@8.62.1': - resolution: {integrity: sha512-4EQM77WgVNxj7OkL/5b/D/xZsw00G577+UriYTC7JF5opcF3T2AuoeY7ueLaZgSVjSgCS6yOAJB5bRGLPSJUzA==} + '@typescript-eslint/eslint-plugin@8.65.0': + resolution: {integrity: sha512-IEgob78X12rHpUmtcwFsXhZdVGJtwTVP8FiCLZkR6GlYVrl2PcuB+KhCE5BlVC/eQpQnu8WXRtkHZuPar+gCRA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.62.1 + '@typescript-eslint/parser': ^8.65.0 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/parser@8.62.1': - resolution: {integrity: sha512-sPhE4iHuJDSvoAiec+Ro8JyXw8f0ql13HFR82P99nCm9GwTEKG0KYLvDe6REk8BCXuit6vJAv/Yxg5ABaNS2rA==} + '@typescript-eslint/parser@8.65.0': + resolution: {integrity: sha512-CZ4nMxWwgu1HEEFNkeaCptra9QCtkmKdgf3sWh1rl1trIhmxLilgTV4cwcbQ4wemnT4sWQN8CaKOmdYx+g2gMA==} 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.62.1': - resolution: {integrity: sha512-yQ3RgY5RkSBpsNS1Bx/JQEcA24FOSdfGktoyprAr5u18390UQdtVcfnEv4nIrIshNnavlVyZBKxQwT1fIAE6cg==} + '@typescript-eslint/project-service@8.65.0': + resolution: {integrity: sha512-SxnPhbTsGahizDgbu7oqFH/xVtzIqMd/s+WtnSxNxJZJpLbdT5IPdzg8EZxO3+PoKahXmwJLeNQOpKJb3/bi7Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/scope-manager@8.62.1': - resolution: {integrity: sha512-r4d249KbQ1SFdpeStvob8Ih6aPPIzfqllPVOtvhve6ZcpuVcYo5/7zUWckKpHE7StASX4kTKZTLf0WQm/wPkcg==} + '@typescript-eslint/scope-manager@8.65.0': + resolution: {integrity: sha512-Esbl8OSYiVxBokYgWPf7VVWg/BE798wXhimnn9ML9Pt5qoDf8bfQlgjlKXR/k98+AcNzlLKYrpCcrcuZ9DZLgg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.62.1': - resolution: {integrity: sha512-xadytJqX9vJVQ2fdQjkcIVigwaOJNWkpjdLt6cEQ+xPnrI1fkp+/jZE/I97k9KUjqtpd25i0HeyZf3T6dutv2g==} + '@typescript-eslint/tsconfig-utils@8.65.0': + resolution: {integrity: sha512-j6GzGqCiRdA7Qhur2VVmKZAkBLfnHFQfx4TaJGL9RMveZqCo48jSHHO0DTgizEnGhtWnqmbtCUSrqSkdiY/0Hg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/type-utils@8.62.1': - resolution: {integrity: sha512-aXM5xlqXiTxPibXB93cLAURfT3rlizf7uMXISCXy66Isr/9hISJx3yDsKl0L7lKa51b8JpFuNKby0/O0pEm9jg==} + '@typescript-eslint/type-utils@8.65.0': + resolution: {integrity: sha512-YjaZ7PRI5qY7ax2L3PbvX0rRyGtipAReCWs0mhhDBHjH/vl0g0BonaGXrKdKpMbIIsMIwDgbk/xzkBTyAltS5g==} 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.62.1': - resolution: {integrity: sha512-ooCzJFaf+Hg+uG6fA3NRFGuFjlfNlDhBthbv4ZPU/0elCAFUfnyXUvf/WOpHz/jYwSmvU2GkR2LtyUfy1AxZ1Q==} + '@typescript-eslint/types@8.65.0': + resolution: {integrity: sha512-JSSwWNy+H0E/01jJEM+hrX6N0OFDzFzeIhHFSAS01tlVaevpG8cFyYRPhS5yjGOvBUx3sqQHVMjCL1CAZZMxBg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.62.1': - resolution: {integrity: sha512-xMcW9oP9u7fAMXYs9A65CVmtLQe2r//oXINHfi8HV+oiqhih17sbLdhXr4540YWlgpDKQdY854OL5ZrdCiQsAA==} + '@typescript-eslint/typescript-estree@8.65.0': + resolution: {integrity: sha512-JboAE2swaYt4tb1fHhHTABE2K+OLy09XfcTbhnk4Pw96f9dd2e9iYsJ28gBggHlo5z5x1rkyWvcPoTuNTd4oGg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/utils@8.62.1': - resolution: {integrity: sha512-sHtbPfuKNZCG+ih8SyjjucqRntSVmp8XgL5u6o9mAhiSn8ds5o/M/XdM0abweme2Tln3szOstOrZ9OXitvPh0g==} + '@typescript-eslint/utils@8.65.0': + resolution: {integrity: sha512-gXiwIHsYreboxeJucHKPvgwl7dXt50mF8s1/c00cP/WoVTyWKFdtfhRWwZiXYFU5H2O8vVoSLNrexFZjYS/SGA==} 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.62.1': - resolution: {integrity: sha512-4g3BLxfdTMy8iZG0MaBkadnlRrCJ74cQiFbyEVMrkwIoqdyaXXQM22cotDvrl4x28wgIZ9rEJRoM+mmhSJpJ1g==} + '@typescript-eslint/visitor-keys@8.65.0': + resolution: {integrity: sha512-8C71BQkGjiMmXtop7pHVJu1l2NNShFdkCyD6a2ezzs5vU/L3LRtb69EtcteFwz0mYMPzIgOw0n6OV4VBUWZd7A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.3.2': @@ -3326,15 +3326,15 @@ packages: peerDependencies: '@popperjs/core': ^2.11.8 - brace-expansion@1.1.15: - resolution: {integrity: sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==} + brace-expansion@1.1.16: + resolution: {integrity: sha512-IDw48K2/2kRkg9LdJxurvq3lV3aBgq0REY89duEqFRthjlPdXHKMj7EnQOXVckxzgisinf3nHfrcE2FufFLXMw==} - brace-expansion@2.1.1: - resolution: {integrity: sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==} + brace-expansion@2.1.2: + resolution: {integrity: sha512-w5JZcKgdhDOgOwm8H+KgbosopHMuGcl6qbulwjtz3SM7I7P3yW1eAjzMPLrIE+NQ9vjgANKHWeMHnrT0OXW1oA==} - brace-expansion@5.0.7: - resolution: {integrity: sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA==} - engines: {node: 18 || 20 || >=22} + brace-expansion@5.0.8: + resolution: {integrity: sha512-JZyDyq3D4AUifKTPOB7DELf6XsB3WdPuNxCtob1vFXPsSXhdAiHBWJ/tJ8HAc9aH84BK+5JFZLNkJKx3G9kzQg==} + engines: {node: 20 || >=22} braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} @@ -3825,8 +3825,8 @@ packages: resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - eslint@10.6.0: - resolution: {integrity: sha512-6lVbcqSodALYo+4ELD0heG6lFiFxnLMuLkiMi2qV8LMp54N8tE8FT1GMH+ev4Ti00nFjNze2+Su6DsV5OQW3Dg==} + eslint@10.8.0: + resolution: {integrity: sha512-nuKKvN+oIBO0koN7Tm7dlkmnkc21mtt0QJLwAKzjLq14y6lRTdVG36MZHJ8eQHwdJMwZbQNMlPOYedMq/oVJvQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} hasBin: true peerDependencies: @@ -3987,8 +3987,8 @@ packages: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true - flatted@3.4.2: - resolution: {integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==} + flatted@3.4.3: + resolution: {integrity: sha512-/zipXxyO6rGvuNGDiULY9MvEGSkb2gaG4GGH4ygMi0ZZzyMHdUZBmntJmx5x1G2VuPytCwGN4xsJP6cw+sK+vQ==} follow-redirects@1.16.0: resolution: {integrity: sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==} @@ -4231,6 +4231,10 @@ packages: resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} engines: {node: '>= 4'} + ignore@7.0.6: + resolution: {integrity: sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw==} + engines: {node: '>= 4'} + image-size@0.5.5: resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} engines: {node: '>=0.10.0'} @@ -6799,45 +6803,45 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-eslint/builder@22.0.0(@angular/cli@22.0.5(@types/node@26.1.1)(chokidar@5.0.0))(chokidar@5.0.0)(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)': + '@angular-eslint/builder@22.0.0(@angular/cli@22.0.5(@types/node@26.1.1)(chokidar@5.0.0))(chokidar@5.0.0)(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: '@angular-devkit/architect': 0.2200.5(chokidar@5.0.0) '@angular-devkit/core': 22.0.5(chokidar@5.0.0) '@angular/cli': 22.0.5(@types/node@26.1.1)(chokidar@5.0.0) - eslint: 10.6.0(jiti@2.7.0) + eslint: 10.8.0(jiti@2.7.0) typescript: 6.0.3 transitivePeerDependencies: - chokidar '@angular-eslint/bundled-angular-compiler@22.0.0': {} - '@angular-eslint/eslint-plugin-template@22.0.0(@angular-eslint/template-parser@22.0.0(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(@typescript-eslint/types@8.62.1)(@typescript-eslint/utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)': + '@angular-eslint/eslint-plugin-template@22.0.0(@angular-eslint/template-parser@22.0.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(@typescript-eslint/types@8.65.0)(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: '@angular-eslint/bundled-angular-compiler': 22.0.0 - '@angular-eslint/template-parser': 22.0.0(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) - '@angular-eslint/utils': 22.0.0(@typescript-eslint/utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/types': 8.62.1 - '@typescript-eslint/utils': 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + '@angular-eslint/template-parser': 22.0.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) + '@angular-eslint/utils': 22.0.0(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/types': 8.65.0 + '@typescript-eslint/utils': 8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) aria-query: 5.3.2 axobject-query: 4.1.0 - eslint: 10.6.0(jiti@2.7.0) + eslint: 10.8.0(jiti@2.7.0) typescript: 6.0.3 - '@angular-eslint/eslint-plugin@22.0.0(@typescript-eslint/utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)': + '@angular-eslint/eslint-plugin@22.0.0(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: '@angular-eslint/bundled-angular-compiler': 22.0.0 - '@angular-eslint/utils': 22.0.0(@typescript-eslint/utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/utils': 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) - eslint: 10.6.0(jiti@2.7.0) + '@angular-eslint/utils': 22.0.0(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/utils': 8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) + eslint: 10.8.0(jiti@2.7.0) ts-api-utils: 2.5.0(typescript@6.0.3) typescript: 6.0.3 - '@angular-eslint/schematics@22.0.0(@angular-eslint/template-parser@22.0.0(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(@angular/cli@22.0.5(@types/node@26.1.1)(chokidar@5.0.0))(@typescript-eslint/types@8.62.1)(@typescript-eslint/utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(chokidar@5.0.0)(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)': + '@angular-eslint/schematics@22.0.0(@angular-eslint/template-parser@22.0.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(@angular/cli@22.0.5(@types/node@26.1.1)(chokidar@5.0.0))(@typescript-eslint/types@8.65.0)(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(chokidar@5.0.0)(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: '@angular-devkit/core': 22.0.5(chokidar@5.0.0) '@angular-devkit/schematics': 22.0.5(chokidar@5.0.0) - '@angular-eslint/eslint-plugin': 22.0.0(@typescript-eslint/utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) - '@angular-eslint/eslint-plugin-template': 22.0.0(@angular-eslint/template-parser@22.0.0(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(@typescript-eslint/types@8.62.1)(@typescript-eslint/utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + '@angular-eslint/eslint-plugin': 22.0.0(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) + '@angular-eslint/eslint-plugin-template': 22.0.0(@angular-eslint/template-parser@22.0.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(@typescript-eslint/types@8.65.0)(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) '@angular/cli': 22.0.5(@types/node@26.1.1)(chokidar@5.0.0) ignore: 7.0.5 semver: 7.8.0 @@ -6850,18 +6854,18 @@ snapshots: - eslint - typescript - '@angular-eslint/template-parser@22.0.0(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)': + '@angular-eslint/template-parser@22.0.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: '@angular-eslint/bundled-angular-compiler': 22.0.0 - eslint: 10.6.0(jiti@2.7.0) + eslint: 10.8.0(jiti@2.7.0) eslint-scope: 9.1.2 typescript: 6.0.3 - '@angular-eslint/utils@22.0.0(@typescript-eslint/utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)': + '@angular-eslint/utils@22.0.0(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: '@angular-eslint/bundled-angular-compiler': 22.0.0 - '@typescript-eslint/utils': 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) - eslint: 10.6.0(jiti@2.7.0) + '@typescript-eslint/utils': 8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) + eslint: 10.8.0(jiti@2.7.0) typescript: 6.0.3 '@angular/build@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': @@ -8109,9 +8113,9 @@ snapshots: '@esbuild/win32-x64@0.28.1': optional: true - '@eslint-community/eslint-utils@4.9.1(eslint@10.6.0(jiti@2.7.0))': + '@eslint-community/eslint-utils@4.10.1(eslint@10.8.0(jiti@2.7.0))': dependencies: - eslint: 10.6.0(jiti@2.7.0) + eslint: 10.8.0(jiti@2.7.0) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.2': {} @@ -8124,7 +8128,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/config-helpers@0.6.0': + '@eslint/config-helpers@0.7.0': dependencies: '@eslint/core': 1.2.1 @@ -9465,72 +9469,72 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@8.62.1(@typescript-eslint/parser@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)': + '@typescript-eslint/eslint-plugin@8.65.0(@typescript-eslint/parser@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/scope-manager': 8.62.1 - '@typescript-eslint/type-utils': 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/utils': 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.62.1 - eslint: 10.6.0(jiti@2.7.0) - ignore: 7.0.5 + '@typescript-eslint/parser': 8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/scope-manager': 8.65.0 + '@typescript-eslint/type-utils': 8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/utils': 8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.65.0 + eslint: 10.8.0(jiti@2.7.0) + ignore: 7.0.6 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.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)': + '@typescript-eslint/parser@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@typescript-eslint/scope-manager': 8.62.1 - '@typescript-eslint/types': 8.62.1 - '@typescript-eslint/typescript-estree': 8.62.1(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.62.1 + '@typescript-eslint/scope-manager': 8.65.0 + '@typescript-eslint/types': 8.65.0 + '@typescript-eslint/typescript-estree': 8.65.0(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.65.0 debug: 4.4.3 - eslint: 10.6.0(jiti@2.7.0) + eslint: 10.8.0(jiti@2.7.0) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.62.1(typescript@6.0.3)': + '@typescript-eslint/project-service@8.65.0(typescript@6.0.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.62.1(typescript@6.0.3) - '@typescript-eslint/types': 8.62.1 + '@typescript-eslint/tsconfig-utils': 8.65.0(typescript@6.0.3) + '@typescript-eslint/types': 8.65.0 debug: 4.4.3 typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.62.1': + '@typescript-eslint/scope-manager@8.65.0': dependencies: - '@typescript-eslint/types': 8.62.1 - '@typescript-eslint/visitor-keys': 8.62.1 + '@typescript-eslint/types': 8.65.0 + '@typescript-eslint/visitor-keys': 8.65.0 - '@typescript-eslint/tsconfig-utils@8.62.1(typescript@6.0.3)': + '@typescript-eslint/tsconfig-utils@8.65.0(typescript@6.0.3)': dependencies: typescript: 6.0.3 - '@typescript-eslint/type-utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)': + '@typescript-eslint/type-utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@typescript-eslint/types': 8.62.1 - '@typescript-eslint/typescript-estree': 8.62.1(typescript@6.0.3) - '@typescript-eslint/utils': 8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/types': 8.65.0 + '@typescript-eslint/typescript-estree': 8.65.0(typescript@6.0.3) + '@typescript-eslint/utils': 8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) debug: 4.4.3 - eslint: 10.6.0(jiti@2.7.0) + eslint: 10.8.0(jiti@2.7.0) ts-api-utils: 2.5.0(typescript@6.0.3) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.62.1': {} + '@typescript-eslint/types@8.65.0': {} - '@typescript-eslint/typescript-estree@8.62.1(typescript@6.0.3)': + '@typescript-eslint/typescript-estree@8.65.0(typescript@6.0.3)': dependencies: - '@typescript-eslint/project-service': 8.62.1(typescript@6.0.3) - '@typescript-eslint/tsconfig-utils': 8.62.1(typescript@6.0.3) - '@typescript-eslint/types': 8.62.1 - '@typescript-eslint/visitor-keys': 8.62.1 + '@typescript-eslint/project-service': 8.65.0(typescript@6.0.3) + '@typescript-eslint/tsconfig-utils': 8.65.0(typescript@6.0.3) + '@typescript-eslint/types': 8.65.0 + '@typescript-eslint/visitor-keys': 8.65.0 debug: 4.4.3 minimatch: 10.2.5 semver: 7.8.5 @@ -9540,20 +9544,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3)': + '@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.6.0(jiti@2.7.0)) - '@typescript-eslint/scope-manager': 8.62.1 - '@typescript-eslint/types': 8.62.1 - '@typescript-eslint/typescript-estree': 8.62.1(typescript@6.0.3) - eslint: 10.6.0(jiti@2.7.0) + '@eslint-community/eslint-utils': 4.10.1(eslint@10.8.0(jiti@2.7.0)) + '@typescript-eslint/scope-manager': 8.65.0 + '@typescript-eslint/types': 8.65.0 + '@typescript-eslint/typescript-estree': 8.65.0(typescript@6.0.3) + eslint: 10.8.0(jiti@2.7.0) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.62.1': + '@typescript-eslint/visitor-keys@8.65.0': dependencies: - '@typescript-eslint/types': 8.62.1 + '@typescript-eslint/types': 8.65.0 eslint-visitor-keys: 5.0.1 '@ungap/structured-clone@1.3.2': {} @@ -10010,16 +10014,16 @@ snapshots: dependencies: '@popperjs/core': 2.11.8 - brace-expansion@1.1.15: + brace-expansion@1.1.16: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - brace-expansion@2.1.1: + brace-expansion@2.1.2: dependencies: balanced-match: 1.0.2 - brace-expansion@5.0.7: + brace-expansion@5.0.8: dependencies: balanced-match: 4.0.4 @@ -10492,12 +10496,12 @@ snapshots: eslint-visitor-keys@5.0.1: {} - eslint@10.6.0(jiti@2.7.0): + eslint@10.8.0(jiti@2.7.0): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.6.0(jiti@2.7.0)) + '@eslint-community/eslint-utils': 4.10.1(eslint@10.8.0(jiti@2.7.0)) '@eslint-community/regexpp': 4.12.2 '@eslint/config-array': 0.23.5 - '@eslint/config-helpers': 0.6.0 + '@eslint/config-helpers': 0.7.0 '@eslint/core': 1.2.1 '@eslint/plugin-kit': 0.7.2 '@humanfs/node': 0.16.8 @@ -10743,12 +10747,12 @@ snapshots: flat-cache@4.0.1: dependencies: - flatted: 3.4.2 + flatted: 3.4.3 keyv: 4.5.4 flat@5.0.2: {} - flatted@3.4.2: {} + flatted@3.4.3: {} follow-redirects@1.16.0(debug@4.4.3): optionalDependencies: @@ -11002,6 +11006,8 @@ snapshots: ignore@7.0.5: {} + ignore@7.0.6: {} + image-size@0.5.5: optional: true @@ -11804,15 +11810,15 @@ snapshots: minimatch@10.2.5: dependencies: - brace-expansion: 5.0.7 + brace-expansion: 5.0.8 minimatch@3.1.5: dependencies: - brace-expansion: 1.1.15 + brace-expansion: 1.1.16 minimatch@9.0.9: dependencies: - brace-expansion: 2.1.1 + brace-expansion: 2.1.2 minimist@1.2.8: {} From fe196eaf0e32559de1d2880d77c216508824f9fe Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 1 Aug 2026 16:09:43 -0700 Subject: [PATCH 58/77] Chore(deps-dev): Bump @playwright/test from 1.61.1 to 1.62.0 in /src-ui (#13480) * Chore(deps-dev): Bump @playwright/test from 1.61.1 to 1.62.0 in /src-ui Bumps [@playwright/test](https://github.com/microsoft/playwright) from 1.61.1 to 1.62.0. - [Release notes](https://github.com/microsoft/playwright/releases) - [Commits](https://github.com/microsoft/playwright/compare/v1.61.1...v1.62.0) --- updated-dependencies: - dependency-name: "@playwright/test" dependency-version: 1.62.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * Bump Playwright CI container version --------- 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 | 32 +++++++++++++++---------------- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/ci-frontend.yml b/.github/workflows/ci-frontend.yml index ed9d28011..3a52d5c36 100644 --- a/.github/workflows/ci-frontend.yml +++ b/.github/workflows/ci-frontend.yml @@ -191,7 +191,7 @@ jobs: runs-on: ubuntu-24.04 permissions: contents: read - container: mcr.microsoft.com/playwright:v1.61.1-noble + container: mcr.microsoft.com/playwright:v1.62.0-noble env: PLAYWRIGHT_BROWSERS_PATH: /ms-playwright PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1 diff --git a/src-ui/package.json b/src-ui/package.json index d1eb061e5..6a3e38069 100644 --- a/src-ui/package.json +++ b/src-ui/package.json @@ -52,7 +52,7 @@ "@angular/cli": "~22.0.5", "@angular/compiler-cli": "~22.0.5", "@codecov/webpack-plugin": "^2.0.1", - "@playwright/test": "^1.61.1", + "@playwright/test": "^1.62.0", "@types/jest": "^30.0.0", "@types/node": "^26.1.1", "@typescript-eslint/eslint-plugin": "^8.65.0", diff --git a/src-ui/pnpm-lock.yaml b/src-ui/pnpm-lock.yaml index 2c7fa3d48..c040f133c 100644 --- a/src-ui/pnpm-lock.yaml +++ b/src-ui/pnpm-lock.yaml @@ -127,8 +127,8 @@ importers: specifier: ^2.0.1 version: 2.0.1(webpack@5.108.3(postcss@8.5.16)) '@playwright/test': - specifier: ^1.61.1 - version: 1.61.1 + specifier: ^1.62.0 + version: 1.62.0 '@types/jest': specifier: ^30.0.0 version: 30.0.0 @@ -2505,9 +2505,9 @@ packages: resolution: {integrity: sha512-SEeaJLb3qBNF/OaXnaR1NmmBbFYk1zC0ZH/52fATcRPLFg/p791YrcyFFy44Bo9sLaGuSuLp5Q6axbb/O+v/RA==} engines: {node: ^14.18.0 || >=16.0.0} - '@playwright/test@1.61.1': - resolution: {integrity: sha512-8nKv6+0RJSL9FE4jYOEGXnPeM/Hg12qZpmqzZjRh3qM0Y7c3z1mrOTfFLids72RDQYVh9WpLEfR5WdpNX4fkig==} - engines: {node: '>=18'} + '@playwright/test@1.62.0': + resolution: {integrity: sha512-9zOJ6ZQRAena31MpOH9VSzIz8Ou3YJ/wtY/eQm5T2uhfhG7/U3COrMS8xOtUrZrp9OgdmzEnIYODye3nY1VqzA==} + engines: {node: '>=20'} hasBin: true '@popperjs/core@2.11.8': @@ -5308,14 +5308,14 @@ packages: resolution: {integrity: sha512-emEcLuomt2j03vxD54giVB4SxTjnsqkU692xZOZXHDVoYyypEm+b3jpiTcc+Cf+myooc+/Ly0z01jqeNHVgJGw==} engines: {node: '>=16.0.0'} - playwright-core@1.61.1: - resolution: {integrity: sha512-h7Qlt6m4REp25qvIdvbDtVmD4LqVXfpRxhORv9L0jzETM05p4fuPJ3dKyuSXQxDSbXnmS79HAgi9589lGSpLkg==} - engines: {node: '>=18'} + playwright-core@1.62.0: + resolution: {integrity: sha512-nsNRyq0r2zsG8AcRHWknc9QRA5XCueC7gWMrs+Gx2tlZn9hcl8zudfh00lhJPY1DE7NmZ6bDsT9g2yey8mXljA==} + engines: {node: '>=20'} hasBin: true - playwright@1.61.1: - resolution: {integrity: sha512-DWnY5o3YbLWK4GovuAVwpqL+1VwGNdUGrRr++8j8PtQQzvAVZUIMjKQ90fY689sEJZJBbZVw1rXaOKSTitkzPQ==} - engines: {node: '>=18'} + playwright@1.62.0: + resolution: {integrity: sha512-Z14dG305dgaLu6foB1TXQagFiW8JfSUIUaUuPaKQ6NtBPKF1P/qXcqfh6c6K/icPqdy37JmjbiBXf6JNg6Sylw==} + engines: {node: '>=20'} hasBin: true postcss-loader@8.2.1: @@ -9166,9 +9166,9 @@ snapshots: '@pkgr/core@0.3.6': {} - '@playwright/test@1.61.1': + '@playwright/test@1.62.0': dependencies: - playwright: 1.61.1 + playwright: 1.62.0 '@popperjs/core@2.11.8': {} @@ -12261,11 +12261,11 @@ snapshots: pvutils: 1.1.5 tslib: 2.8.1 - playwright-core@1.61.1: {} + playwright-core@1.62.0: {} - playwright@1.61.1: + playwright@1.62.0: dependencies: - playwright-core: 1.61.1 + playwright-core: 1.62.0 optionalDependencies: fsevents: 2.3.2 From f5e47a86c3ae83f04a79791ddbcf6c18f203e18e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 1 Aug 2026 23:25:12 +0000 Subject: [PATCH 59/77] Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 18 updates (#13476) * Chore(deps): Bump the frontend-angular-dependencies group across 1 directory with 18 updates Bumps the frontend-angular-dependencies group with 18 updates in the /src-ui directory: | Package | From | To | | --- | --- | --- | | [@angular/cdk](https://github.com/angular/components) | `22.0.3` | `22.0.6` | | [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `22.0.5` | `22.0.8` | | [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `22.0.5` | `22.0.8` | | [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `22.0.5` | `22.0.8` | | [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `22.0.5` | `22.0.8` | | [@angular/localize](https://github.com/angular/angular) | `22.0.5` | `22.0.8` | | [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `22.0.5` | `22.0.8` | | [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `22.0.5` | `22.0.8` | | [@ng-select/ng-select](https://github.com/ng-select/ng-select) | `23.2.0` | `23.5.0` | | [@angular-devkit/core](https://github.com/angular/angular-cli) | `22.0.5` | `22.0.8` | | [@angular-devkit/schematics](https://github.com/angular/angular-cli) | `22.0.5` | `22.0.8` | | [@angular-eslint/builder](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/builder) | `22.0.0` | `22.1.0` | | [@angular-eslint/eslint-plugin](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/eslint-plugin) | `22.0.0` | `22.1.0` | | [@angular-eslint/eslint-plugin-template](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/eslint-plugin-template) | `22.0.0` | `22.1.0` | | [@angular-eslint/schematics](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/schematics) | `22.0.0` | `22.1.0` | | [@angular-eslint/template-parser](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/template-parser) | `22.0.0` | `22.1.0` | | [@angular/build](https://github.com/angular/angular-cli) | `22.0.5` | `22.0.8` | | [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `22.0.5` | `22.0.8` | Updates `@angular/cdk` from 22.0.3 to 22.0.6 - [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.0.3...v22.0.6) Updates `@angular/common` from 22.0.5 to 22.0.8 - [Release notes](https://github.com/angular/angular/releases) - [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md) - [Commits](https://github.com/angular/angular/commits/v22.0.8/packages/common) Updates `@angular/compiler` from 22.0.5 to 22.0.8 - [Release notes](https://github.com/angular/angular/releases) - [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md) - [Commits](https://github.com/angular/angular/commits/v22.0.8/packages/compiler) Updates `@angular/core` from 22.0.5 to 22.0.8 - [Release notes](https://github.com/angular/angular/releases) - [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md) - [Commits](https://github.com/angular/angular/commits/v22.0.8/packages/core) Updates `@angular/forms` from 22.0.5 to 22.0.8 - [Release notes](https://github.com/angular/angular/releases) - [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md) - [Commits](https://github.com/angular/angular/commits/v22.0.8/packages/forms) Updates `@angular/localize` from 22.0.5 to 22.0.8 - [Release notes](https://github.com/angular/angular/releases) - [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md) - [Commits](https://github.com/angular/angular/compare/v22.0.5...v22.0.8) Updates `@angular/platform-browser` from 22.0.5 to 22.0.8 - [Release notes](https://github.com/angular/angular/releases) - [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md) - [Commits](https://github.com/angular/angular/commits/v22.0.8/packages/platform-browser) Updates `@angular/router` from 22.0.5 to 22.0.8 - [Release notes](https://github.com/angular/angular/releases) - [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md) - [Commits](https://github.com/angular/angular/commits/v22.0.8/packages/router) Updates `@ng-select/ng-select` from 23.2.0 to 23.5.0 - [Release notes](https://github.com/ng-select/ng-select/releases) - [Changelog](https://github.com/ng-select/ng-select/blob/master/CHANGELOG.md) - [Commits](https://github.com/ng-select/ng-select/compare/v23.2.0...v23.5.0) Updates `@angular-devkit/core` from 22.0.5 to 22.0.8 - [Release notes](https://github.com/angular/angular-cli/releases) - [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md) - [Commits](https://github.com/angular/angular-cli/compare/v22.0.5...v22.0.8) Updates `@angular-devkit/schematics` from 22.0.5 to 22.0.8 - [Release notes](https://github.com/angular/angular-cli/releases) - [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md) - [Commits](https://github.com/angular/angular-cli/compare/v22.0.5...v22.0.8) Updates `@angular-eslint/builder` from 22.0.0 to 22.1.0 - [Release notes](https://github.com/angular-eslint/angular-eslint/releases) - [Changelog](https://github.com/angular-eslint/angular-eslint/blob/main/packages/builder/CHANGELOG.md) - [Commits](https://github.com/angular-eslint/angular-eslint/commits/v22.1.0/packages/builder) Updates `@angular-eslint/eslint-plugin` from 22.0.0 to 22.1.0 - [Release notes](https://github.com/angular-eslint/angular-eslint/releases) - [Changelog](https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/angular-eslint/angular-eslint/commits/v22.1.0/packages/eslint-plugin) Updates `@angular-eslint/eslint-plugin-template` from 22.0.0 to 22.1.0 - [Release notes](https://github.com/angular-eslint/angular-eslint/releases) - [Changelog](https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/CHANGELOG.md) - [Commits](https://github.com/angular-eslint/angular-eslint/commits/v22.1.0/packages/eslint-plugin-template) Updates `@angular-eslint/schematics` from 22.0.0 to 22.1.0 - [Release notes](https://github.com/angular-eslint/angular-eslint/releases) - [Changelog](https://github.com/angular-eslint/angular-eslint/blob/main/packages/schematics/CHANGELOG.md) - [Commits](https://github.com/angular-eslint/angular-eslint/commits/v22.1.0/packages/schematics) Updates `@angular-eslint/template-parser` from 22.0.0 to 22.1.0 - [Release notes](https://github.com/angular-eslint/angular-eslint/releases) - [Changelog](https://github.com/angular-eslint/angular-eslint/blob/main/packages/template-parser/CHANGELOG.md) - [Commits](https://github.com/angular-eslint/angular-eslint/commits/v22.1.0/packages/template-parser) Updates `@angular/build` from 22.0.5 to 22.0.8 - [Release notes](https://github.com/angular/angular-cli/releases) - [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md) - [Commits](https://github.com/angular/angular-cli/compare/v22.0.5...v22.0.8) Updates `@angular/compiler-cli` from 22.0.5 to 22.0.8 - [Release notes](https://github.com/angular/angular/releases) - [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md) - [Commits](https://github.com/angular/angular/commits/v22.0.8/packages/compiler-cli) --- updated-dependencies: - dependency-name: "@angular-devkit/core" dependency-version: 22.0.8 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: frontend-angular-dependencies - dependency-name: "@angular-devkit/schematics" dependency-version: 22.0.8 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: frontend-angular-dependencies - dependency-name: "@angular-eslint/builder" dependency-version: 22.1.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: frontend-angular-dependencies - dependency-name: "@angular-eslint/eslint-plugin" dependency-version: 22.1.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: frontend-angular-dependencies - dependency-name: "@angular-eslint/eslint-plugin-template" dependency-version: 22.1.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: frontend-angular-dependencies - dependency-name: "@angular-eslint/schematics" dependency-version: 22.1.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: frontend-angular-dependencies - dependency-name: "@angular-eslint/template-parser" dependency-version: 22.1.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: frontend-angular-dependencies - dependency-name: "@angular/build" dependency-version: 22.0.8 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: frontend-angular-dependencies - dependency-name: "@angular/cdk" dependency-version: 22.0.6 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: frontend-angular-dependencies - dependency-name: "@angular/common" dependency-version: 22.0.8 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: frontend-angular-dependencies - dependency-name: "@angular/compiler" dependency-version: 22.0.8 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: frontend-angular-dependencies - dependency-name: "@angular/compiler-cli" dependency-version: 22.0.8 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: frontend-angular-dependencies - dependency-name: "@angular/core" dependency-version: 22.0.8 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: frontend-angular-dependencies - dependency-name: "@angular/forms" dependency-version: 22.0.8 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: frontend-angular-dependencies - dependency-name: "@angular/localize" dependency-version: 22.0.8 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: frontend-angular-dependencies - dependency-name: "@angular/platform-browser" dependency-version: 22.0.8 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: frontend-angular-dependencies - dependency-name: "@angular/router" dependency-version: 22.0.8 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: frontend-angular-dependencies - dependency-name: "@ng-select/ng-select" dependency-version: 23.5.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: frontend-angular-dependencies ... Signed-off-by: dependabot[bot] * More 21.1.x --------- 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> --- src-ui/package.json | 36 +- src-ui/pnpm-lock.yaml | 875 +++++++++++++++++++++++++----------------- 2 files changed, 544 insertions(+), 367 deletions(-) diff --git a/src-ui/package.json b/src-ui/package.json index 6a3e38069..50952188d 100644 --- a/src-ui/package.json +++ b/src-ui/package.json @@ -11,16 +11,16 @@ }, "private": true, "dependencies": { - "@angular/cdk": "^22.0.3", - "@angular/common": "~22.0.5", - "@angular/compiler": "~22.0.5", - "@angular/core": "~22.0.5", - "@angular/forms": "~22.0.5", - "@angular/localize": "~22.0.5", - "@angular/platform-browser": "~22.0.5", - "@angular/router": "~22.0.5", + "@angular/cdk": "^22.0.6", + "@angular/common": "~22.0.8", + "@angular/compiler": "~22.0.8", + "@angular/core": "~22.0.8", + "@angular/forms": "~22.0.8", + "@angular/localize": "~22.0.8", + "@angular/platform-browser": "~22.0.8", + "@angular/router": "~22.0.8", "@ng-bootstrap/ng-bootstrap": "^21.0.0", - "@ng-select/ng-select": "^23.2.0", + "@ng-select/ng-select": "^23.5.0", "@ngneat/dirty-check-forms": "^3.0.3", "@popperjs/core": "^2.11.8", "bootstrap": "^5.3.8", @@ -41,16 +41,16 @@ "devDependencies": { "@angular-builders/custom-webpack": "^22.0.1", "@angular-builders/jest": "^22.0.1", - "@angular-devkit/core": "^22.0.5", - "@angular-devkit/schematics": "^22.0.5", - "@angular-eslint/builder": "22.0.0", - "@angular-eslint/eslint-plugin": "22.0.0", - "@angular-eslint/eslint-plugin-template": "22.0.0", - "@angular-eslint/schematics": "22.0.0", - "@angular-eslint/template-parser": "22.0.0", - "@angular/build": "^22.0.5", + "@angular-devkit/core": "^22.0.8", + "@angular-devkit/schematics": "^22.0.8", + "@angular-eslint/builder": "22.1.0", + "@angular-eslint/eslint-plugin": "22.1.0", + "@angular-eslint/eslint-plugin-template": "22.1.0", + "@angular-eslint/schematics": "22.1.0", + "@angular-eslint/template-parser": "22.1.0", + "@angular/build": "^22.0.8", "@angular/cli": "~22.0.5", - "@angular/compiler-cli": "~22.0.5", + "@angular/compiler-cli": "~22.0.8", "@codecov/webpack-plugin": "^2.0.1", "@playwright/test": "^1.62.0", "@types/jest": "^30.0.0", diff --git a/src-ui/pnpm-lock.yaml b/src-ui/pnpm-lock.yaml index c040f133c..ea31332d5 100644 --- a/src-ui/pnpm-lock.yaml +++ b/src-ui/pnpm-lock.yaml @@ -9,38 +9,38 @@ importers: .: dependencies: '@angular/cdk': - specifier: ^22.0.3 - version: 22.0.3(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(rxjs@7.8.2) + specifier: ^22.0.6 + version: 22.0.6(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(rxjs@7.8.2) '@angular/common': - specifier: ~22.0.5 - version: 22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2) + specifier: ~22.0.8 + version: 22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2) '@angular/compiler': - specifier: ~22.0.5 - version: 22.0.5 + specifier: ~22.0.8 + version: 22.0.8 '@angular/core': - specifier: ~22.0.5 - version: 22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2) + specifier: ~22.0.8 + version: 22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2) '@angular/forms': - specifier: ~22.0.5 - version: 22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(rxjs@7.8.2) + specifier: ~22.0.8 + version: 22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(rxjs@7.8.2) '@angular/localize': - specifier: ~22.0.5 - version: 22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5) + specifier: ~22.0.8 + version: 22.0.8(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/compiler@22.0.8) '@angular/platform-browser': - specifier: ~22.0.5 - version: 22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)) + specifier: ~22.0.8 + version: 22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)) '@angular/router': - specifier: ~22.0.5 - version: 22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(rxjs@7.8.2) + specifier: ~22.0.8 + version: 22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(rxjs@7.8.2) '@ng-bootstrap/ng-bootstrap': specifier: ^21.0.0 - version: 21.0.0(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/forms@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@popperjs/core@2.11.8)(rxjs@7.8.2) + version: 21.0.0(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/forms@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(rxjs@7.8.2))(@angular/localize@22.0.8(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/compiler@22.0.8))(@popperjs/core@2.11.8)(rxjs@7.8.2) '@ng-select/ng-select': - specifier: ^23.2.0 - version: 23.2.0(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/forms@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(rxjs@7.8.2)) + specifier: ^23.5.0 + version: 23.5.0(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/forms@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(rxjs@7.8.2)) '@ngneat/dirty-check-forms': specifier: ^3.0.3 - version: 3.0.3(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/forms@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(rxjs@7.8.2))(@angular/router@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(rxjs@7.8.2))(lodash-es@4.18.1)(rxjs@7.8.2) + version: 3.0.3(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/forms@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(rxjs@7.8.2))(@angular/router@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(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 @@ -55,19 +55,19 @@ importers: version: 1.0.0 ngx-bootstrap-icons: specifier: ^1.9.3 - version: 1.9.3(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)) + version: 1.9.3(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)) ngx-color: specifier: ^10.1.0 - version: 10.1.0(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)) + version: 10.1.0(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)) ngx-cookie-service: specifier: ^22.0.0 - version: 22.0.0(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)) + version: 22.0.0(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)) ngx-device-detector: specifier: ^12.0.0 - version: 12.0.0(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)) + version: 12.0.0(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)) ngx-ui-tour-ng-bootstrap: specifier: ^19.0.0 - version: 19.0.0(6717877a1fd90830e2174e9d5973df45) + version: 19.0.0(87229e05ac2563dcf5d13b654232d844) normalize-diacritics: specifier: ^5.0.0 version: 5.0.0 @@ -89,43 +89,43 @@ importers: devDependencies: '@angular-builders/custom-webpack': specifier: ^22.0.1 - version: 22.0.1(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.16)(rxjs@7.8.2)(terser@5.48.0)(tslib@2.8.1)(typescript@6.0.3) + version: 22.0.1(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/compiler@22.0.8)(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/localize@22.0.8(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/compiler@22.0.8))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.23)(rxjs@7.8.2)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) '@angular-builders/jest': specifier: ^22.0.1 - version: 22.0.1(51715affa3a9ca2163c97a2cc0b875af) + version: 22.0.1(67e70728b010faee071699a37361341d) '@angular-devkit/core': - specifier: ^22.0.5 - version: 22.0.5(chokidar@5.0.0) + specifier: ^22.0.8 + version: 22.0.8(chokidar@5.0.0) '@angular-devkit/schematics': - specifier: ^22.0.5 - version: 22.0.5(chokidar@5.0.0) + specifier: ^22.0.8 + version: 22.0.8(chokidar@5.0.0) '@angular-eslint/builder': - specifier: 22.0.0 - version: 22.0.0(@angular/cli@22.0.5(@types/node@26.1.1)(chokidar@5.0.0))(chokidar@5.0.0)(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) + specifier: 22.1.0 + version: 22.1.0(@angular/cli@22.0.5(@types/node@26.1.1)(chokidar@5.0.0))(chokidar@5.0.0)(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) '@angular-eslint/eslint-plugin': - specifier: 22.0.0 - version: 22.0.0(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) + specifier: 22.1.0 + version: 22.1.0(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) '@angular-eslint/eslint-plugin-template': - specifier: 22.0.0 - version: 22.0.0(@angular-eslint/template-parser@22.0.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(@typescript-eslint/types@8.65.0)(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) + specifier: 22.1.0 + version: 22.1.0(@angular-eslint/template-parser@22.1.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(@typescript-eslint/types@8.65.0)(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) '@angular-eslint/schematics': - specifier: 22.0.0 - version: 22.0.0(@angular-eslint/template-parser@22.0.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(@angular/cli@22.0.5(@types/node@26.1.1)(chokidar@5.0.0))(@typescript-eslint/types@8.65.0)(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(chokidar@5.0.0)(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) + specifier: 22.1.0 + version: 22.1.0(@angular-eslint/template-parser@22.1.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(@angular/cli@22.0.5(@types/node@26.1.1)(chokidar@5.0.0))(@typescript-eslint/types@8.65.0)(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(chokidar@5.0.0)(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) '@angular-eslint/template-parser': - specifier: 22.0.0 - version: 22.0.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) + specifier: 22.1.0 + version: 22.1.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) '@angular/build': - specifier: ^22.0.5 - version: 22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.16)(terser@5.48.0)(tslib@2.8.1)(typescript@6.0.3) + specifier: ^22.0.8 + version: 22.0.8(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/compiler@22.0.8)(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/localize@22.0.8(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/compiler@22.0.8))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.23)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/cli': specifier: ~22.0.5 version: 22.0.5(@types/node@26.1.1)(chokidar@5.0.0) '@angular/compiler-cli': - specifier: ~22.0.5 - version: 22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3) + specifier: ~22.0.8 + version: 22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3) '@codecov/webpack-plugin': specifier: ^2.0.1 - version: 2.0.1(webpack@5.108.3(postcss@8.5.16)) + version: 2.0.1(webpack@5.108.3(postcss@8.5.23)) '@playwright/test': specifier: ^1.62.0 version: 1.62.0 @@ -158,7 +158,7 @@ importers: version: 17.0.0 jest-preset-angular: specifier: ^17.0.0 - version: 17.0.0(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@babel/core@7.29.7)(@jest/transform@30.4.1)(@jest/types@30.4.1)(babel-jest@30.4.1(@babel/core@7.29.7))(jest@30.4.2(@types/node@26.1.1)(ts-node@10.9.2(@types/node@26.1.1)(typescript@6.0.3)))(jsdom@26.1.0)(typescript@6.0.3) + version: 17.0.0(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(@babel/core@7.29.7)(@jest/transform@30.4.1)(@jest/types@30.4.1)(babel-jest@30.4.1(@babel/core@7.29.7))(jest@30.4.2(@types/node@26.1.1)(ts-node@10.9.2(@types/node@26.1.1)(typescript@6.0.3)))(jsdom@26.1.0)(typescript@6.0.3) jest-websocket-mock: specifier: ^2.5.0 version: 2.5.0 @@ -173,7 +173,7 @@ importers: version: 6.0.3 webpack: specifier: ^5.107.2 - version: 5.108.3(postcss@8.5.16) + version: 5.108.3(postcss@8.5.23) packages: @@ -282,6 +282,11 @@ 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.2200.8': + resolution: {integrity: sha512-LFKK2v96nO0ESM9nftlCkTy+O/66AxNkwUpG+Q1er7LLNR2S8UReZnQ1/RhMkldCWxsmp2rQzdgHWnubaY/ZfA==} + 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/build-angular@22.0.5': resolution: {integrity: sha512-+YUOzWeQCwUpV2usFQwHBh01DQYxhcqUpxFKHw73ASIFC4+QsJNX+92++J9PvDOsXWHtGivX+6YmwI9/rcudIA==} 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'} @@ -337,49 +342,62 @@ packages: chokidar: optional: true + '@angular-devkit/core@22.0.8': + resolution: {integrity: sha512-Hnr4SCkxQM+xtq4uERC09qwTZpt97t4CwDZYzv/HbQA4pMYDfTxvIRHCyl+UHf4NbkC7ZVgyiab+KzTfuc609Q==} + 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.0.5': resolution: {integrity: sha512-yKkImZuFLIbylmk1REyoW3EWQeqnr6qwtrzs4EPeaJgzjj+MZurq5slQ3fanK9lfX2q+W+dnSQFKBXHxlUGJ8Q==} 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.0.0': - resolution: {integrity: sha512-T2vWQYUhJs6iUlgocHV12OgoxbmN63f17a+tgW+3sYrKN0KAB3xuHsPOoYpRYoWqkVVC44HD441Ju4IDvo8vKg==} + '@angular-devkit/schematics@22.0.8': + resolution: {integrity: sha512-9WjTKnW/5oIw4hNNcd0rSYtgHRrHKKAkG6+bdLqTCY68P2brO2yEJM2JjYtMYk/WSovknb0GxUP4n3dY3IxPug==} + 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.1.0': + resolution: {integrity: sha512-gmdk06PK0whNJlapIQjRnhud2/n+oIIDBIoLUHWFFxhHRs+ZstVc6+81gf+sYDOm1Ehmb0V3nZAg3YpT1Mk0Eg==} peerDependencies: '@angular/cli': '>= 22.0.0 < 23.0.0' eslint: ^9.0.0 || ^10.0.0 typescript: '*' - '@angular-eslint/bundled-angular-compiler@22.0.0': - resolution: {integrity: sha512-rv15vGDpGW8zZFaLdhQ+iIO1f0bZds/xvuxoX277hFisXp5Kt6FumJNNIb4g/qxq3xsY46a7fD6R7KvGY3smHg==} + '@angular-eslint/bundled-angular-compiler@22.1.0': + resolution: {integrity: sha512-iOtOQ2jtrtko1rIQo6i+g3ezxGL0lyYv80j4GccFTK1JGh4K+AqYkmaBvfUfNtqoE/7VcKsOoyxaFt6iIpKhaQ==} - '@angular-eslint/eslint-plugin-template@22.0.0': - resolution: {integrity: sha512-y6XL5HJ8C31NpBvkVHpU3bWc+Rk9g1zRtHrs39omhuT29eEUcS3zu47HMFV6tf8rHOI97B2Mstg6qYS5XL9ATg==} + '@angular-eslint/eslint-plugin-template@22.1.0': + resolution: {integrity: sha512-GK/Mwhwvj+MX6DefD29/IfuYjcai5CsCbYJ6Qb9P6IAzZaQqw+EN+CiXxIwzMnzm2edLcJzAsX8iBk4X7sVi2Q==} peerDependencies: - '@angular-eslint/template-parser': 22.0.0 + '@angular-eslint/template-parser': 22.1.0 '@typescript-eslint/types': ^8.0.0 '@typescript-eslint/utils': ^8.0.0 eslint: ^9.0.0 || ^10.0.0 typescript: '*' - '@angular-eslint/eslint-plugin@22.0.0': - resolution: {integrity: sha512-mKLScPZhqG64ic0KIQoxqSqCdkPwtEZuTOuunvc9lYTw05MJSHRUM2yVFODlCGq97c6BN1F6KBk2I+a+KFnr1g==} + '@angular-eslint/eslint-plugin@22.1.0': + resolution: {integrity: sha512-nRwdbUiW7vF0gbwtxw2hRGPZYZCNWOTLZKw4HM+I37o5YFIA0CFLtbyRKgZWs6JZCIqzTYSwCyKNsW41Qw0FwQ==} peerDependencies: '@typescript-eslint/utils': ^8.0.0 eslint: ^9.0.0 || ^10.0.0 typescript: '*' - '@angular-eslint/schematics@22.0.0': - resolution: {integrity: sha512-gsJQx6c+WIWC5d+NAqn4rRdUzwhinUCTNmCM9x4wygV9DrbAfVG+6OFPEbaDMryNvf0HYDcnGclbIbXjukGCaw==} + '@angular-eslint/schematics@22.1.0': + resolution: {integrity: sha512-/Z7MEO9ys9P5w5itM2mpNW4R/QNAVxtDdcU5LVFulSx/lo7zCDx1rZ/tLDuzbN5k5RGQy5ZkdRIs0MoscsGXQQ==} peerDependencies: '@angular/cli': '>= 22.0.0 < 23.0.0' - '@angular-eslint/template-parser@22.0.0': - resolution: {integrity: sha512-jU5MKQ24bBB4J99gSSexmUrLm2LvTJZCuCHhNTQ1LavWX4e1lrIxhm+6pJILOm6Cixf8jyNXnHMty6nljX8J+Q==} + '@angular-eslint/template-parser@22.1.0': + resolution: {integrity: sha512-gcufZLI/Rl2fOWtBk2MgMRkH1t+OrbJGxIsfT0w3pVjKm0zwi7njM/dtPbVjCHzsGhx7szQMvY0i0UwTBVYkSw==} peerDependencies: eslint: ^9.0.0 || ^10.0.0 typescript: '*' - '@angular-eslint/utils@22.0.0': - resolution: {integrity: sha512-VFodMojghnPYm+B3U+HRYrqebPMj8NyobNjVzDdY8V5XIBW+4ivOSEINIz81G48rmm/NZKwj56+bJ88bVX4KIw==} + '@angular-eslint/utils@22.1.0': + resolution: {integrity: sha512-zDPJqgOxlkG20UJWsVDSvnEtC2MfIP0+yKMaQUBL+2nrEknV/fVLrz7ApnerWiDrGTcAms5si49KV10MarMpRA==} peerDependencies: '@typescript-eslint/utils': ^8.0.0 eslint: ^9.0.0 || ^10.0.0 @@ -434,8 +452,57 @@ packages: vitest: optional: true - '@angular/cdk@22.0.3': - resolution: {integrity: sha512-dNPQHkxIM8Hkn028eJxBjBDXFBYJtYjGZCZTG6xGb6OugIuDvPM4hGVqOdXkGnvabfuLNgxbtiSL8l3xXPjUqQ==} + '@angular/build@22.0.8': + resolution: {integrity: sha512-QJVVTROVb27Ixk+RU4FSKwwyRbLdtNH20zFm1CwOKzA0wQHrWfxHTqlwMhnTOsOt5Cb3eX+6IjDXoGmAfJ81mA==} + 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 + '@angular/compiler-cli': ^22.0.0 + '@angular/core': ^22.0.0 + '@angular/localize': ^22.0.0 + '@angular/platform-browser': ^22.0.0 + '@angular/platform-server': ^22.0.0 + '@angular/service-worker': ^22.0.0 + '@angular/ssr': ^22.0.8 + istanbul-lib-instrument: ^6.0.0 + karma: ^6.4.0 + less: ^4.2.0 + ng-packagr: ^22.0.0 + postcss: ^8.4.0 + tailwindcss: ^2.0.0 || ^3.0.0 || ^4.0.0 + tslib: ^2.3.0 + typescript: '>=6.0 <6.1' + vitest: ^4.0.8 + peerDependenciesMeta: + '@angular/core': + optional: true + '@angular/localize': + optional: true + '@angular/platform-browser': + optional: true + '@angular/platform-server': + optional: true + '@angular/service-worker': + optional: true + '@angular/ssr': + optional: true + istanbul-lib-instrument: + optional: true + karma: + optional: true + less: + optional: true + ng-packagr: + optional: true + postcss: + optional: true + tailwindcss: + optional: true + vitest: + optional: true + + '@angular/cdk@22.0.6': + resolution: {integrity: sha512-b36f4b+7yQpuulG9Ai2O38SV2tsqyNeYTYCH9TehMir18XlTx+NtLELwA8Sfi24tHByJHEDADQZtHPWWUj71/w==} peerDependencies: '@angular/common': ^22.0.0 || ^23.0.0 '@angular/core': ^22.0.0 || ^23.0.0 @@ -447,33 +514,33 @@ 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/common@22.0.5': - resolution: {integrity: sha512-8HUuQms6bVjjRBF9FScYzepjhesrsPAjJh8UcHaw9YdGwMSn2eUiLZj9V1PnPV9BVu0beBcnAhX50ceeldbcTg==} + '@angular/common@22.0.8': + resolution: {integrity: sha512-FnwkXndUgAyWk1/p5flMfocIUtuuneJ01mxC1FxRc5/bdWTyNVeQDsM9Lw4PEAPc0AHu//EnblegRq8o6LGdUQ==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0} peerDependencies: - '@angular/core': 22.0.5 + '@angular/core': 22.0.8 rxjs: ^6.5.3 || ^7.4.0 - '@angular/compiler-cli@22.0.5': - resolution: {integrity: sha512-DR9kahfd5P/xrXbX8HJu8jBkkUZNqCZuMCod4lyo4a9MTOSKs2ltNU9VEDT7Qw++hDYowr37/lLfIzrvDEFPEQ==} + '@angular/compiler-cli@22.0.8': + resolution: {integrity: sha512-shBqaUxMtqriv4UG2MHmYT8GSvDizI40mUFkOfeQ1yRJ2C9dk0TnWKPwjSO7o6bs6UiU6V8Y3uSWdmfCGVVZAA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0} hasBin: true peerDependencies: - '@angular/compiler': 22.0.5 + '@angular/compiler': 22.0.8 typescript: '>=6.0 <6.1' peerDependenciesMeta: typescript: optional: true - '@angular/compiler@22.0.5': - resolution: {integrity: sha512-yGhbEBh2WU1kCubjBD+Eo5bwvZPR+zacDhyPao/PgopH0PiVETd4Iv1gK0ZAvg7XdImgzZfipJXKqTK4JbOFiQ==} + '@angular/compiler@22.0.8': + resolution: {integrity: sha512-ot7rvntfkZsPHmp8yl6PWUj/yG4e50X0+YeR7QYy/rEYKBiIg91w8GwjxSzaF4g5+bzJGDv7l/XnachKm0IySg==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0} - '@angular/core@22.0.5': - resolution: {integrity: sha512-8cc6CLC1u7kNHpUZA15tak0WPHAZTF16DPslXxDdWbw/WIlDGPsNdTW8Nsaeb/G45mLvBcMwcZpOC70R6iRzmA==} + '@angular/core@22.0.8': + resolution: {integrity: sha512-HagZZVzbtXd+ZhMb++k/HOtr/UTiBROHHH7xutgYgnSnPRXX0kCca5EQ02OZ/OCWfsMP5liSJDfwiePFULKA6Q==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0} peerDependencies: - '@angular/compiler': 22.0.5 + '@angular/compiler': 22.0.8 rxjs: ^6.5.3 || ^7.4.0 zone.js: ~0.15.0 || ~0.16.0 peerDependenciesMeta: @@ -482,22 +549,22 @@ packages: zone.js: optional: true - '@angular/forms@22.0.5': - resolution: {integrity: sha512-kdmLo956pUMG6ZS0v9crAu16pEzBrz6i7rdfCsgI6A3lcfOWNTZLysMGHHiGGqfdP6LJR88ziHIEKrgtkCkK1A==} + '@angular/forms@22.0.8': + resolution: {integrity: sha512-KlLJE8rgziSBqCQy+cqCHPEQPGjJEY53i1vZbpnBoLXhnwswLJ3O0c76RHNpIrlrvr9v4p3b2/LxSE8wQmdStg==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0} peerDependencies: - '@angular/common': 22.0.5 - '@angular/core': 22.0.5 - '@angular/platform-browser': 22.0.5 + '@angular/common': 22.0.8 + '@angular/core': 22.0.8 + '@angular/platform-browser': 22.0.8 rxjs: ^6.5.3 || ^7.4.0 - '@angular/localize@22.0.5': - resolution: {integrity: sha512-jpJqSCdAt1TPg8Zea+tkmqdfZF+qJhlGlQylYCrT56NLBUf0qqAl32KjxlBjZvFrUm7AqNkHN7L+E/YMcXmwzw==} + '@angular/localize@22.0.8': + resolution: {integrity: sha512-jKP+bwzjB9i6GgPlrGDzzXPpre8+/ERR9luvQsLxEKX+hWTNYM/HaDIyzWiouVqzsH+dYP8nJLqdrJm2FxYzyQ==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0} hasBin: true peerDependencies: - '@angular/compiler': 22.0.5 - '@angular/compiler-cli': 22.0.5 + '@angular/compiler': 22.0.8 + '@angular/compiler-cli': 22.0.8 '@angular/platform-browser-dynamic@22.0.5': resolution: {integrity: sha512-KEhGMknnX30assVhIfp04cxKrkdV5ngtWjRs4suNs0ev9vBmcj+KXtfEGGnW+2i4TjnaB4veGUxnq/snoG+AtA==} @@ -509,24 +576,24 @@ packages: '@angular/core': 22.0.5 '@angular/platform-browser': 22.0.5 - '@angular/platform-browser@22.0.5': - resolution: {integrity: sha512-Jm0YQ0NsJl3vhzziO+BEmtW5AYIyI+jVGNJHs4nFKLqSPG7DWkBfx4EykHBN5pAR4NLwwaJyFgbgNE/epZJDZQ==} + '@angular/platform-browser@22.0.8': + resolution: {integrity: sha512-FllGHCayu5Dv82HAA9ORL04Xf+In9JGMbQ1Vn4QnhrAVxBz182vm+ZwszLzRDSAwmfeIjZDeK49tKAcqHR9XNg==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0} peerDependencies: - '@angular/animations': 22.0.5 - '@angular/common': 22.0.5 - '@angular/core': 22.0.5 + '@angular/animations': 22.0.8 + '@angular/common': 22.0.8 + '@angular/core': 22.0.8 peerDependenciesMeta: '@angular/animations': optional: true - '@angular/router@22.0.5': - resolution: {integrity: sha512-1S5PCHicRQkQX4z/zjBu9VHMSoT9kOkWI0kuXuswiZtcFhK7kZbVvzrP/dBjc2YUg3AlsxS8iZY6fKFzj3/nBA==} + '@angular/router@22.0.8': + resolution: {integrity: sha512-9NO5K03QqfWMWWZ+Uu4WqBSLw/YAot918cBUFdgl6mTUOfoHi/xWO5pAt0SEpbXMHmWafJBdb99GRlAGybGSTg==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0} peerDependencies: - '@angular/common': 22.0.5 - '@angular/core': 22.0.5 - '@angular/platform-browser': 22.0.5 + '@angular/common': 22.0.8 + '@angular/core': 22.0.8 + '@angular/platform-browser': 22.0.8 rxjs: ^6.5.3 || ^7.4.0 '@asamuzakjp/css-color@3.2.0': @@ -2263,8 +2330,8 @@ packages: '@popperjs/core': ^2.11.8 rxjs: ^6.5.3 || ^7.4.0 - '@ng-select/ng-select@23.2.0': - resolution: {integrity: sha512-AM1/60UnZmowGvehrr4f8Ff0PJlK5doQh1LH6rTche+DhquaSkG2WBEWFfyK0ujIXNdjeWx+9yf2RcFSZWZ+Wg==} + '@ng-select/ng-select@23.5.0': + resolution: {integrity: sha512-ApaKm5KeU5ynH7Du5/t/PR1VUmUJZOs9muzEQrPrj5OBIOvJp1vX88n9JosSjp/7B6v8ImsdCpL4BcnU7Byk9Q==} engines: {node: ^22.12.0 || ^24.0.0 || ^26.0.0} peerDependencies: '@angular/common': ^22.0.0 @@ -2372,92 +2439,86 @@ packages: '@octokit/types@16.0.0': resolution: {integrity: sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==} - '@parcel/watcher-android-arm64@2.5.6': - resolution: {integrity: sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==} + '@parcel/watcher-android-arm64@2.6.0': + resolution: {integrity: sha512-trgpLSCKRC/huFjXX/Smh+0sWe4+YtKfktIToiMl59ghz7z+qkH6kMvNnUbLyRs9N11t8l4svSCs1+5B3rOAhA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [android] - '@parcel/watcher-darwin-arm64@2.5.6': - resolution: {integrity: sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==} + '@parcel/watcher-darwin-arm64@2.6.0': + resolution: {integrity: sha512-Y3QV0gl7Q1zbfueunkWIERICbEojQFCgpyG7YqOGNFLsckXyI1xu9mAIUpKY9QBYzBtSkN8dBPwd3yiAO9ovMw==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [darwin] - '@parcel/watcher-darwin-x64@2.5.6': - resolution: {integrity: sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==} + '@parcel/watcher-darwin-x64@2.6.0': + resolution: {integrity: sha512-Ohv6OpzhUfKYD7Beb8kDvG0jbIxORCYY1JRdZnaBtnjjkJxgD7ZVL0nw2sCYd0yTMKTvz3nnTnOF3cDifK+kvw==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [darwin] - '@parcel/watcher-freebsd-x64@2.5.6': - resolution: {integrity: sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==} + '@parcel/watcher-freebsd-x64@2.6.0': + resolution: {integrity: sha512-5HmXvDgs8VK+74jF9y9/2FE3/OnlcKmc56tjmSrEuZjpSZOGL+fvAu+HKJBdPs9uwoP2hE6TlSUpXZ/C5jUFmQ==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [freebsd] - '@parcel/watcher-linux-arm-glibc@2.5.6': - resolution: {integrity: sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==} + '@parcel/watcher-linux-arm-glibc@2.6.0': + resolution: {integrity: sha512-Ps/hui3A+vMbjdqlqAowK2ZL8+BO8dBjxeWXj6npTBs3jx4wWmbPpaLuqwrQrSqIVMCnpWo238bJ1U37GhQOYg==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] libc: [glibc] - '@parcel/watcher-linux-arm-musl@2.5.6': - resolution: {integrity: sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==} + '@parcel/watcher-linux-arm-musl@2.6.0': + resolution: {integrity: sha512-9c6AUHgHoG+IY88MRIHupztQiQnrbqHYQjkM2btA+Bf/wQnQMuiD0Wfk1EVv3TlNT3x41uU71rn6E4xh/+zvkw==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] libc: [musl] - '@parcel/watcher-linux-arm64-glibc@2.5.6': - resolution: {integrity: sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==} + '@parcel/watcher-linux-arm64-glibc@2.6.0': + resolution: {integrity: sha512-yHRqS2owEXe6Hic9z6Mh1ECsCd+ODVOGvZDyciqRd21+v+o+DnXMOrw50DSpIG2sb8GPEaPPmfeCAWKPJdq46g==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] libc: [glibc] - '@parcel/watcher-linux-arm64-musl@2.5.6': - resolution: {integrity: sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==} + '@parcel/watcher-linux-arm64-musl@2.6.0': + resolution: {integrity: sha512-WhB2e/V7rqdHHWZusBSPuy5Ei8S6lSz6FE5TKKQz5h3a0O+C+mhY7vxU9b/stqvMb8beLnPY82ZrFTLKs+SrKA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] libc: [musl] - '@parcel/watcher-linux-x64-glibc@2.5.6': - resolution: {integrity: sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==} + '@parcel/watcher-linux-x64-glibc@2.6.0': + resolution: {integrity: sha512-ulGE6x6Oz6iAwg75T8YQSoguBWasniIbX+QWpaYPcCnDOpdWX3k+4xbEYPZVLxOuoJI+svJJPD3sEj8G7lrQ3A==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] libc: [glibc] - '@parcel/watcher-linux-x64-musl@2.5.6': - resolution: {integrity: sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==} + '@parcel/watcher-linux-x64-musl@2.6.0': + resolution: {integrity: sha512-tkBYKt7YQrjIJWYDnto2YgO8MRkjlMTSNoRHzsXinBqbLdeOM3L32wPZJvIZxqaLMfSlS/4sUjH/6STVP/XDLw==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] libc: [musl] - '@parcel/watcher-win32-arm64@2.5.6': - resolution: {integrity: sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==} + '@parcel/watcher-win32-arm64@2.6.0': + resolution: {integrity: sha512-gIZAP23jaHjGWasY/TY6yL7NHFClf0Ga7FN+iINvk+KN94rhm94lYZhFsbYFNcA04/onvGD9kKmiJLJB2HbNwQ==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [win32] - '@parcel/watcher-win32-ia32@2.5.6': - resolution: {integrity: sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==} - engines: {node: '>= 10.0.0'} - cpu: [ia32] - os: [win32] - - '@parcel/watcher-win32-x64@2.5.6': - resolution: {integrity: sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==} + '@parcel/watcher-win32-x64@2.6.0': + resolution: {integrity: sha512-cA+/pXV2YkfxlIcXOQ5fSWqAzzPyD78/x5qbK/I0vUkrlYHA8TIz+MXjAbGouguKVSI4bOmkTSJ1/poVSsgt+A==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [win32] - '@parcel/watcher@2.5.6': - resolution: {integrity: sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==} + '@parcel/watcher@2.6.0': + resolution: {integrity: sha512-7FNeNl8NCE7aINx7WXiKQrPYZWC/hvrTsmk6zmxbI7LTXE7hVek/n8AfVgpe2y82zl3w0HvCHN0bVKMBoJcC0w==} engines: {node: '>= 10.0.0'} '@peculiar/asn1-cms@2.8.0': @@ -3290,6 +3351,11 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + baseline-browser-mapping@2.11.3: + resolution: {integrity: sha512-sbT0Ui/CZwyAyy7icT1Gw5P1LKRlFaHwaF6tDCW5YHq2X5SeeZFphBuIagopSfwSSZq3sQcbmEL072yphxm7ew==} + engines: {node: '>=6.0.0'} + hasBin: true + batch@0.6.1: resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} @@ -3345,6 +3411,11 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + browserslist@4.28.7: + resolution: {integrity: sha512-JxV13hNrFxqjOc8alRbq9dK1MM79NEXYpma2B2J4wAtpWS5zIEIKqWPGCl7N4o7Uc7B7itylh7SuDujATRyyTw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + bs-logger@0.2.6: resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} engines: {node: '>= 6'} @@ -3394,6 +3465,9 @@ packages: caniuse-lite@1.0.30001800: resolution: {integrity: sha512-MMHtuAz9Ys840zAY5F4k6fV5GaivZ9sPk+nz0mY+GYVzRBnYkN0mpqkSR92oWRQ19yQWo4HvBV/FnC16AJX8MA==} + caniuse-lite@1.0.30001806: + resolution: {integrity: sha512-72Cuvd95zbSYPKq6Fhg8eDJRlzgWDf7/mtoZv6Qe/DYNCEBdNxoA3+rZAU2ZhGCpZlns3EssFavaZomckT5Uuw==} + chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -3708,6 +3782,9 @@ packages: electron-to-chromium@1.5.385: resolution: {integrity: sha512-78sa/M08MNAYHQfjoWMvOlKQqZ0ElhSm/L5HNUc96VZ3b+KvDVnngFm8sYQy0XrhTRgAhggHr5abA7yTvRdo4Q==} + electron-to-chromium@1.5.396: + resolution: {integrity: sha512-yHiw2Y3C3H9U6TMbOfoWK/BPreiOPXRfTWPBwQBoZG6/8TB6eOPnsy5oaRYuatR7Fw2SJ4kKforgufeo7fq0EQ==} + emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} engines: {node: '>=12'} @@ -3930,8 +4007,8 @@ packages: fast-string-width@3.0.2: resolution: {integrity: sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==} - fast-uri@3.1.3: - resolution: {integrity: sha512-i70LwGWUduXqzicKXWshooq+sWL1K3WUU5rKZNG/0i3a1OSoX3HqhH5WbWwTmqWfor4urUakGPiRQcleRZTwOg==} + fast-uri@3.1.4: + resolution: {integrity: sha512-8JnbkQ4juDyvYs4mgFGQqg4yCYtFDtUtmp2QIQq11ZZe5CFQ5wcqm1rqDgAh/QdMySuBnPzMUiJUNZG5N/AiQw==} fast-wrap-ansi@0.2.2: resolution: {integrity: sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==} @@ -4748,6 +4825,10 @@ packages: resolution: {integrity: sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==} engines: {node: 20 || >=22} + lru-cache@11.5.2: + resolution: {integrity: sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==} + engines: {node: 20 || >=22} + lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -4979,6 +5060,11 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + nanoid@3.3.16: + resolution: {integrity: sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + napi-postinstall@0.3.4: resolution: {integrity: sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} @@ -5069,6 +5155,10 @@ packages: resolution: {integrity: sha512-J6l92tKHX6w8Jy5nO1Vuc01NoIiRGi/d6qBKVxh+IQ8Cr3b6HbVNfKiF8ZpFKufTwpwxMmce2W3iQZ861ZRyTg==} engines: {node: '>=18'} + node-releases@2.0.51: + resolution: {integrity: sha512-wRNIrw4DmVLKQlbgOMdkMx27Wrpzes2hh5Jtbi2bjPd+4wJstWIqP5A+lscnqbm0xxmT5Bpg8Lec5ItEBwx6BQ==} + engines: {node: '>=18'} + nopt@9.0.0: resolution: {integrity: sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==} engines: {node: ^20.17.0 || >=22.9.0} @@ -5375,8 +5465,8 @@ packages: resolution: {integrity: sha512-qif0+jGGZoLWdHey3UFHHWP0H7Gbmsk8T5VEqyYFbWqPr1XqvLGBbk/sl8V5exGmcYJklJOhOQq1pV9IcsiFag==} engines: {node: ^10 || ^12 || >=14} - postcss@8.5.16: - resolution: {integrity: sha512-vuwillviilfKZsg0VGj5R/YwwcHx4SLsIOI/7K6mQkWx+l5cUHTjj5g0AasTBcyXsbfTgrwsUNmVUb5xVwyPwg==} + postcss@8.5.23: + resolution: {integrity: sha512-g50586zr4bZmwFiTlflMu8E0bDTb5I5gertgwAKmsdUlTQIhZtunzUlD1WSzwcVWPoAVpsrA6vlfCD7oXvRwgg==} engines: {node: ^10 || ^12 || >=14} powershell-utils@0.1.0: @@ -5639,11 +5729,6 @@ packages: engines: {node: '>=10'} hasBin: true - semver@7.8.0: - resolution: {integrity: sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==} - engines: {node: '>=10'} - hasBin: true - semver@7.8.5: resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} engines: {node: '>=10'} @@ -5825,8 +5910,8 @@ packages: resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} - string-width@8.2.1: - resolution: {integrity: sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==} + string-width@8.2.2: + resolution: {integrity: sha512-GaPUh5gfdrYzqeVNZvUfT23vYYxXzKYidUcnMtJg/3rxRV63EFZy3k6xfKlmfeJD0176lnUV/Usr3XcwSvFzpg==} engines: {node: '>=20'} string_decoder@1.1.1: @@ -6210,6 +6295,46 @@ packages: yaml: optional: true + vite@7.3.6: + resolution: {integrity: sha512-4XP60spRGjSZFf1qYH+dJIkK2znL3zQfl9KkOV9MkkRR/3Dls0dxaBsQPTloEc5BLXWPL9vsOxopxyKoMmDueg==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@types/node': ^20.19.0 || >=22.12.0 + jiti: '>=1.21.0' + less: ^4.0.0 + lightningcss: ^1.21.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + w3c-xmlserializer@5.0.0: resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} engines: {node: '>=18'} @@ -6581,23 +6706,23 @@ snapshots: '@angular-builders/common@6.0.1(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.0.5(chokidar@5.0.0) - '@angular-devkit/schematics': 22.0.5(chokidar@5.0.0) + '@angular-devkit/core': 22.0.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.0.8(chokidar@5.0.0) '@schematics/angular': 22.0.5(chokidar@5.0.0) get-tsconfig: 4.14.0 jiti: 2.7.0 transitivePeerDependencies: - chokidar - '@angular-builders/custom-webpack@22.0.1(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.16)(rxjs@7.8.2)(terser@5.48.0)(tslib@2.8.1)(typescript@6.0.3)': + '@angular-builders/custom-webpack@22.0.1(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/compiler@22.0.8)(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/localize@22.0.8(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/compiler@22.0.8))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.23)(rxjs@7.8.2)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@angular-builders/common': 6.0.1(chokidar@5.0.0) '@angular-devkit/architect': 0.2200.5(chokidar@5.0.0) - '@angular-devkit/build-angular': 22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(jiti@2.7.0)(typescript@6.0.3) - '@angular-devkit/core': 22.0.5(chokidar@5.0.0) - '@angular-devkit/schematics': 22.0.5(chokidar@5.0.0) - '@angular/build': 22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.16)(terser@5.48.0)(tslib@2.8.1)(typescript@6.0.3) - '@angular/compiler-cli': 22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3) + '@angular-devkit/build-angular': 22.0.5(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/compiler@22.0.8)(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/localize@22.0.8(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/compiler@22.0.8))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(jiti@2.7.0)(typescript@6.0.3) + '@angular-devkit/core': 22.0.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.0.8(chokidar@5.0.0) + '@angular/build': 22.0.8(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/compiler@22.0.8)(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/localize@22.0.8(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/compiler@22.0.8))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.23)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) + '@angular/compiler-cli': 22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3) '@schematics/angular': 22.0.5(chokidar@5.0.0) lodash: 4.18.1 rxjs: 7.8.2 @@ -6648,19 +6773,19 @@ snapshots: - webpack-cli - yaml - '@angular-builders/jest@22.0.1(51715affa3a9ca2163c97a2cc0b875af)': + '@angular-builders/jest@22.0.1(67e70728b010faee071699a37361341d)': dependencies: '@angular-builders/common': 6.0.1(chokidar@5.0.0) '@angular-devkit/architect': 0.2200.5(chokidar@5.0.0) - '@angular-devkit/build-angular': 22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(jiti@2.7.0)(typescript@6.0.3) - '@angular-devkit/core': 22.0.5(chokidar@5.0.0) - '@angular-devkit/schematics': 22.0.5(chokidar@5.0.0) - '@angular/compiler-cli': 22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3) - '@angular/core': 22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2) - '@angular/platform-browser-dynamic': 22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))) + '@angular-devkit/build-angular': 22.0.5(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/compiler@22.0.8)(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/localize@22.0.8(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/compiler@22.0.8))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(jiti@2.7.0)(typescript@6.0.3) + '@angular-devkit/core': 22.0.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.0.8(chokidar@5.0.0) + '@angular/compiler-cli': 22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3) + '@angular/core': 22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2) + '@angular/platform-browser-dynamic': 22.0.5(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/compiler@22.0.8)(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))) '@schematics/angular': 22.0.5(chokidar@5.0.0) jest: 30.4.2(@types/node@26.1.1)(ts-node@10.9.2(@types/node@26.1.1)(typescript@6.0.3)) - jest-preset-angular: 17.0.0(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@babel/core@7.29.7)(@jest/transform@30.4.1)(@jest/types@30.4.1)(babel-jest@30.4.1(@babel/core@7.29.7))(jest@30.4.2(@types/node@26.1.1)(ts-node@10.9.2(@types/node@26.1.1)(typescript@6.0.3)))(jsdom@26.1.0)(typescript@6.0.3) + jest-preset-angular: 17.0.0(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(@babel/core@7.29.7)(@jest/transform@30.4.1)(@jest/types@30.4.1)(babel-jest@30.4.1(@babel/core@7.29.7))(jest@30.4.2(@types/node@26.1.1)(ts-node@10.9.2(@types/node@26.1.1)(typescript@6.0.3)))(jsdom@26.1.0)(typescript@6.0.3) lodash: 4.18.1 rxjs: 7.8.2 transitivePeerDependencies: @@ -6681,14 +6806,21 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(jiti@2.7.0)(typescript@6.0.3)': + '@angular-devkit/architect@0.2200.8(chokidar@5.0.0)': + dependencies: + '@angular-devkit/core': 22.0.8(chokidar@5.0.0) + rxjs: 7.8.2 + transitivePeerDependencies: + - chokidar + + '@angular-devkit/build-angular@22.0.5(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/compiler@22.0.8)(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/localize@22.0.8(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/compiler@22.0.8))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(jiti@2.7.0)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.5(chokidar@5.0.0) - '@angular-devkit/build-webpack': 0.2200.5(chokidar@5.0.0)(webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.108.3(postcss@8.5.16)))(webpack@5.106.2(esbuild@0.28.1)(postcss@8.5.13)) + '@angular-devkit/build-webpack': 0.2200.5(chokidar@5.0.0)(webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.108.3(postcss@8.5.23)))(webpack@5.106.2(esbuild@0.28.1)(postcss@8.5.13)) '@angular-devkit/core': 22.0.5(chokidar@5.0.0) - '@angular/build': 22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) - '@angular/compiler-cli': 22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3) + '@angular/build': 22.0.5(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/compiler@22.0.8)(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/localize@22.0.8(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/compiler@22.0.8))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) + '@angular/compiler-cli': 22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3) '@babel/core': 7.29.0 '@babel/generator': 7.29.1 '@babel/helper-annotate-as-pure': 7.27.3 @@ -6699,11 +6831,11 @@ snapshots: '@babel/preset-env': 7.29.3(@babel/core@7.29.0) '@babel/runtime': 7.29.2 '@discoveryjs/json-ext': 1.1.0 - '@ngtools/webpack': 22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(typescript@6.0.3)(webpack@5.106.2(esbuild@0.28.1)(postcss@8.5.13)) + '@ngtools/webpack': 22.0.5(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(typescript@6.0.3)(webpack@5.106.2(esbuild@0.28.1)(postcss@8.5.13)) ansi-colors: 4.1.3 autoprefixer: 10.5.0(postcss@8.5.13) babel-loader: 10.1.1(@babel/core@7.29.0)(webpack@5.106.2(esbuild@0.28.1)(postcss@8.5.13)) - browserslist: 4.28.4 + browserslist: 4.28.7 copy-webpack-plugin: 14.0.0(webpack@5.106.2(esbuild@0.28.1)(postcss@8.5.13)) css-loader: 7.1.4(webpack@5.106.2(esbuild@0.28.1)(postcss@8.5.13)) esbuild-wasm: 0.28.1 @@ -6739,9 +6871,9 @@ snapshots: webpack-merge: 6.0.1 webpack-subresource-integrity: 5.1.0(webpack@5.106.2(esbuild@0.28.1)(postcss@8.5.13)) optionalDependencies: - '@angular/core': 22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2) - '@angular/localize': 22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5) - '@angular/platform-browser': 22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)) + '@angular/core': 22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2) + '@angular/localize': 22.0.8(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/compiler@22.0.8) + '@angular/platform-browser': 22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)) esbuild: 0.28.1 transitivePeerDependencies: - '@angular/compiler' @@ -6773,12 +6905,12 @@ snapshots: - webpack-cli - yaml - '@angular-devkit/build-webpack@0.2200.5(chokidar@5.0.0)(webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.108.3(postcss@8.5.16)))(webpack@5.106.2(esbuild@0.28.1)(postcss@8.5.13))': + '@angular-devkit/build-webpack@0.2200.5(chokidar@5.0.0)(webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.108.3(postcss@8.5.23)))(webpack@5.106.2(esbuild@0.28.1)(postcss@8.5.13))': dependencies: '@angular-devkit/architect': 0.2200.5(chokidar@5.0.0) rxjs: 7.8.2 webpack: 5.106.2(esbuild@0.28.1)(postcss@8.5.13) - webpack-dev-server: 5.2.3(tslib@2.8.1)(webpack@5.108.3(postcss@8.5.16)) + webpack-dev-server: 5.2.3(tslib@2.8.1)(webpack@5.108.3(postcss@8.5.23)) transitivePeerDependencies: - chokidar @@ -6793,6 +6925,17 @@ snapshots: optionalDependencies: chokidar: 5.0.0 + '@angular-devkit/core@22.0.8(chokidar@5.0.0)': + dependencies: + ajv: 8.20.0 + ajv-formats: 3.0.1(ajv@8.20.0) + jsonc-parser: 3.3.1 + picomatch: 4.0.4 + rxjs: 7.8.2 + source-map: 0.7.6 + optionalDependencies: + chokidar: 5.0.0 + '@angular-devkit/schematics@22.0.5(chokidar@5.0.0)': dependencies: '@angular-devkit/core': 22.0.5(chokidar@5.0.0) @@ -6803,23 +6946,33 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-eslint/builder@22.0.0(@angular/cli@22.0.5(@types/node@26.1.1)(chokidar@5.0.0))(chokidar@5.0.0)(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3)': + '@angular-devkit/schematics@22.0.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/architect': 0.2200.5(chokidar@5.0.0) - '@angular-devkit/core': 22.0.5(chokidar@5.0.0) + '@angular-devkit/core': 22.0.8(chokidar@5.0.0) + jsonc-parser: 3.3.1 + magic-string: 0.30.21 + ora: 9.4.0 + rxjs: 7.8.2 + transitivePeerDependencies: + - chokidar + + '@angular-eslint/builder@22.1.0(@angular/cli@22.0.5(@types/node@26.1.1)(chokidar@5.0.0))(chokidar@5.0.0)(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3)': + dependencies: + '@angular-devkit/architect': 0.2200.8(chokidar@5.0.0) + '@angular-devkit/core': 22.0.8(chokidar@5.0.0) '@angular/cli': 22.0.5(@types/node@26.1.1)(chokidar@5.0.0) eslint: 10.8.0(jiti@2.7.0) typescript: 6.0.3 transitivePeerDependencies: - chokidar - '@angular-eslint/bundled-angular-compiler@22.0.0': {} + '@angular-eslint/bundled-angular-compiler@22.1.0': {} - '@angular-eslint/eslint-plugin-template@22.0.0(@angular-eslint/template-parser@22.0.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(@typescript-eslint/types@8.65.0)(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3)': + '@angular-eslint/eslint-plugin-template@22.1.0(@angular-eslint/template-parser@22.1.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(@typescript-eslint/types@8.65.0)(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@angular-eslint/bundled-angular-compiler': 22.0.0 - '@angular-eslint/template-parser': 22.0.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) - '@angular-eslint/utils': 22.0.0(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) + '@angular-eslint/bundled-angular-compiler': 22.1.0 + '@angular-eslint/template-parser': 22.1.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) + '@angular-eslint/utils': 22.1.0(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) '@typescript-eslint/types': 8.65.0 '@typescript-eslint/utils': 8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) aria-query: 5.3.2 @@ -6827,24 +6980,24 @@ snapshots: eslint: 10.8.0(jiti@2.7.0) typescript: 6.0.3 - '@angular-eslint/eslint-plugin@22.0.0(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3)': + '@angular-eslint/eslint-plugin@22.1.0(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@angular-eslint/bundled-angular-compiler': 22.0.0 - '@angular-eslint/utils': 22.0.0(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) + '@angular-eslint/bundled-angular-compiler': 22.1.0 + '@angular-eslint/utils': 22.1.0(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) '@typescript-eslint/utils': 8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) eslint: 10.8.0(jiti@2.7.0) ts-api-utils: 2.5.0(typescript@6.0.3) typescript: 6.0.3 - '@angular-eslint/schematics@22.0.0(@angular-eslint/template-parser@22.0.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(@angular/cli@22.0.5(@types/node@26.1.1)(chokidar@5.0.0))(@typescript-eslint/types@8.65.0)(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(chokidar@5.0.0)(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3)': + '@angular-eslint/schematics@22.1.0(@angular-eslint/template-parser@22.1.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(@angular/cli@22.0.5(@types/node@26.1.1)(chokidar@5.0.0))(@typescript-eslint/types@8.65.0)(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(chokidar@5.0.0)(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@angular-devkit/core': 22.0.5(chokidar@5.0.0) - '@angular-devkit/schematics': 22.0.5(chokidar@5.0.0) - '@angular-eslint/eslint-plugin': 22.0.0(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) - '@angular-eslint/eslint-plugin-template': 22.0.0(@angular-eslint/template-parser@22.0.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(@typescript-eslint/types@8.65.0)(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) + '@angular-devkit/core': 22.0.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.0.8(chokidar@5.0.0) + '@angular-eslint/eslint-plugin': 22.1.0(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) + '@angular-eslint/eslint-plugin-template': 22.1.0(@angular-eslint/template-parser@22.1.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(@typescript-eslint/types@8.65.0)(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) '@angular/cli': 22.0.5(@types/node@26.1.1)(chokidar@5.0.0) ignore: 7.0.5 - semver: 7.8.0 + semver: 7.8.5 strip-json-comments: 3.1.1 transitivePeerDependencies: - '@angular-eslint/template-parser' @@ -6854,33 +7007,33 @@ snapshots: - eslint - typescript - '@angular-eslint/template-parser@22.0.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3)': + '@angular-eslint/template-parser@22.1.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@angular-eslint/bundled-angular-compiler': 22.0.0 + '@angular-eslint/bundled-angular-compiler': 22.1.0 eslint: 10.8.0(jiti@2.7.0) eslint-scope: 9.1.2 typescript: 6.0.3 - '@angular-eslint/utils@22.0.0(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3)': + '@angular-eslint/utils@22.1.0(@typescript-eslint/utils@8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@angular-eslint/bundled-angular-compiler': 22.0.0 + '@angular-eslint/bundled-angular-compiler': 22.1.0 '@typescript-eslint/utils': 8.65.0(eslint@10.8.0(jiti@2.7.0))(typescript@6.0.3) eslint: 10.8.0(jiti@2.7.0) typescript: 6.0.3 - '@angular/build@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.0.5(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/compiler@22.0.8)(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/localize@22.0.8(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/compiler@22.0.8))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.5(chokidar@5.0.0) - '@angular/compiler': 22.0.5 - '@angular/compiler-cli': 22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3) + '@angular/compiler': 22.0.8 + '@angular/compiler-cli': 22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3) '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 '@inquirer/confirm': 6.0.12(@types/node@26.1.1) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.5(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.48.0)) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.5(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)) beasties: 0.4.2 - browserslist: 4.28.4 + browserslist: 4.28.7 esbuild: 0.28.1 https-proxy-agent: 9.0.0 jsonc-parser: 3.3.1 @@ -6900,9 +7053,9 @@ snapshots: vite: 7.3.5(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) watchpack: 2.5.1 optionalDependencies: - '@angular/core': 22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2) - '@angular/localize': 22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5) - '@angular/platform-browser': 22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)) + '@angular/core': 22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2) + '@angular/localize': 22.0.8(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/compiler@22.0.8) + '@angular/platform-browser': 22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)) istanbul-lib-instrument: 6.0.3 less: 4.6.4 lmdb: 3.5.4 @@ -6920,19 +7073,19 @@ snapshots: - tsx - yaml - '@angular/build@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.16)(terser@5.48.0)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.0.8(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/compiler@22.0.8)(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/localize@22.0.8(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/compiler@22.0.8))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(@types/node@26.1.1)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.23)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2200.5(chokidar@5.0.0) - '@angular/compiler': 22.0.5 - '@angular/compiler-cli': 22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3) - '@babel/core': 7.29.0 - '@babel/helper-annotate-as-pure': 7.27.3 + '@angular-devkit/architect': 0.2200.8(chokidar@5.0.0) + '@angular/compiler': 22.0.8 + '@angular/compiler-cli': 22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3) + '@babel/core': 7.29.7 + '@babel/helper-annotate-as-pure': 7.29.7 '@babel/helper-split-export-declaration': 7.24.7 '@inquirer/confirm': 6.0.12(@types/node@26.1.1) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.5(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.48.0)) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)) beasties: 0.4.2 - browserslist: 4.28.4 + browserslist: 4.28.7 esbuild: 0.28.1 https-proxy-agent: 9.0.0 jsonc-parser: 3.3.1 @@ -6949,16 +7102,16 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.5(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.48.0) + vite: 7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) watchpack: 2.5.1 optionalDependencies: - '@angular/core': 22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2) - '@angular/localize': 22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5) - '@angular/platform-browser': 22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)) + '@angular/core': 22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2) + '@angular/localize': 22.0.8(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/compiler@22.0.8) + '@angular/platform-browser': 22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)) istanbul-lib-instrument: 6.0.3 less: 4.6.4 lmdb: 3.5.4 - postcss: 8.5.16 + postcss: 8.5.23 transitivePeerDependencies: - '@types/node' - chokidar @@ -6972,11 +7125,11 @@ snapshots: - tsx - yaml - '@angular/cdk@22.0.3(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(rxjs@7.8.2)': + '@angular/cdk@22.0.6(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(rxjs@7.8.2)': dependencies: - '@angular/common': 22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2) - '@angular/core': 22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2) - '@angular/platform-browser': 22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)) + '@angular/common': 22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/core': 22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2) + '@angular/platform-browser': 22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)) parse5: 8.0.1 rxjs: 7.8.2 tslib: 2.8.1 @@ -7007,15 +7160,15 @@ snapshots: - chokidar - supports-color - '@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2)': + '@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2)': dependencies: - '@angular/core': 22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2) + '@angular/core': 22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2) rxjs: 7.8.2 tslib: 2.8.1 - '@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3)': + '@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3)': dependencies: - '@angular/compiler': 22.0.5 + '@angular/compiler': 22.0.8 '@babel/core': 7.29.7 '@jridgewell/sourcemap-codec': 1.5.5 chokidar: 5.0.0 @@ -7029,31 +7182,31 @@ snapshots: transitivePeerDependencies: - supports-color - '@angular/compiler@22.0.5': + '@angular/compiler@22.0.8': dependencies: tslib: 2.8.1 - '@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)': + '@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)': dependencies: rxjs: 7.8.2 tslib: 2.8.1 optionalDependencies: - '@angular/compiler': 22.0.5 + '@angular/compiler': 22.0.8 - '@angular/forms@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(rxjs@7.8.2)': + '@angular/forms@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(rxjs@7.8.2)': dependencies: - '@angular/common': 22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2) - '@angular/core': 22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2) - '@angular/platform-browser': 22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)) + '@angular/common': 22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/core': 22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2) + '@angular/platform-browser': 22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)) '@standard-schema/spec': 1.1.0 rxjs: 7.8.2 tslib: 2.8.1 zod: 4.4.3 - '@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5)': + '@angular/localize@22.0.8(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/compiler@22.0.8)': dependencies: - '@angular/compiler': 22.0.5 - '@angular/compiler-cli': 22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3) + '@angular/compiler': 22.0.8 + '@angular/compiler-cli': 22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3) '@babel/core': 7.29.7 '@types/babel__core': 7.20.5 tinyglobby: 0.2.17 @@ -7061,25 +7214,25 @@ snapshots: transitivePeerDependencies: - supports-color - '@angular/platform-browser-dynamic@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/compiler@22.0.5)(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))': + '@angular/platform-browser-dynamic@22.0.5(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/compiler@22.0.8)(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))': dependencies: - '@angular/common': 22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2) - '@angular/compiler': 22.0.5 - '@angular/core': 22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2) - '@angular/platform-browser': 22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)) + '@angular/common': 22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/compiler': 22.0.8 + '@angular/core': 22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2) + '@angular/platform-browser': 22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)) tslib: 2.8.1 - '@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))': + '@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))': dependencies: - '@angular/common': 22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2) - '@angular/core': 22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2) + '@angular/common': 22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/core': 22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2) tslib: 2.8.1 - '@angular/router@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(rxjs@7.8.2)': + '@angular/router@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(rxjs@7.8.2)': dependencies: - '@angular/common': 22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2) - '@angular/core': 22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2) - '@angular/platform-browser': 22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)) + '@angular/common': 22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/core': 22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2) + '@angular/platform-browser': 22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)) rxjs: 7.8.2 tslib: 2.8.1 @@ -7102,7 +7255,7 @@ snapshots: '@babel/core@7.29.0': dependencies: '@babel/code-frame': 7.29.7 - '@babel/generator': 7.29.7 + '@babel/generator': 7.29.1 '@babel/helper-compilation-targets': 7.29.7 '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.0) '@babel/helpers': 7.29.7 @@ -7167,7 +7320,7 @@ snapshots: dependencies: '@babel/compat-data': 7.29.7 '@babel/helper-validator-option': 7.29.7 - browserslist: 4.28.4 + browserslist: 4.28.7 lru-cache: 5.1.1 semver: 6.3.1 @@ -7907,11 +8060,11 @@ snapshots: unplugin: 1.16.1 zod: 3.25.76 - '@codecov/webpack-plugin@2.0.1(webpack@5.108.3(postcss@8.5.16))': + '@codecov/webpack-plugin@2.0.1(webpack@5.108.3(postcss@8.5.23))': dependencies: '@codecov/bundler-plugin-core': 2.0.1 unplugin: 1.16.1 - webpack: 5.108.3(postcss@8.5.16) + webpack: 5.108.3(postcss@8.5.23) '@cspotcode/source-map-support@0.8.1': dependencies: @@ -8864,35 +9017,35 @@ snapshots: '@tybys/wasm-util': 0.10.3 optional: true - '@ng-bootstrap/ng-bootstrap@21.0.0(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/forms@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@popperjs/core@2.11.8)(rxjs@7.8.2)': + '@ng-bootstrap/ng-bootstrap@21.0.0(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/forms@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(rxjs@7.8.2))(@angular/localize@22.0.8(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/compiler@22.0.8))(@popperjs/core@2.11.8)(rxjs@7.8.2)': dependencies: - '@angular/common': 22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2) - '@angular/core': 22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2) - '@angular/forms': 22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(rxjs@7.8.2) - '@angular/localize': 22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5) + '@angular/common': 22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/core': 22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2) + '@angular/forms': 22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(rxjs@7.8.2) + '@angular/localize': 22.0.8(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/compiler@22.0.8) '@popperjs/core': 2.11.8 rxjs: 7.8.2 tslib: 2.8.1 - '@ng-select/ng-select@23.2.0(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/forms@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(rxjs@7.8.2))': + '@ng-select/ng-select@23.5.0(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/forms@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(rxjs@7.8.2))': dependencies: - '@angular/common': 22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2) - '@angular/core': 22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2) - '@angular/forms': 22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(rxjs@7.8.2) + '@angular/common': 22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/core': 22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2) + '@angular/forms': 22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(rxjs@7.8.2) tslib: 2.8.1 - '@ngneat/dirty-check-forms@3.0.3(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/forms@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(rxjs@7.8.2))(@angular/router@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(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.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/forms@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(rxjs@7.8.2))(@angular/router@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(rxjs@7.8.2))(lodash-es@4.18.1)(rxjs@7.8.2)': dependencies: - '@angular/core': 22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2) - '@angular/forms': 22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(rxjs@7.8.2) - '@angular/router': 22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(rxjs@7.8.2) + '@angular/core': 22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2) + '@angular/forms': 22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(rxjs@7.8.2) + '@angular/router': 22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(rxjs@7.8.2) lodash-es: 4.18.1 rxjs: 7.8.2 tslib: 2.8.1 - '@ngtools/webpack@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(typescript@6.0.3)(webpack@5.106.2(esbuild@0.28.1)(postcss@8.5.13))': + '@ngtools/webpack@22.0.5(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(typescript@6.0.3)(webpack@5.106.2(esbuild@0.28.1)(postcss@8.5.13))': dependencies: - '@angular/compiler-cli': 22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3) + '@angular/compiler-cli': 22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3) typescript: 6.0.3 webpack: 5.106.2(esbuild@0.28.1)(postcss@8.5.13) @@ -8903,7 +9056,7 @@ snapshots: agent-base: 7.1.4 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 - lru-cache: 11.5.1 + lru-cache: 11.5.2 socks-proxy-agent: 8.0.5 transitivePeerDependencies: - supports-color @@ -9006,65 +9159,61 @@ snapshots: dependencies: '@octokit/openapi-types': 27.0.0 - '@parcel/watcher-android-arm64@2.5.6': + '@parcel/watcher-android-arm64@2.6.0': optional: true - '@parcel/watcher-darwin-arm64@2.5.6': + '@parcel/watcher-darwin-arm64@2.6.0': optional: true - '@parcel/watcher-darwin-x64@2.5.6': + '@parcel/watcher-darwin-x64@2.6.0': optional: true - '@parcel/watcher-freebsd-x64@2.5.6': + '@parcel/watcher-freebsd-x64@2.6.0': optional: true - '@parcel/watcher-linux-arm-glibc@2.5.6': + '@parcel/watcher-linux-arm-glibc@2.6.0': optional: true - '@parcel/watcher-linux-arm-musl@2.5.6': + '@parcel/watcher-linux-arm-musl@2.6.0': optional: true - '@parcel/watcher-linux-arm64-glibc@2.5.6': + '@parcel/watcher-linux-arm64-glibc@2.6.0': optional: true - '@parcel/watcher-linux-arm64-musl@2.5.6': + '@parcel/watcher-linux-arm64-musl@2.6.0': optional: true - '@parcel/watcher-linux-x64-glibc@2.5.6': + '@parcel/watcher-linux-x64-glibc@2.6.0': optional: true - '@parcel/watcher-linux-x64-musl@2.5.6': + '@parcel/watcher-linux-x64-musl@2.6.0': optional: true - '@parcel/watcher-win32-arm64@2.5.6': + '@parcel/watcher-win32-arm64@2.6.0': optional: true - '@parcel/watcher-win32-ia32@2.5.6': + '@parcel/watcher-win32-x64@2.6.0': optional: true - '@parcel/watcher-win32-x64@2.5.6': - optional: true - - '@parcel/watcher@2.5.6': + '@parcel/watcher@2.6.0': dependencies: detect-libc: 2.1.2 is-glob: 4.0.3 node-addon-api: 7.1.1 picomatch: 4.0.4 optionalDependencies: - '@parcel/watcher-android-arm64': 2.5.6 - '@parcel/watcher-darwin-arm64': 2.5.6 - '@parcel/watcher-darwin-x64': 2.5.6 - '@parcel/watcher-freebsd-x64': 2.5.6 - '@parcel/watcher-linux-arm-glibc': 2.5.6 - '@parcel/watcher-linux-arm-musl': 2.5.6 - '@parcel/watcher-linux-arm64-glibc': 2.5.6 - '@parcel/watcher-linux-arm64-musl': 2.5.6 - '@parcel/watcher-linux-x64-glibc': 2.5.6 - '@parcel/watcher-linux-x64-musl': 2.5.6 - '@parcel/watcher-win32-arm64': 2.5.6 - '@parcel/watcher-win32-ia32': 2.5.6 - '@parcel/watcher-win32-x64': 2.5.6 + '@parcel/watcher-android-arm64': 2.6.0 + '@parcel/watcher-darwin-arm64': 2.6.0 + '@parcel/watcher-darwin-x64': 2.6.0 + '@parcel/watcher-freebsd-x64': 2.6.0 + '@parcel/watcher-linux-arm-glibc': 2.6.0 + '@parcel/watcher-linux-arm-musl': 2.6.0 + '@parcel/watcher-linux-arm64-glibc': 2.6.0 + '@parcel/watcher-linux-arm64-musl': 2.6.0 + '@parcel/watcher-linux-x64-glibc': 2.6.0 + '@parcel/watcher-linux-x64-musl': 2.6.0 + '@parcel/watcher-win32-arm64': 2.6.0 + '@parcel/watcher-win32-x64': 2.6.0 optional: true '@peculiar/asn1-cms@2.8.0': @@ -9632,9 +9781,13 @@ snapshots: '@unrs/resolver-binding-win32-x64-msvc@1.12.2': optional: true - '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.5(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.48.0))': + '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.5(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2))': dependencies: - vite: 7.3.5(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.48.0) + vite: 7.3.5(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) + + '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2))': + dependencies: + vite: 7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) '@webassemblyjs/ast@1.14.1': dependencies: @@ -9776,7 +9929,7 @@ snapshots: ajv@8.20.0: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.1.3 + fast-uri: 3.1.4 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 @@ -9846,8 +9999,8 @@ snapshots: autoprefixer@10.5.0(postcss@8.5.13): dependencies: - browserslist: 4.28.4 - caniuse-lite: 1.0.30001800 + browserslist: 4.28.7 + caniuse-lite: 1.0.30001806 fraction.js: 5.3.4 picocolors: 1.1.1 postcss: 8.5.13 @@ -9952,6 +10105,8 @@ snapshots: baseline-browser-mapping@2.10.41: {} + baseline-browser-mapping@2.11.3: {} + batch@0.6.1: {} beasties@0.4.2: @@ -9962,9 +10117,9 @@ snapshots: domhandler: 5.0.3 htmlparser2: 10.1.0 picocolors: 1.1.1 - postcss: 8.5.16 + postcss: 8.5.23 postcss-media-query-parser: 0.2.3 - postcss-safe-parser: 7.0.1(postcss@8.5.16) + postcss-safe-parser: 7.0.1(postcss@8.5.23) before-after-hook@4.0.0: {} @@ -10039,6 +10194,14 @@ snapshots: node-releases: 2.0.50 update-browserslist-db: 1.2.3(browserslist@4.28.4) + browserslist@4.28.7: + dependencies: + baseline-browser-mapping: 2.11.3 + caniuse-lite: 1.0.30001806 + electron-to-chromium: 1.5.396 + node-releases: 2.0.51 + update-browserslist-db: 1.2.3(browserslist@4.28.7) + bs-logger@0.2.6: dependencies: fast-json-stable-stringify: 2.1.0 @@ -10088,6 +10251,8 @@ snapshots: caniuse-lite@1.0.30001800: {} + caniuse-lite@1.0.30001806: {} + chalk@4.1.2: dependencies: ansi-styles: 4.3.0 @@ -10136,7 +10301,7 @@ snapshots: cli-truncate@5.2.0: dependencies: slice-ansi: 8.0.0 - string-width: 8.2.1 + string-width: 8.2.2 cli-width@4.1.0: {} @@ -10227,7 +10392,7 @@ snapshots: core-js-compat@3.49.0: dependencies: - browserslist: 4.28.4 + browserslist: 4.28.7 core-util-is@1.0.3: {} @@ -10364,6 +10529,8 @@ snapshots: electron-to-chromium@1.5.385: {} + electron-to-chromium@1.5.396: {} + emittery@0.13.1: {} emoji-regex@10.6.0: {} @@ -10680,7 +10847,7 @@ snapshots: dependencies: fast-string-truncated-width: 3.0.3 - fast-uri@3.1.3: {} + fast-uri@3.1.4: {} fast-wrap-ansi@0.2.2: dependencies: @@ -11333,11 +11500,11 @@ snapshots: optionalDependencies: jest-resolve: 30.4.1 - jest-preset-angular@17.0.0(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(@babel/core@7.29.7)(@jest/transform@30.4.1)(@jest/types@30.4.1)(babel-jest@30.4.1(@babel/core@7.29.7))(jest@30.4.2(@types/node@26.1.1)(ts-node@10.9.2(@types/node@26.1.1)(typescript@6.0.3)))(jsdom@26.1.0)(typescript@6.0.3): + jest-preset-angular@17.0.0(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(@babel/core@7.29.7)(@jest/transform@30.4.1)(@jest/types@30.4.1)(babel-jest@30.4.1(@babel/core@7.29.7))(jest@30.4.2(@types/node@26.1.1)(ts-node@10.9.2(@types/node@26.1.1)(typescript@6.0.3)))(jsdom@26.1.0)(typescript@6.0.3): dependencies: - '@angular/compiler-cli': 22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3) - '@angular/core': 22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2) - '@angular/platform-browser': 22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)) + '@angular/compiler-cli': 22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3) + '@angular/core': 22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2) + '@angular/platform-browser': 22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)) '@jest/environment-jsdom-abstract': 30.4.1(jsdom@26.1.0) bs-logger: 0.2.6 esbuild-wasm: 0.28.1 @@ -11701,6 +11868,8 @@ snapshots: lru-cache@11.5.1: {} + lru-cache@11.5.2: {} + lru-cache@5.1.1: dependencies: yallist: 3.1.1 @@ -11822,15 +11991,15 @@ snapshots: minimist@1.2.8: {} - minimizer-webpack-plugin@5.6.1(postcss@8.5.16)(webpack@5.108.3(postcss@8.5.16)): + minimizer-webpack-plugin@5.6.1(postcss@8.5.23)(webpack@5.108.3(postcss@8.5.23)): dependencies: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 terser: 5.48.0 - webpack: 5.108.3(postcss@8.5.16) + webpack: 5.108.3(postcss@8.5.23) optionalDependencies: - postcss: 8.5.16 + postcss: 8.5.23 minipass-collect@2.0.1: dependencies: @@ -11902,6 +12071,8 @@ snapshots: nanoid@3.3.15: {} + nanoid@3.3.16: {} + napi-postinstall@0.3.4: {} natural-compare@1.4.0: {} @@ -11920,46 +12091,46 @@ snapshots: neo-async@2.6.2: {} - ngx-bootstrap-icons@1.9.3(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)): + ngx-bootstrap-icons@1.9.3(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)): dependencies: - '@angular/common': 22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2) - '@angular/core': 22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2) + '@angular/common': 22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/core': 22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2) tslib: 2.8.1 - ngx-color@10.1.0(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)): + ngx-color@10.1.0(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)): dependencies: - '@angular/common': 22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2) - '@angular/core': 22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2) + '@angular/common': 22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/core': 22.0.8(@angular/compiler@22.0.8)(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.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)): + ngx-cookie-service@22.0.0(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)): dependencies: - '@angular/common': 22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2) - '@angular/core': 22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2) + '@angular/common': 22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/core': 22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2) tslib: 2.8.1 - ngx-device-detector@12.0.0(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)): + ngx-device-detector@12.0.0(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)): dependencies: - '@angular/common': 22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2) - '@angular/core': 22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2) + '@angular/common': 22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/core': 22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2) tslib: 2.8.1 - ngx-ui-tour-core@17.0.0(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/router@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(rxjs@7.8.2))(rxjs@7.8.2): + ngx-ui-tour-core@17.0.0(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/router@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(rxjs@7.8.2))(rxjs@7.8.2): dependencies: - '@angular/common': 22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2) - '@angular/core': 22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2) - '@angular/router': 22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(rxjs@7.8.2) + '@angular/common': 22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/core': 22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2) + '@angular/router': 22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(rxjs@7.8.2) rxjs: 7.8.2 tslib: 2.8.1 - ngx-ui-tour-ng-bootstrap@19.0.0(6717877a1fd90830e2174e9d5973df45): + ngx-ui-tour-ng-bootstrap@19.0.0(87229e05ac2563dcf5d13b654232d844): dependencies: - '@angular/common': 22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2) - '@angular/core': 22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2) - '@ng-bootstrap/ng-bootstrap': 21.0.0(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/forms@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(rxjs@7.8.2))(@angular/localize@22.0.5(@angular/compiler-cli@22.0.5(@angular/compiler@22.0.5)(typescript@6.0.3))(@angular/compiler@22.0.5))(@popperjs/core@2.11.8)(rxjs@7.8.2) - ngx-ui-tour-core: 17.0.0(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/router@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(@angular/platform-browser@22.0.5(@angular/common@22.0.5(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.5(@angular/compiler@22.0.5)(rxjs@7.8.2)))(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/common': 22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2) + '@angular/core': 22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2) + '@ng-bootstrap/ng-bootstrap': 21.0.0(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/forms@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(rxjs@7.8.2))(@angular/localize@22.0.8(@angular/compiler-cli@22.0.8(@angular/compiler@22.0.8)(typescript@6.0.3))(@angular/compiler@22.0.8))(@popperjs/core@2.11.8)(rxjs@7.8.2) + ngx-ui-tour-core: 17.0.0(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/router@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(@angular/platform-browser@22.0.8(@angular/common@22.0.8(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2))(rxjs@7.8.2))(@angular/core@22.0.8(@angular/compiler@22.0.8)(rxjs@7.8.2)))(rxjs@7.8.2))(rxjs@7.8.2) tslib: 2.8.1 transitivePeerDependencies: - '@angular/router' @@ -11993,6 +12164,8 @@ snapshots: node-releases@2.0.50: {} + node-releases@2.0.51: {} + nopt@9.0.0: dependencies: abbrev: 4.0.0 @@ -12113,7 +12286,7 @@ snapshots: is-unicode-supported: 2.1.0 log-symbols: 7.0.1 stdin-discarder: 0.3.2 - string-width: 8.2.1 + string-width: 8.2.2 ordered-binary@1.6.1: optional: true @@ -12303,9 +12476,9 @@ snapshots: icss-utils: 5.1.0(postcss@8.5.13) postcss: 8.5.13 - postcss-safe-parser@7.0.1(postcss@8.5.16): + postcss-safe-parser@7.0.1(postcss@8.5.23): dependencies: - postcss: 8.5.16 + postcss: 8.5.23 postcss-selector-parser@7.1.4: dependencies: @@ -12320,9 +12493,9 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 - postcss@8.5.16: + postcss@8.5.23: dependencies: - nanoid: 3.3.15 + nanoid: 3.3.16 picocolors: 1.1.1 source-map-js: 1.2.1 @@ -12556,7 +12729,7 @@ snapshots: immutable: 5.1.9 source-map-js: 1.2.1 optionalDependencies: - '@parcel/watcher': 2.5.6 + '@parcel/watcher': 2.6.0 sax@1.6.0: optional: true @@ -12586,8 +12759,6 @@ snapshots: semver@7.7.4: {} - semver@7.8.0: {} - semver@7.8.5: {} send@0.19.2: @@ -12837,7 +13008,7 @@ snapshots: get-east-asian-width: 1.6.0 strip-ansi: 7.2.0 - string-width@8.2.1: + string-width@8.2.2: dependencies: get-east-asian-width: 1.6.0 strip-ansi: 7.2.0 @@ -13109,6 +13280,12 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 + update-browserslist-db@1.2.3(browserslist@4.28.7): + dependencies: + browserslist: 4.28.7 + escalade: 3.2.0 + picocolors: 1.1.1 + uri-js@4.4.1: dependencies: punycode: 2.3.1 @@ -13142,7 +13319,7 @@ snapshots: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) picomatch: 4.0.4 - postcss: 8.5.16 + postcss: 8.5.13 rollup: 4.60.2 tinyglobby: 0.2.16 optionalDependencies: @@ -13153,12 +13330,12 @@ snapshots: sass: 1.99.0 terser: 5.46.2 - vite@7.3.5(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.48.0): + vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): dependencies: - esbuild: 0.27.7 + esbuild: 0.28.1 fdir: 6.5.0(picomatch@4.0.4) picomatch: 4.0.4 - postcss: 8.5.16 + postcss: 8.5.23 rollup: 4.60.2 tinyglobby: 0.2.16 optionalDependencies: @@ -13167,7 +13344,7 @@ snapshots: jiti: 2.7.0 less: 4.6.4 sass: 1.99.0 - terser: 5.48.0 + terser: 5.46.2 w3c-xmlserializer@5.0.0: dependencies: @@ -13208,7 +13385,7 @@ snapshots: transitivePeerDependencies: - tslib - webpack-dev-middleware@7.4.5(tslib@2.8.1)(webpack@5.108.3(postcss@8.5.16)): + webpack-dev-middleware@7.4.5(tslib@2.8.1)(webpack@5.108.3(postcss@8.5.23)): dependencies: colorette: 2.0.20 memfs: 4.57.8(tslib@2.8.1) @@ -13217,7 +13394,7 @@ snapshots: range-parser: 1.3.0 schema-utils: 4.3.3 optionalDependencies: - webpack: 5.108.3(postcss@8.5.16) + webpack: 5.108.3(postcss@8.5.23) transitivePeerDependencies: - tslib @@ -13272,7 +13449,7 @@ snapshots: - tslib - utf-8-validate - webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.108.3(postcss@8.5.16)): + webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.108.3(postcss@8.5.23)): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -13300,10 +13477,10 @@ snapshots: serve-index: 1.9.2 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.5(tslib@2.8.1)(webpack@5.108.3(postcss@8.5.16)) + webpack-dev-middleware: 7.4.5(tslib@2.8.1)(webpack@5.108.3(postcss@8.5.23)) ws: 8.21.0 optionalDependencies: - webpack: 5.108.3(postcss@8.5.16) + webpack: 5.108.3(postcss@8.5.23) transitivePeerDependencies: - bufferutil - debug @@ -13336,7 +13513,7 @@ snapshots: '@webassemblyjs/wasm-parser': 1.14.1 acorn: 8.17.0 acorn-import-phases: 1.0.4(acorn@8.17.0) - browserslist: 4.28.4 + browserslist: 4.28.7 chrome-trace-event: 1.0.4 enhanced-resolve: 5.24.1 es-module-lexer: 2.3.0 @@ -13366,7 +13543,7 @@ snapshots: - postcss - uglify-js - webpack@5.108.3(postcss@8.5.16): + webpack@5.108.3(postcss@8.5.23): dependencies: '@types/estree': 1.0.9 '@types/json-schema': 7.0.15 @@ -13384,7 +13561,7 @@ snapshots: graceful-fs: 4.2.11 loader-runner: 4.3.2 mime-db: 1.54.0 - minimizer-webpack-plugin: 5.6.1(postcss@8.5.16)(webpack@5.108.3(postcss@8.5.16)) + minimizer-webpack-plugin: 5.6.1(postcss@8.5.23)(webpack@5.108.3(postcss@8.5.23)) neo-async: 2.6.2 schema-utils: 4.3.3 tapable: 2.3.3 @@ -13440,7 +13617,7 @@ snapshots: wrap-ansi@10.0.0: dependencies: ansi-styles: 6.2.3 - string-width: 8.2.1 + string-width: 8.2.2 strip-ansi: 7.2.0 wrap-ansi@7.0.0: From c05d069e97282de4be3f8ea11ee8506999205786 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 1 Aug 2026 23:27:09 +0000 Subject: [PATCH 60/77] 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 4a0607abb..f03fcb48c 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.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/alert/alert.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/alert/alert.ts 39 Slide of - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/carousel/carousel.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/carousel/carousel.ts 129,133 Currently selected slide number read by screen reader @@ -20,114 +20,114 @@ Previous - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/carousel/carousel.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/carousel/carousel.ts 160,161 Next - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/carousel/carousel.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/carousel/carousel.ts 205,206 Previous month - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/datepicker/datepicker-navigation.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/datepicker/datepicker-navigation.ts 74,76 - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/datepicker/datepicker-navigation.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/datepicker/datepicker-navigation.ts 103 Next month - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/datepicker/datepicker-navigation.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/datepicker/datepicker-navigation.ts 103 - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/datepicker/datepicker-navigation.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/datepicker/datepicker-navigation.ts 103 Select month - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/datepicker/ngb-calendar.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/datepicker/ngb-calendar.ts 63,65 - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/datepicker/ngb-calendar.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/datepicker/ngb-calendar.ts 106,107 Select year - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/datepicker/ngb-calendar.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/datepicker/ngb-calendar.ts 145,146 - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/datepicker/ngb-calendar.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/datepicker/ngb-calendar.ts 179,183 «« - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/pagination/pagination.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/pagination/pagination.ts 302 « - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/pagination/pagination.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/pagination/pagination.ts 333,335 » - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/pagination/pagination.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/pagination/pagination.ts 375 »» - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/pagination/pagination.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/pagination/pagination.ts 408 First - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/pagination/pagination.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/pagination/pagination.ts 437 Previous - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/pagination/pagination.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/pagination/pagination.ts 472,474 Next - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/pagination/pagination.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/pagination/pagination.ts 506 Last - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/pagination/pagination.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/pagination/pagination.ts 506 @@ -135,105 +135,105 @@ - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/progressbar/progressbar.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/progressbar/progressbar.ts 40,41 HH - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/timepicker/timepicker.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/timepicker/timepicker.ts 263,264 Hours - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/timepicker/timepicker.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/timepicker/timepicker.ts 301,302 MM - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/timepicker/timepicker.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/timepicker/timepicker.ts 341,342 Minutes - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/timepicker/timepicker.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/timepicker/timepicker.ts 381,384 Increment hours - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/timepicker/timepicker.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/timepicker/timepicker.ts 429,430 Decrement hours - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/timepicker/timepicker.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/timepicker/timepicker.ts 442 Increment minutes - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/timepicker/timepicker.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/timepicker/timepicker.ts 442 Decrement minutes - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/timepicker/timepicker.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/timepicker/timepicker.ts 442 SS - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/timepicker/timepicker.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/timepicker/timepicker.ts 442 Seconds - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/timepicker/timepicker.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/timepicker/timepicker.ts 442 Increment seconds - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/timepicker/timepicker.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/timepicker/timepicker.ts 442 Decrement seconds - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/timepicker/timepicker.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/timepicker/timepicker.ts 442 - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/timepicker/timepicker.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/timepicker/timepicker.ts 442 Close - node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.5_@angular+core@22.0.5_@angular+_88eda8c8846cc5cfe00e25de83b3f075/node_modules/src/toast/toast.ts + node_modules/.pnpm/@ng-bootstrap+ng-bootstrap@21.0.0_@angular+common@22.0.8_@angular+core@22.0.8_@angular+_30cd3929b089c6291e97634e4c39bb34/node_modules/src/toast/toast.ts 116 From 141d74464bcb654db8138d5f43560d5cc5eb8c62 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 2 Aug 2026 03:31:10 +0000 Subject: [PATCH 61/77] docker-compose(deps): Bump greenmail/standalone in /docker/compose (#13469) Bumps greenmail/standalone from 2.1.9 to 2.1.11. --- updated-dependencies: - dependency-name: greenmail/standalone dependency-version: 2.1.11 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 1004a4c14..2e2564a97 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.9 + image: docker.io/greenmail/standalone:2.1.11 hostname: greenmail container_name: greenmail environment: From 4692de55959aa68b264bf495705fd3ff32a04075 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 2 Aug 2026 03:41:25 +0000 Subject: [PATCH 62/77] docker-compose(deps): Bump nginx in /docker/compose (#13470) Bumps nginx from 1.31.2-alpine to 1.31.3-alpine. --- updated-dependencies: - dependency-name: nginx dependency-version: 1.31.3-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 2e2564a97..6bf842f53 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.2-alpine + image: docker.io/nginx:1.31.3-alpine hostname: nginx container_name: nginx ports: From fe48752a6fb14c51d08394d1ae1f74e40f8b0bb0 Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Sat, 1 Aug 2026 20:50:20 -0700 Subject: [PATCH 63/77] Chore: Updates release drafter config to the new format (#13498) --- .github/release-drafter.yml | 72 +++++++++++++++++++------------------ 1 file changed, 37 insertions(+), 35 deletions(-) diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml index 2b8169f24..c241284a1 100644 --- a/.github/release-drafter.yml +++ b/.github/release-drafter.yml @@ -1,49 +1,51 @@ categories: + - type: 'pre-include' + when: + - label: 'enhancement' + - label: 'bug' + - label: 'chore' + - label: 'deployment' + - label: 'translation' + - label: 'dependencies' + - label: 'documentation' + - label: 'frontend' + - label: 'backend' + - label: 'ci-cd' + - label: 'breaking-change' + - label: 'notable' + - type: 'pre-exclude' + when: + - label: 'skip-changelog' - title: 'Breaking Changes' - labels: - - 'breaking-change' + when: + - label: 'breaking-change' - title: 'Notable Changes' - labels: - - 'notable' + when: + - label: 'notable' - title: 'Features / Enhancements' - labels: - - 'enhancement' + when: + - label: 'enhancement' - title: 'Bug Fixes' - labels: - - 'bug' + when: + - label: 'bug' - title: 'Documentation' - labels: - - 'documentation' + when: + - label: 'documentation' - title: 'Maintenance' - labels: - - 'chore' - - 'deployment' - - 'translation' - - 'ci-cd' + when: + - label: 'chore' + - label: 'deployment' + - label: 'translation' + - label: 'ci-cd' - title: 'Dependencies' collapse-after: 3 - labels: - - 'dependencies' + when: + - label: 'dependencies' - title: 'All App Changes' - labels: - - 'frontend' - - 'backend' collapse-after: 1 -include-labels: - - 'enhancement' - - 'bug' - - 'chore' - - 'deployment' - - 'translation' - - 'dependencies' - - 'documentation' - - 'frontend' - - 'backend' - - 'ci-cd' - - 'breaking-change' - - 'notable' -exclude-labels: - - 'skip-changelog' + when: + - label: 'frontend' + - label: 'backend' filter-by-commitish: true category-template: '### $TITLE' change-template: '- $TITLE @$AUTHOR ([#$NUMBER]($URL))' From 4c7b3dd30705979462e23c6e33b6a433d11eb361 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 2 Aug 2026 04:00:13 +0000 Subject: [PATCH 64/77] docker(deps): Bump astral-sh/uv (#13472) Bumps [astral-sh/uv](https://github.com/astral-sh/uv) from 0.11.28-python3.12-trixie-slim to 0.11.32-python3.12-trixie-slim. - [Release notes](https://github.com/astral-sh/uv/releases) - [Changelog](https://github.com/astral-sh/uv/blob/main/CHANGELOG.md) - [Commits](https://github.com/astral-sh/uv/compare/0.11.28...0.11.32) --- updated-dependencies: - dependency-name: astral-sh/uv dependency-version: 0.11.32-python3.12-trixie-slim 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> --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 929d205b2..72b27f145 100644 --- a/Dockerfile +++ b/Dockerfile @@ -30,7 +30,7 @@ RUN set -eux \ # Purpose: Installs s6-overlay and rootfs # Comments: # - Don't leave anything extra in here either -FROM ghcr.io/astral-sh/uv:0.11.28-python3.12-trixie-slim AS s6-overlay-base +FROM ghcr.io/astral-sh/uv:0.11.32-python3.12-trixie-slim AS s6-overlay-base WORKDIR /usr/src/s6 From 92baa89638470e892df1421dfc8cb86bb8202876 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 2 Aug 2026 04:19:25 +0000 Subject: [PATCH 65/77] Chore(deps): Bump the actions group across 1 directory with 20 updates (#13481) Bumps the actions group with 20 updates in the / directory: | Package | From | To | | --- | --- | --- | | [actions/checkout](https://github.com/actions/checkout) | `7.0.0` | `7.0.1` | | [dorny/paths-filter](https://github.com/dorny/paths-filter) | `4.0.1` | `4.0.2` | | [actions/setup-python](https://github.com/actions/setup-python) | `6.3.0` | `7.0.0` | | [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) | `8.2.0` | `9.0.0` | | [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) | `4.1.0` | `4.2.0` | | [docker/login-action](https://github.com/docker/login-action) | `4.2.0` | `4.5.1` | | [docker/metadata-action](https://github.com/docker/metadata-action) | `6.1.0` | `6.2.0` | | [docker/build-push-action](https://github.com/docker/build-push-action) | `7.2.0` | `7.3.0` | | [actions/setup-node](https://github.com/actions/setup-node) | `6.4.0` | `7.0.0` | | [j178/prek-action](https://github.com/j178/prek-action) | `2.0.4` | `2.0.6` | | [lewagon/wait-on-check-action](https://github.com/lewagon/wait-on-check-action) | `1.8.0` | `1.8.1` | | [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) | `7.5.1` | `7.6.0` | | [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action) | `0.5.7` | `0.6.1` | | [github/codeql-action/upload-sarif](https://github.com/github/codeql-action) | `4.36.2` | `4.37.3` | | [github/codeql-action/init](https://github.com/github/codeql-action) | `4.36.2` | `4.37.3` | | [github/codeql-action/analyze](https://github.com/github/codeql-action) | `4.36.2` | `4.37.3` | | [crowdin/github-action](https://github.com/crowdin/github-action) | `2.16.3` | `2.17.0` | | [actions/labeler](https://github.com/actions/labeler) | `6.1.0` | `7.0.0` | | [actions/stale](https://github.com/actions/stale) | `10.3.0` | `10.4.0` | | [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action) | `7.1.0` | `7.2.0` | Updates `actions/checkout` from 7.0.0 to 7.0.1 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0...3d3c42e5aac5ba805825da76410c181273ba90b1) Updates `dorny/paths-filter` from 4.0.1 to 4.0.2 - [Release notes](https://github.com/dorny/paths-filter/releases) - [Changelog](https://github.com/dorny/paths-filter/blob/master/CHANGELOG.md) - [Commits](https://github.com/dorny/paths-filter/compare/fbd0ab8f3e69293af611ebaee6363fc25e6d187d...7b450fff21473bca461d4b92ce414b9d0420d706) Updates `actions/setup-python` from 6.3.0 to 7.0.0 - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/ece7cb06caefa5fff74198d8649806c4678c61a1...5fda3b95a4ea91299a34e894583c3862153e4b97) Updates `astral-sh/setup-uv` from 8.2.0 to 9.0.0 - [Release notes](https://github.com/astral-sh/setup-uv/releases) - [Commits](https://github.com/astral-sh/setup-uv/compare/fac544c07dec837d0ccb6301d7b5580bf5edae39...c771a70e6277c0a99b617c7a806ffedaca235ff9) Updates `docker/setup-buildx-action` from 4.1.0 to 4.2.0 - [Release notes](https://github.com/docker/setup-buildx-action/releases) - [Commits](https://github.com/docker/setup-buildx-action/compare/d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5...bb05f3f5519dd87d3ba754cc423b652a5edd6d2c) Updates `docker/login-action` from 4.2.0 to 4.5.1 - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/650006c6eb7dba73a995cc03b0b2d7f5ca915bee...abd2ef45e78c5afb21d64d4ca52ee8550d9572c7) Updates `docker/metadata-action` from 6.1.0 to 6.2.0 - [Release notes](https://github.com/docker/metadata-action/releases) - [Commits](https://github.com/docker/metadata-action/compare/80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9...dc802804100637a589fabce1cb79ff13a1411302) Updates `docker/build-push-action` from 7.2.0 to 7.3.0 - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/f9f3042f7e2789586610d6e8b85c8f03e5195baf...53b7df96c91f9c12dcc8a07bcb9ccacbed38856a) Updates `actions/setup-node` from 6.4.0 to 7.0.0 - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e...820762786026740c76f36085b0efc47a31fe5020) Updates `j178/prek-action` from 2.0.4 to 2.0.6 - [Release notes](https://github.com/j178/prek-action/releases) - [Commits](https://github.com/j178/prek-action/compare/bdca6f102f98e2b4c7029491a53dfd366469e33d...5337cb91e0fa35a7ff31b9ca345126d8bbbcdf16) Updates `lewagon/wait-on-check-action` from 1.8.0 to 1.8.1 - [Release notes](https://github.com/lewagon/wait-on-check-action/releases) - [Changelog](https://github.com/lewagon/wait-on-check-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/lewagon/wait-on-check-action/compare/96d9100b431964d10e0136aff8b9ccb92470505e...1d57e2c51a58d812d2765e036a028b6bdb5a6154) Updates `release-drafter/release-drafter` from 7.5.1 to 7.6.0 - [Release notes](https://github.com/release-drafter/release-drafter/releases) - [Commits](https://github.com/release-drafter/release-drafter/compare/4d75298e00d9e34c483e5ff8c68d0ea1c1940c1e...eada3c96a64734dd381cfbda23511034e328ddb0) Updates `zizmorcore/zizmor-action` from 0.5.7 to 0.6.1 - [Release notes](https://github.com/zizmorcore/zizmor-action/releases) - [Commits](https://github.com/zizmorcore/zizmor-action/compare/192e21d79ab29983730a13d1382995c2307fbcaa...6fc4b006235f201fdab3722e17240ab420d580e5) Updates `github/codeql-action/upload-sarif` from 4.36.2 to 4.37.3 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/8aad20d150bbac5944a9f9d289da16a4b0d87c1e...e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81) Updates `github/codeql-action/init` from 4.36.2 to 4.37.3 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/8aad20d150bbac5944a9f9d289da16a4b0d87c1e...e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81) Updates `github/codeql-action/analyze` from 4.36.2 to 4.37.3 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/8aad20d150bbac5944a9f9d289da16a4b0d87c1e...e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81) Updates `crowdin/github-action` from 2.16.3 to 2.17.0 - [Release notes](https://github.com/crowdin/github-action/releases) - [Commits](https://github.com/crowdin/github-action/compare/52aa776766211d83d975df51f3b9c53c2f8ba35f...c7af9bc98b01694653031fef2a0dc6c7888ce9bc) Updates `actions/labeler` from 6.1.0 to 7.0.0 - [Release notes](https://github.com/actions/labeler/releases) - [Commits](https://github.com/actions/labeler/compare/f27b608878404679385c85cfa523b85ccb86e213...bf12e9b00b37c5c0ca2b87b79b2daf7891dbda13) Updates `actions/stale` from 10.3.0 to 10.4.0 - [Release notes](https://github.com/actions/stale/releases) - [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/stale/compare/eb5cf3af3ac0a1aa4c9c45633dd1ae542a27a899...1e223db275d687790206a7acac4d1a11bd6fe629) Updates `stefanzweifel/git-auto-commit-action` from 7.1.0 to 7.2.0 - [Release notes](https://github.com/stefanzweifel/git-auto-commit-action/releases) - [Changelog](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/stefanzweifel/git-auto-commit-action/compare/04702edda442b2e678b25b537cec683a1493fcb9...4a55954c782fc1ea30b9056cd3e7a2b40ca8887d) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 7.0.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: actions - dependency-name: actions/labeler dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions - dependency-name: actions/setup-node dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions - dependency-name: actions/setup-python dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions - dependency-name: actions/stale dependency-version: 10.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: actions - dependency-name: astral-sh/setup-uv dependency-version: 9.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions - dependency-name: crowdin/github-action dependency-version: 2.17.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: actions - dependency-name: docker/build-push-action dependency-version: 7.3.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: actions - dependency-name: docker/login-action dependency-version: 4.5.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: actions - dependency-name: docker/metadata-action dependency-version: 6.2.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: actions - dependency-name: docker/setup-buildx-action dependency-version: 4.2.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: actions - dependency-name: dorny/paths-filter dependency-version: 4.0.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: actions - dependency-name: github/codeql-action/analyze dependency-version: 4.37.3 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: actions - dependency-name: github/codeql-action/init dependency-version: 4.37.3 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: actions - dependency-name: github/codeql-action/upload-sarif dependency-version: 4.37.3 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: actions - dependency-name: j178/prek-action dependency-version: 2.0.6 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: actions - dependency-name: lewagon/wait-on-check-action dependency-version: 1.8.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: actions - dependency-name: release-drafter/release-drafter dependency-version: 7.6.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: actions - dependency-name: stefanzweifel/git-auto-commit-action dependency-version: 7.2.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: actions - dependency-name: zizmorcore/zizmor-action dependency-version: 0.6.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: actions ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci-backend.yml | 16 ++++++++-------- .github/workflows/ci-docker.yml | 20 ++++++++++---------- .github/workflows/ci-docs.yml | 10 +++++----- .github/workflows/ci-frontend.yml | 24 ++++++++++++------------ .github/workflows/ci-lint.yml | 6 +++--- .github/workflows/ci-release.yml | 18 +++++++++--------- .github/workflows/ci-static-analysis.yml | 8 ++++---- .github/workflows/codeql-analysis.yml | 6 +++--- .github/workflows/crowdin.yml | 4 ++-- .github/workflows/pr-bot.yml | 2 +- .github/workflows/project-actions.yml | 2 +- .github/workflows/repo-maintenance.yml | 2 +- .github/workflows/translate-strings.yml | 10 +++++----- 13 files changed, 64 insertions(+), 64 deletions(-) diff --git a/.github/workflows/ci-backend.yml b/.github/workflows/ci-backend.yml index d771c3115..447f19e17 100644 --- a/.github/workflows/ci-backend.yml +++ b/.github/workflows/ci-backend.yml @@ -24,7 +24,7 @@ jobs: backend_changed: ${{ steps.force.outputs.run_all == 'true' || steps.filter.outputs.backend == 'true' }} steps: - name: Checkout - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: fetch-depth: 0 persist-credentials: false @@ -63,7 +63,7 @@ jobs: - name: Detect changes id: filter if: steps.force.outputs.run_all != 'true' - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 + uses: dorny/paths-filter@7b450fff21473bca461d4b92ce414b9d0420d706 # v4.0.2 with: base: ${{ steps.range.outputs.base }} ref: ${{ steps.range.outputs.ref }} @@ -87,7 +87,7 @@ jobs: fail-fast: false steps: - name: Checkout - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Start containers @@ -96,11 +96,11 @@ jobs: docker compose --file docker/compose/docker-compose.ci-test.yml up --detach - name: Set up Python id: setup-python - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 + uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: python-version: "${{ matrix.python-version }}" - name: Install uv - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 + uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0 with: version: ${{ env.DEFAULT_UV_VERSION }} enable-cache: true @@ -169,16 +169,16 @@ jobs: PAPERLESS_SECRET_KEY: "ci-typing-not-a-real-secret" steps: - name: Checkout - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Set up Python id: setup-python - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 + uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: python-version: "${{ env.DEFAULT_PYTHON }}" - name: Install uv - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 + uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0 with: version: ${{ env.DEFAULT_UV_VERSION }} enable-cache: true diff --git a/.github/workflows/ci-docker.yml b/.github/workflows/ci-docker.yml index 39cf1b5db..6991a3051 100644 --- a/.github/workflows/ci-docker.yml +++ b/.github/workflows/ci-docker.yml @@ -41,7 +41,7 @@ jobs: ref-name: ${{ steps.ref.outputs.name }} steps: - name: Checkout - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Determine ref name @@ -106,9 +106,9 @@ jobs: echo "repository=${repo_name}" echo "name=${repo_name}" >> $GITHUB_OUTPUT - name: Set up Docker Buildx - uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4.1.0 + uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4.2.0 - name: Login to GitHub Container Registry - uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4.2.0 + uses: docker/login-action@abd2ef45e78c5afb21d64d4ca52ee8550d9572c7 # v4.5.1 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} @@ -121,7 +121,7 @@ jobs: sudo rm -rf "$AGENT_TOOLSDIRECTORY" - name: Docker metadata id: docker-meta - uses: docker/metadata-action@80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9 # v6.1.0 + uses: docker/metadata-action@dc802804100637a589fabce1cb79ff13a1411302 # v6.2.0 with: images: | ${{ env.REGISTRY }}/${{ steps.repo.outputs.name }} @@ -132,7 +132,7 @@ jobs: type=semver,pattern={{major}}.{{minor}} - name: Build and push by digest id: build - uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf # v7.2.0 + uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0 with: context: . file: ./Dockerfile @@ -182,29 +182,29 @@ jobs: echo "Downloaded digests:" ls -la /tmp/digests/ - name: Set up Docker Buildx - uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4.1.0 + uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4.2.0 - name: Login to GitHub Container Registry - uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4.2.0 + uses: docker/login-action@abd2ef45e78c5afb21d64d4ca52ee8550d9572c7 # v4.5.1 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Login to Docker Hub if: needs.build-arch.outputs.push-external == 'true' - uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4.2.0 + uses: docker/login-action@abd2ef45e78c5afb21d64d4ca52ee8550d9572c7 # v4.5.1 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Login to Quay.io if: needs.build-arch.outputs.push-external == 'true' - uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4.2.0 + uses: docker/login-action@abd2ef45e78c5afb21d64d4ca52ee8550d9572c7 # v4.5.1 with: registry: quay.io username: ${{ secrets.QUAY_USERNAME }} password: ${{ secrets.QUAY_ROBOT_TOKEN }} - name: Docker metadata id: docker-meta - uses: docker/metadata-action@80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9 # v6.1.0 + uses: docker/metadata-action@dc802804100637a589fabce1cb79ff13a1411302 # v6.2.0 with: images: | ${{ env.REGISTRY }}/${{ needs.build-arch.outputs.repository }} diff --git a/.github/workflows/ci-docs.yml b/.github/workflows/ci-docs.yml index 5bfa6f970..c09a745e8 100644 --- a/.github/workflows/ci-docs.yml +++ b/.github/workflows/ci-docs.yml @@ -21,7 +21,7 @@ jobs: docs_changed: ${{ steps.force.outputs.run_all == 'true' || steps.filter.outputs.docs == 'true' }} steps: - name: Checkout - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: fetch-depth: 0 persist-credentials: false @@ -50,7 +50,7 @@ jobs: - name: Detect changes id: filter if: steps.force.outputs.run_all != 'true' - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 + uses: dorny/paths-filter@7b450fff21473bca461d4b92ce414b9d0420d706 # v4.0.2 with: base: ${{ steps.range.outputs.base }} ref: ${{ steps.range.outputs.ref }} @@ -69,16 +69,16 @@ jobs: steps: - uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # v6.0.0 - name: Checkout - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Set up Python id: setup-python - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 + uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: python-version: ${{ env.DEFAULT_PYTHON_VERSION }} - name: Install uv - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 + uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0 with: version: ${{ env.DEFAULT_UV_VERSION }} enable-cache: true diff --git a/.github/workflows/ci-frontend.yml b/.github/workflows/ci-frontend.yml index 3a52d5c36..382cfde02 100644 --- a/.github/workflows/ci-frontend.yml +++ b/.github/workflows/ci-frontend.yml @@ -21,7 +21,7 @@ jobs: frontend_changed: ${{ steps.force.outputs.run_all == 'true' || steps.filter.outputs.frontend == 'true' }} steps: - name: Checkout - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: fetch-depth: 0 persist-credentials: false @@ -60,7 +60,7 @@ jobs: - name: Detect changes id: filter if: steps.force.outputs.run_all != 'true' - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 + uses: dorny/paths-filter@7b450fff21473bca461d4b92ce414b9d0420d706 # v4.0.2 with: base: ${{ steps.range.outputs.base }} ref: ${{ steps.range.outputs.ref }} @@ -77,7 +77,7 @@ jobs: contents: read steps: - name: Checkout - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Install pnpm @@ -85,7 +85,7 @@ jobs: with: version: 10 - name: Use Node.js 24 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 + uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: node-version: 24.x cache: 'pnpm' @@ -109,7 +109,7 @@ jobs: contents: read steps: - name: Checkout - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Install pnpm @@ -117,7 +117,7 @@ jobs: with: version: 10 - name: Use Node.js 24 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 + uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: node-version: 24.x cache: 'pnpm' @@ -148,7 +148,7 @@ jobs: shard-count: [4] steps: - name: Checkout - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Install pnpm @@ -156,7 +156,7 @@ jobs: with: version: 10 - name: Use Node.js 24 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 + uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: node-version: 24.x cache: 'pnpm' @@ -203,7 +203,7 @@ jobs: shard-count: [2] steps: - name: Checkout - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Install pnpm @@ -211,7 +211,7 @@ jobs: with: version: 10 - name: Use Node.js 24 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 + uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: node-version: 24.x cache: 'pnpm' @@ -239,7 +239,7 @@ jobs: contents: read steps: - name: Checkout - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: fetch-depth: 2 persist-credentials: false @@ -248,7 +248,7 @@ jobs: with: version: 10 - name: Use Node.js 24 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 + uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: node-version: 24.x cache: 'pnpm' diff --git a/.github/workflows/ci-lint.yml b/.github/workflows/ci-lint.yml index bfe823e09..879eed35a 100644 --- a/.github/workflows/ci-lint.yml +++ b/.github/workflows/ci-lint.yml @@ -17,12 +17,12 @@ jobs: runs-on: ubuntu-slim steps: - name: Checkout - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Install Python - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 + uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: python-version: "3.14" - name: Run prek - uses: j178/prek-action@bdca6f102f98e2b4c7029491a53dfd366469e33d # v2.0.4 + uses: j178/prek-action@5337cb91e0fa35a7ff31b9ca345126d8bbbcdf16 # v2.0.6 diff --git a/.github/workflows/ci-release.yml b/.github/workflows/ci-release.yml index ffb26c2e5..793b1da2f 100644 --- a/.github/workflows/ci-release.yml +++ b/.github/workflows/ci-release.yml @@ -20,7 +20,7 @@ jobs: statuses: read steps: - name: Wait for Docker build - uses: lewagon/wait-on-check-action@96d9100b431964d10e0136aff8b9ccb92470505e # v1.8.0 + uses: lewagon/wait-on-check-action@2271c86c146b96545b4e871b855e10ffa6f50773 # v1.9.0 with: ref: ${{ github.sha }} check-name: 'Merge and Push Manifest' @@ -35,7 +35,7 @@ jobs: contents: read steps: - name: Checkout - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false # ---- Frontend Build ---- @@ -44,7 +44,7 @@ jobs: with: version: 10 - name: Use Node.js 24 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 + uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: node-version: 24.x package-manager-cache: false @@ -55,11 +55,11 @@ jobs: # ---- Backend Setup ---- - name: Set up Python id: setup-python - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 + uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: python-version: ${{ env.DEFAULT_PYTHON_VERSION }} - name: Install uv - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 + uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0 with: version: ${{ env.DEFAULT_UV_VERSION }} enable-cache: false @@ -171,7 +171,7 @@ jobs: fi - name: Create release and changelog id: create-release - uses: release-drafter/release-drafter@4d75298e00d9e34c483e5ff8c68d0ea1c1940c1e # v7.5.1 + uses: release-drafter/release-drafter@eada3c96a64734dd381cfbda23511034e328ddb0 # v7.6.0 with: name: Paperless-ngx ${{ steps.get-version.outputs.version }} tag: ${{ steps.get-version.outputs.version }} @@ -202,17 +202,17 @@ jobs: pull-requests: write steps: - name: Checkout - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: ref: main persist-credentials: true # for pushing changelog branch - name: Set up Python id: setup-python - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 + uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: python-version: ${{ env.DEFAULT_PYTHON_VERSION }} - name: Install uv - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 + uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0 with: version: ${{ env.DEFAULT_UV_VERSION }} enable-cache: false diff --git a/.github/workflows/ci-static-analysis.yml b/.github/workflows/ci-static-analysis.yml index 395a71eb4..1bb4658c9 100644 --- a/.github/workflows/ci-static-analysis.yml +++ b/.github/workflows/ci-static-analysis.yml @@ -22,11 +22,11 @@ jobs: security-events: write steps: - name: Checkout - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Run zizmor - uses: zizmorcore/zizmor-action@192e21d79ab29983730a13d1382995c2307fbcaa # v0.5.7 + uses: zizmorcore/zizmor-action@6fc4b006235f201fdab3722e17240ab420d580e5 # v0.6.1 semgrep: name: Semgrep CE runs-on: ubuntu-24.04 @@ -38,13 +38,13 @@ jobs: security-events: write steps: - name: Checkout - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Run Semgrep run: semgrep scan --config auto --sarif-output results.sarif - name: Upload results to GitHub code scanning - uses: github/codeql-action/upload-sarif@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2 + uses: github/codeql-action/upload-sarif@e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81 # v4.37.3 if: always() with: sarif_file: results.sarif diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 639e7d609..76fe453c1 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -34,12 +34,12 @@ jobs: # Learn more about CodeQL language support at https://git.io/codeql-language-support steps: - name: Checkout repository - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2 + uses: github/codeql-action/init@e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81 # v4.37.3 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -47,4 +47,4 @@ jobs: # Prefix the list here with "+" to use these queries and those in the config file. # queries: ./path/to/local/query, your-org/your-repo/queries@main - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2 + uses: github/codeql-action/analyze@e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81 # v4.37.3 diff --git a/.github/workflows/crowdin.yml b/.github/workflows/crowdin.yml index 4cd03dd9a..55dc5bb85 100644 --- a/.github/workflows/crowdin.yml +++ b/.github/workflows/crowdin.yml @@ -17,12 +17,12 @@ jobs: environment: translation-sync steps: - name: Checkout - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: token: ${{ secrets.PNGX_BOT_PAT }} persist-credentials: false - name: crowdin action - uses: crowdin/github-action@52aa776766211d83d975df51f3b9c53c2f8ba35f # v2.16.3 + uses: crowdin/github-action@c7af9bc98b01694653031fef2a0dc6c7888ce9bc # v2.17.0 with: upload_translations: false download_translations: true diff --git a/.github/workflows/pr-bot.yml b/.github/workflows/pr-bot.yml index 43171f9ba..6223c6db8 100644 --- a/.github/workflows/pr-bot.yml +++ b/.github/workflows/pr-bot.yml @@ -31,7 +31,7 @@ jobs: steps: - name: Label PR by file path or branch name # see .github/labeler.yml for the labeler config - uses: actions/labeler@f27b608878404679385c85cfa523b85ccb86e213 # v6.1.0 + uses: actions/labeler@bf12e9b00b37c5c0ca2b87b79b2daf7891dbda13 # v7.0.0 with: repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Label by size diff --git a/.github/workflows/project-actions.yml b/.github/workflows/project-actions.yml index 6d251c71c..fb92063af 100644 --- a/.github/workflows/project-actions.yml +++ b/.github/workflows/project-actions.yml @@ -19,6 +19,6 @@ jobs: if: github.event_name == 'pull_request_target' && (github.event.action == 'opened' || github.event.action == 'reopened') && github.event.pull_request.user.login != 'dependabot' steps: - name: Label PR with release-drafter - uses: release-drafter/release-drafter@4d75298e00d9e34c483e5ff8c68d0ea1c1940c1e # v7.5.1 + uses: release-drafter/release-drafter@eada3c96a64734dd381cfbda23511034e328ddb0 # v7.6.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/repo-maintenance.yml b/.github/workflows/repo-maintenance.yml index ca5f97955..39ea80374 100644 --- a/.github/workflows/repo-maintenance.yml +++ b/.github/workflows/repo-maintenance.yml @@ -14,7 +14,7 @@ jobs: issues: write pull-requests: write steps: - - uses: actions/stale@eb5cf3af3ac0a1aa4c9c45633dd1ae542a27a899 # v10.3.0 + - uses: actions/stale@1e223db275d687790206a7acac4d1a11bd6fe629 # v10.4.0 with: days-before-stale: 7 days-before-close: 14 diff --git a/.github/workflows/translate-strings.yml b/.github/workflows/translate-strings.yml index 6002b1cd5..d87f4c4a1 100644 --- a/.github/workflows/translate-strings.yml +++ b/.github/workflows/translate-strings.yml @@ -14,7 +14,7 @@ jobs: contents: write steps: - name: Checkout code - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 env: GH_REF: ${{ github.ref }} # sonar rule:githubactions:S7630 - avoid injection with: @@ -23,13 +23,13 @@ jobs: persist-credentials: true # for pushing translation branch - name: Set up Python id: setup-python - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 + uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 - name: Install system dependencies run: | sudo apt-get update -qq sudo apt-get install -qq --no-install-recommends gettext - name: Install uv - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 + uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0 with: version: ${{ env.DEFAULT_UV_VERSION }} enable-cache: true @@ -47,7 +47,7 @@ jobs: with: version: 10 - name: Use Node.js 24 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 + uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: node-version: 24.x cache: 'pnpm' @@ -70,7 +70,7 @@ jobs: cd src-ui pnpm run ng extract-i18n - name: Commit changes - uses: stefanzweifel/git-auto-commit-action@04702edda442b2e678b25b537cec683a1493fcb9 # v7.1.0 + uses: stefanzweifel/git-auto-commit-action@4a55954c782fc1ea30b9056cd3e7a2b40ca8887d # v7.2.0 with: file_pattern: 'src-ui/messages.xlf src/locale/en_US/LC_MESSAGES/django.po' commit_message: "Auto translate strings" From b48c434266a6c1458f5c3f0ec3ebcc7bc9009608 Mon Sep 17 00:00:00 2001 From: Se1foo <158568413+Se1foo@users.noreply.github.com> Date: Sun, 2 Aug 2026 14:33:01 +0100 Subject: [PATCH 66/77] Fix: parse unpadded yyyy-mm-dd date input regardless of locale (#13501) --- .../src/app/utils/ngb-date-parser-formatter.spec.ts | 13 +++++++++++++ src-ui/src/app/utils/ngb-date-parser-formatter.ts | 10 +++------- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src-ui/src/app/utils/ngb-date-parser-formatter.spec.ts b/src-ui/src/app/utils/ngb-date-parser-formatter.spec.ts index 10f27d70b..79952c996 100644 --- a/src-ui/src/app/utils/ngb-date-parser-formatter.spec.ts +++ b/src-ui/src/app/utils/ngb-date-parser-formatter.spec.ts @@ -57,6 +57,19 @@ describe('LocalizedDateParserFormatter', () => { expect(val).toEqual({ day: 4, month: 5, year: 2023 }) }) + it('should parse yyyy-mm-dd input with unpadded month or day by locale', () => { + let val = dateParserFormatter.parse('2023-5-4') + expect(val).toEqual({ day: 4, month: 5, year: 2023 }) + + settingsService.setLanguage('de-de') // dd.mm.yyyy + val = dateParserFormatter.parse('2023-5-4') + expect(val).toEqual({ day: 4, month: 5, year: 2023 }) + + settingsService.setLanguage('tr-tr') // yyyy-mm-dd + val = dateParserFormatter.parse('2023-5-4') + expect(val).toEqual({ day: 4, month: 5, year: 2023 }) + }) + it('should parse date struct to string by locale', () => { const dateStruct = { day: 4, diff --git a/src-ui/src/app/utils/ngb-date-parser-formatter.ts b/src-ui/src/app/utils/ngb-date-parser-formatter.ts index 48806a80a..aab5c6734 100644 --- a/src-ui/src/app/utils/ngb-date-parser-formatter.ts +++ b/src-ui/src/app/utils/ngb-date-parser-formatter.ts @@ -52,15 +52,11 @@ export class LocalizedDateParserFormatter extends NgbDateParserFormatter { let segments = value.split(this.separatorRegExp) // always accept strict yyyy*mm*dd format even if that's not the input format since we can be certain its not yyyy*dd*mm - if ( - value.length == 10 && - segments.length == 3 && - segments[0].length == 4 - ) { + if (segments.length == 3 && segments[0].length == 4) { return inputFormat .replace('yyyy', segments[0]) - .replace('mm', segments[1]) - .replace('dd', segments[2]) + .replace('mm', segments[1].padStart(2, '0')) + .replace('dd', segments[2].padStart(2, '0')) } else { // otherwise pad & re-join without separator value = segments.map((segment) => segment.padStart(2, '0')).join('') From b67ac5a7d7479097454c71a232c0c70fe67751e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABtan=20GOUZI?= Date: Mon, 3 Aug 2026 15:33:48 +0200 Subject: [PATCH 67/77] Fix: crash filtering document link custom fields with an unset or unrelated field present (#13518) --- src/documents/filters.py | 6 ++- .../tests/test_api_filter_by_custom_fields.py | 51 +++++++++++++++++++ 2 files changed, 56 insertions(+), 1 deletion(-) diff --git a/src/documents/filters.py b/src/documents/filters.py index d5dac705c..b511d56de 100644 --- a/src/documents/filters.py +++ b/src/documents/filters.py @@ -725,9 +725,13 @@ class CustomFieldQueryParser: ) # First we look up reverse links from the requested documents. + # Scoped to this specific field (not just any document link field) and + # excluding unset instances, which have a null value_document_ids and + # are equivalent to having no reverse link at all. links = CustomFieldInstance.objects.filter( document_id__in=value, - field__data_type=CustomField.FieldDataType.DOCUMENTLINK, + field=custom_field, + value_document_ids__isnull=False, ) # Check if any of the requested IDs are missing. diff --git a/src/documents/tests/test_api_filter_by_custom_fields.py b/src/documents/tests/test_api_filter_by_custom_fields.py index 396b07b72..0c4f9f37c 100644 --- a/src/documents/tests/test_api_filter_by_custom_fields.py +++ b/src/documents/tests/test_api_filter_by_custom_fields.py @@ -8,6 +8,7 @@ from django.contrib.auth.models import User from rest_framework.test import APITestCase from documents.models import CustomField +from documents.models import CustomFieldInstance from documents.models import Document from documents.models import SavedView from documents.models import SavedViewFilterRule @@ -606,6 +607,56 @@ class TestCustomFieldsSearch(DirectoriesMixin, APITestCase): match_nothing_ok=True, ) + def test_document_link_contains_unset_reverse_link(self) -> None: + # Another edge case: the document in the value list has the same + # document link field attached, but it was never given a value + # (value_document_ids is None). This must be treated the same as + # having no reverse link at all, not raise a TypeError. + unset_document = self.documents[6] + CustomFieldInstance.objects.create( + document=unset_document, + field=self.custom_fields["documentlink_field"], + value_document_ids=None, + ) + self._assert_query_match_predicate( + ["documentlink_field", "contains", [unset_document.id]], + lambda document: ( + "documentlink_field" in document + and document["documentlink_field"] is not None + and set(document["documentlink_field"]) >= {unset_document.id} + ), + match_nothing_ok=True, + ) + + def test_document_link_contains_ignores_unrelated_document_link_field( + self, + ) -> None: + # A document referenced in the value list may have a *different* + # Document Link custom field attached with no value set. This must + # not be pulled into the reverse-link lookup for the field being + # queried, and must not crash. + unrelated_field = CustomField.objects.create( + name="unrelated_documentlink_field", + data_type=CustomField.FieldDataType.DOCUMENTLINK, + ) + # self.documents[0] is reciprocally linked from self.documents[35] + # (documentlink_field=[documents[0].id, documents[1].id, documents[2].id]). + target_document = self.documents[0] + CustomFieldInstance.objects.create( + document=target_document, + field=unrelated_field, + value_document_ids=None, + ) + + self._assert_query_match_predicate( + ["documentlink_field", "contains", [target_document.id]], + lambda document: ( + "documentlink_field" in document + and document["documentlink_field"] is not None + and set(document["documentlink_field"]) >= {target_document.id} + ), + ) + # ==========================================================# # Logical expressions # # ==========================================================# From 2a504259022d44b9b2530ded2386aa070263fa96 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 3 Aug 2026 13:35:25 +0000 Subject: [PATCH 68/77] Auto translate strings --- src/locale/en_US/LC_MESSAGES/django.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/locale/en_US/LC_MESSAGES/django.po b/src/locale/en_US/LC_MESSAGES/django.po index 72b1fd215..afae4ba8a 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-07-31 16:14+0000\n" +"POT-Creation-Date: 2026-08-03 13:34+0000\n" "PO-Revision-Date: 2022-02-17 04:17\n" "Last-Translator: \n" "Language-Team: English\n" @@ -49,11 +49,11 @@ msgstr "" msgid "{data_type} does not support query expr {expr!r}." msgstr "" -#: documents/filters.py:752 documents/models.py:136 +#: documents/filters.py:756 documents/models.py:136 msgid "Maximum nesting depth exceeded." msgstr "" -#: documents/filters.py:1094 +#: documents/filters.py:1098 msgid "Custom field not found" msgstr "" From 41d5d866372ec28e352e69cab306c13a63b1ae1a Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 3 Aug 2026 06:52:44 -0700 Subject: [PATCH 69/77] Fix: prevent duplicated text query with multiple date queries (#13522) --- .../filter-editor.component.spec.ts | 18 ++++++++++++++++++ .../filter-editor/filter-editor.component.ts | 19 +++++++------------ 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.spec.ts b/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.spec.ts index 1cf05b781..9fa7f7807 100644 --- a/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.spec.ts +++ b/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.spec.ts @@ -1697,6 +1697,24 @@ describe('FilterEditorComponent', () => { ]) }) + it('should carry over text filtering once with created and added relative dates', () => { + component.textFilter = 'foo' + const datesDropdown = fixture.debugElement.query( + By.directive(DatesDropdownComponent) + ) + component.dateCreatedRelativeDate = RelativeDate.WITHIN_1_WEEK + component.dateAddedRelativeDate = RelativeDate.WITHIN_1_MONTH + datesDropdown.triggerEventHandler('datesSet') + fixture.detectChanges() + tick(400) + expect(component.filterRules).toEqual([ + { + rule_type: FILTER_FULLTEXT_QUERY, + value: 'foo,created:[-1 week to now],added:[-1 month to now]', + }, + ]) + }) + it('should convert legacy title filters into full text query when adding a created relative date', () => { component.filterRules = [ { diff --git a/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.ts b/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.ts index d747002b2..537187597 100644 --- a/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.ts +++ b/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.ts @@ -1016,7 +1016,6 @@ export class FilterEditorComponent this.dateAddedRelativeDate !== null || this.dateCreatedRelativeDate !== null ) { - let queryArgs: Array = [] let existingRule = filterRules.find( (fr) => fr.rule_type == FILTER_FULLTEXT_QUERY ) @@ -1038,32 +1037,28 @@ export class FilterEditorComponent existingRule.rule_type = FILTER_FULLTEXT_QUERY } - let existingRuleArgs = existingRule?.value.split(',') + let queryArgs = existingRule?.value.split(',') ?? [] if (this.dateCreatedRelativeDate !== null) { const rd = RELATIVE_DATE_QUERYSTRINGS.find( (qS) => qS.relativeDate == this.dateCreatedRelativeDate ) + queryArgs = queryArgs.filter( + (arg) => !arg.match(RELATIVE_DATE_QUERY_REGEXP_CREATED) + ) queryArgs.push( `created:${rd.isRange ? `[${rd.dateQuery}]` : `"${rd.dateQuery}"`}` ) - if (existingRule) { - queryArgs = existingRuleArgs - .filter((arg) => !arg.match(RELATIVE_DATE_QUERY_REGEXP_CREATED)) - .concat(queryArgs) - } } if (this.dateAddedRelativeDate !== null) { const rd = RELATIVE_DATE_QUERYSTRINGS.find( (qS) => qS.relativeDate == this.dateAddedRelativeDate ) + queryArgs = queryArgs.filter( + (arg) => !arg.match(RELATIVE_DATE_QUERY_REGEXP_ADDED) + ) queryArgs.push( `added:${rd.isRange ? `[${rd.dateQuery}]` : `"${rd.dateQuery}"`}` ) - if (existingRule) { - queryArgs = existingRuleArgs - .filter((arg) => !arg.match(RELATIVE_DATE_QUERY_REGEXP_ADDED)) - .concat(queryArgs) - } } if (existingRule) { From 68bd8f8f63a6b9d12998fa89b057372c2a1e90ae Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 3 Aug 2026 07:31:04 -0700 Subject: [PATCH 70/77] Fix: Content-Disposition filename normalization (#13514) --- src/documents/tests/test_api_documents.py | 25 +++++++++++++++++++++++ src/documents/views.py | 2 ++ 2 files changed, 27 insertions(+) diff --git a/src/documents/tests/test_api_documents.py b/src/documents/tests/test_api_documents.py index edd9f3df3..1009ad311 100644 --- a/src/documents/tests/test_api_documents.py +++ b/src/documents/tests/test_api_documents.py @@ -472,6 +472,31 @@ class TestDocumentApi(DirectoriesMixin, ConsumeTaskMixin, APITestCase): self.assertIn("my_document.pdf", response["Content-Disposition"]) response.close() + @override_settings(FILENAME_FORMAT="") + def test_download_filename_normalization_does_not_inject_parameters( + self, + ) -> None: + doc = Document.objects.create( + title="file.doc\uff02; x=\uff02\uff3c", + created=date(2020, 1, 2), + filename="source.pdf", + mime_type="application/pdf", + ) + Path(doc.source_path).write_bytes(b"This is a test") + + response = self.client.get( + f"/api/documents/{doc.pk}/download/?original=true", + ) + + self.assertEqual(response.status_code, status.HTTP_200_OK) + self.assertEqual( + response["Content-Disposition"], + "attachment; " + 'filename="2020-01-02 file.doc_; x=__.pdf"; ' + "filename*=utf-8''2020-01-02%20file.doc%EF%BC%82%3B%20x%3D%EF%BC%82%EF%BC%BC.pdf", + ) + response.close() + def test_document_actions_not_existing_file(self) -> None: doc = Document.objects.create( title="none", diff --git a/src/documents/views.py b/src/documents/views.py index 3d6018d43..405913f95 100644 --- a/src/documents/views.py +++ b/src/documents/views.py @@ -4708,6 +4708,8 @@ def serve_file( "ignore", ) .decode("ascii") + .replace("\\", "_") + .replace('"', "_") ) filename_encoded = quote(filename) content_disposition = ( From cfa1d3b058157a60f71cb1286099e5d0c55f0891 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 3 Aug 2026 08:03:03 -0700 Subject: [PATCH 71/77] Fix: correct multi-search non-adjacent queries (#13504) --- src/documents/search/_query.py | 78 +++++++++++++++------- src/documents/tests/search/test_backend.py | 68 ++++++++++++++++--- 2 files changed, 110 insertions(+), 36 deletions(-) diff --git a/src/documents/search/_query.py b/src/documents/search/_query.py index c45e37f80..3584767bc 100644 --- a/src/documents/search/_query.py +++ b/src/documents/search/_query.py @@ -139,31 +139,38 @@ def _simple_query_tokens(raw_query: str) -> list[str]: return simple_search_tokens(raw_query) -def _build_simple_field_query( +def _build_simple_token_query( index: tantivy.Index, - field: str, - tokens: list[str], + fields: list[str], + token: str, + *, + allow_infix: bool, ) -> tantivy.Query: - patterns = [] - for idx, token in enumerate(tokens): - escaped = regex.escape(token) - # For multi-token substring search, only the first token can begin mid-word. - # Later tokens follow a whitespace boundary in the original query, so anchor - # them to the start of the next indexed token to reduce false positives like - # matching "Z-Berichte 16" for the query "Z-Berichte 6". - if idx == 0: - patterns.append(f".*{escaped}.*") - else: - patterns.append(f"{escaped}.*") - if len(patterns) == 1: - query = tantivy.Query.regex_query(index.schema, field, patterns[0]) - else: - query = tantivy.Query.regex_phrase_query(index.schema, field, patterns) + escaped = regex.escape(token) + # The simple analyzer keeps punctuation inside whitespace-delimited terms. + # Boundary-constrained query tokens may therefore begin either at the indexed + # term boundary or after punctuation within a term (for example, + # ``medical-history``). This avoids matching a numeric token such as ``6`` + # in the middle of ``16``. + pattern = ( + f".*{escaped}.*" + if allow_infix + else ( + f"({escaped}.*|" + rf".*[\x20-\x2f\x3a-\x40\x5b-\x60\x7b-\x7e]{escaped}.*)" + ) + ) + field_queries: list[tuple[tantivy.Occur, tantivy.Query]] = [] + for field in fields: + query = tantivy.Query.regex_query(index.schema, field, pattern) + boost = _SIMPLE_FIELD_BOOSTS.get(field, 1.0) + if boost > 1.0: + query = tantivy.Query.boost_query(query, boost) + field_queries.append((tantivy.Occur.Should, query)) - boost = _SIMPLE_FIELD_BOOSTS.get(field, 1.0) - if boost > 1.0: - return tantivy.Query.boost_query(query, boost) - return query + if len(field_queries) == 1: + return field_queries[0][1] + return tantivy.Query.boolean_query(field_queries) def parse_user_query( @@ -265,10 +272,31 @@ def parse_simple_query( clauses: list[tuple[tantivy.Occur, tantivy.Query]] = [] if tokens: - clauses = [ - (tantivy.Occur.Should, _build_simple_field_query(index, field, tokens)) - for field in fields + # Match every query token, regardless of its position in the document. + # Each token may occur in any of the requested fields, so text mode also + # finds documents whose matches are split between title and content. + token_queries = [ + ( + tantivy.Occur.Must, + _build_simple_token_query( + index, + fields, + token, + # Preserve historical infix matching for single-token + # searches. In multi-token searches, constrain numeric + # tokens to boundaries to avoid partial-number overlap. + # This depends on token content, not query order. + allow_infix=len(tokens) == 1 or not token.isdecimal(), + ), + ) + for token in tokens ] + simple_query = ( + token_queries[0][1] + if len(token_queries) == 1 + else tantivy.Query.boolean_query(token_queries) + ) + clauses.append((tantivy.Occur.Should, simple_query)) if cjk_fields and _has_cjk(raw_query): cjk_q = _build_cjk_query(index, raw_query, cjk_fields) diff --git a/src/documents/tests/search/test_backend.py b/src/documents/tests/search/test_backend.py index e31708506..8615dc0ee 100644 --- a/src/documents/tests/search/test_backend.py +++ b/src/documents/tests/search/test_backend.py @@ -163,10 +163,55 @@ class TestSearch: assert ( len(backend.search_ids("sswo", user=None, search_mode=SearchMode.TEXT)) == 1 ) - assert ( - len(backend.search_ids("sswo re", user=None, search_mode=SearchMode.TEXT)) - == 1 + for query in ["sswo re", "re sswo"]: + assert ( + len(backend.search_ids(query, user=None, search_mode=SearchMode.TEXT)) + == 1 + ), query + + def test_text_mode_matches_all_terms_without_requiring_adjacency( + self, + backend: TantivyBackend, + ) -> None: + """Simple text mode should match all terms in any order or field.""" + doc = Document.objects.create( + title="complete-medical-history", + content="Samsung Odyssey curved monitor", + checksum="TXT13", + pk=19, ) + backend.add_or_update(doc) + + for query in [ + "complete history", + "history complete", + "Samsung curved", + "curved Samsung", + ]: + assert backend.search_ids( + query, + user=None, + search_mode=SearchMode.TEXT, + ) == [doc.pk], query + + def test_text_mode_matches_terms_across_title_and_content( + self, + backend: TantivyBackend, + ) -> None: + """Each simple-search term may match either title or content.""" + doc = Document.objects.create( + title="Complete record", + content="Patient history", + checksum="TXT14", + pk=20, + ) + backend.add_or_update(doc) + + assert backend.search_ids( + "complete history", + user=None, + search_mode=SearchMode.TEXT, + ) == [doc.pk] def test_text_mode_does_not_match_on_partial_term_overlap( self, @@ -186,11 +231,11 @@ class TestSearch: == 0 ) - def test_text_mode_anchors_later_query_tokens_to_token_starts( + def test_text_mode_anchors_numeric_tokens_regardless_of_query_order( self, backend: TantivyBackend, ) -> None: - """Multi-token simple search should not match later tokens in the middle of a word.""" + """Numeric tokens must not match in the middle of a larger number.""" exact_doc = Document.objects.create( title="Z-Berichte 6", content="monthly report", @@ -213,13 +258,14 @@ class TestSearch: backend.add_or_update(prefix_doc) backend.add_or_update(false_positive) - result_ids = set( - backend.search_ids("Z-Berichte 6", user=None, search_mode=SearchMode.TEXT), - ) + for query in ["Z-Berichte 6", "6 Z-Berichte"]: + result_ids = set( + backend.search_ids(query, user=None, search_mode=SearchMode.TEXT), + ) - assert exact_doc.id in result_ids - assert prefix_doc.id in result_ids - assert false_positive.id not in result_ids + assert exact_doc.id in result_ids, query + assert prefix_doc.id in result_ids, query + assert false_positive.id not in result_ids, query def test_text_mode_ignores_queries_without_searchable_tokens( self, From 23c11f49d0000541c2d04be489736a385bc497bc Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Mon, 3 Aug 2026 09:55:12 -0700 Subject: [PATCH 72/77] Fix: don't re-queue a consume-folder file that is already queued and awaiting consumption (#13526) --- .../management/commands/document_consumer.py | 12 +++++++ .../tests/test_management_consumer.py | 35 +++++++++++++++++++ 2 files changed, 47 insertions(+) diff --git a/src/documents/management/commands/document_consumer.py b/src/documents/management/commands/document_consumer.py index 2e6b414d9..7e3900842 100644 --- a/src/documents/management/commands/document_consumer.py +++ b/src/documents/management/commands/document_consumer.py @@ -632,8 +632,20 @@ class Command(BaseCommand): # Process each change for change_type, path in changes: path = Path(path).resolve() + if change_type == Change.deleted: + # Consumed (or otherwise removed); a later file + # reusing this name must not be skipped as + # already-queued. + queued.discard(path) if not path.is_file(): continue + if path in queued: + # Already queued and awaiting consumption; a stray + # event (NAS metadata touch, AV scan, etc.) while + # the file sits on disk mid-consumption must not + # cause it to be queued a second time (GH #13511). + logger.debug(f"Ignoring event for queued file: {path}") + continue logger.debug(f"Event: {change_type.name} for {path}") tracker.track(path, change_type) diff --git a/src/documents/tests/test_management_consumer.py b/src/documents/tests/test_management_consumer.py index a5f8fb350..3efe4490e 100644 --- a/src/documents/tests/test_management_consumer.py +++ b/src/documents/tests/test_management_consumer.py @@ -880,6 +880,41 @@ class TestCommandWatch: ] assert call_args.original_file.name == "valid.pdf" + def test_ignores_event_for_already_queued_file( + self, + consumption_dir: Path, + sample_pdf: Path, + mock_consume_file_delay: MagicMock, + start_consumer: Callable[..., ConsumerThread], + ) -> None: + """ + A stray filesystem event (NAS metadata touch, AV scan, etc.) on a + file that has already been queued and is awaiting consumption must + not cause it to be queued a second time (GH #13511). The task is + mocked, so the file is never removed from disk, mirroring a + long-running OCR job still holding it. + """ + thread = start_consumer() + + target = consumption_dir / "document.pdf" + shutil.copy(sample_pdf, target) + + wait_for_mock_call(mock_consume_file_delay.apply_async, timeout_s=2.0) + + if thread.exception: + raise thread.exception + + assert mock_consume_file_delay.apply_async.call_count == 1 + + # Simulate a stray event on the still-present, already-queued file. + target.touch() + sleep(0.5) + + if thread.exception: + raise thread.exception + + assert mock_consume_file_delay.apply_async.call_count == 1 + @pytest.mark.django_db @pytest.mark.usefixtures("mock_supported_extensions") def test_stop_flag_stops_consumer( From dd99c2289d5f8c74c4bdb1ddd91908c29fcc22b1 Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Mon, 3 Aug 2026 14:00:04 -0700 Subject: [PATCH 73/77] Chore: ruff 0.16 upgrade (#13531) --- .pre-commit-config.yaml | 2 +- pyproject.toml | 3 +- src/documents/matching.py | 9 +++-- src/documents/tests/search/test_translate.py | 8 +++-- src/documents/tests/test_filters.py | 2 +- uv.lock | 36 ++++++++++---------- 6 files changed, 31 insertions(+), 29 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d50f8cebb..f037160ec 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -50,7 +50,7 @@ repos: - 'prettier-plugin-organize-imports@4.3.0' # Python hooks - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.15.20 + rev: v0.16.1 hooks: - id: ruff-check - id: ruff-format diff --git a/pyproject.toml b/pyproject.toml index 1122e53ae..ee50f9294 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -105,7 +105,7 @@ docs = [ ] lint = [ "prek~=0.3.10", - "ruff~=0.15.20", + "ruff~=0.16.1", ] testing = [ "daphne", @@ -183,6 +183,7 @@ output-format = "grouped" line-ending = "lf" [tool.ruff.lint] # https://docs.astral.sh/ruff/rules/ +select = [ "E4", "E7", "E9", "F" ] extend-select = [ "COM", # https://docs.astral.sh/ruff/rules/#flake8-commas-com "DJ", # https://docs.astral.sh/ruff/rules/#flake8-django-dj diff --git a/src/documents/matching.py b/src/documents/matching.py index e023adae7..af0d2d831 100644 --- a/src/documents/matching.py +++ b/src/documents/matching.py @@ -300,7 +300,7 @@ def consumable_document_matches_workflow( ]: reason = ( f"Document source {document.source.name} not in" - f" {[DocumentSource(int(x)).name for x in trigger.sources]}", + f" {[DocumentSource(int(x)).name for x in trigger.sources]}" ) trigger_matched = False @@ -310,8 +310,7 @@ def consumable_document_matches_workflow( and document.mailrule_id != trigger.filter_mailrule.pk ): reason = ( - f"Document mail rule {document.mailrule_id}" - f" != {trigger.filter_mailrule.pk}", + f"Document mail rule {document.mailrule_id} != {trigger.filter_mailrule.pk}" ) trigger_matched = False @@ -326,7 +325,7 @@ def consumable_document_matches_workflow( ): reason = ( f"Document filename {document.original_file.name} does not match" - f" {trigger.filter_filename.lower()}", + f" {trigger.filter_filename.lower()}" ) trigger_matched = False @@ -349,7 +348,7 @@ def consumable_document_matches_workflow( ): reason = ( f"Document path {document.original_file}" - f" does not match {trigger.filter_path}", + f" does not match {trigger.filter_path}" ) trigger_matched = False diff --git a/src/documents/tests/search/test_translate.py b/src/documents/tests/search/test_translate.py index e319564d1..25e5bc774 100644 --- a/src/documents/tests/search/test_translate.py +++ b/src/documents/tests/search/test_translate.py @@ -341,9 +341,11 @@ class TestTranslateQuery: ("tag:foo,type:bar", "tag:foo AND document_type:bar"), ( "created:[2020 TO 2021],added:[2022 TO 2023]", - "created:[2020-01-01T00:00:00Z TO 2022-01-01T00:00:00Z}" - " AND " - "added:[2022-01-01T00:00:00Z TO 2024-01-01T00:00:00Z}", + ( + "created:[2020-01-01T00:00:00Z TO 2022-01-01T00:00:00Z}" + " AND " + "added:[2022-01-01T00:00:00Z TO 2024-01-01T00:00:00Z}" + ), ), # correspondent is not multi-value: comma stays literal inside the value ("correspondent:foo,bar", "correspondent:foo,bar"), diff --git a/src/documents/tests/test_filters.py b/src/documents/tests/test_filters.py index 3e05c6ecd..a7ecbf1ce 100644 --- a/src/documents/tests/test_filters.py +++ b/src/documents/tests/test_filters.py @@ -160,7 +160,7 @@ class TestDateLocalization: ) def test_localize_date_raises_type_error_for_invalid_input( self, - invalid_value: None | list[object] | dict[Any, Any] | Literal[1698330605], + invalid_value: list[object] | dict[Any, Any] | Literal[1698330605] | None, ) -> None: with pytest.raises(TypeError) as excinfo: localize_date(invalid_value, "medium", "en_US") diff --git a/uv.lock b/uv.lock index 01309fdb8..bdb5a8181 100644 --- a/uv.lock +++ b/uv.lock @@ -3121,14 +3121,14 @@ dev = [ { name = "pytest-rerunfailures", specifier = "~=16.1" }, { name = "pytest-sugar" }, { name = "pytest-xdist", specifier = "~=3.8.0" }, - { name = "ruff", specifier = "~=0.15.20" }, + { name = "ruff", specifier = "~=0.16.1" }, { name = "time-machine", specifier = ">=2.13" }, { name = "zensical", specifier = ">=0.0.47" }, ] docs = [{ name = "zensical", specifier = ">=0.0.47" }] lint = [ { name = "prek", specifier = "~=0.3.10" }, - { name = "ruff", specifier = "~=0.15.20" }, + { name = "ruff", specifier = "~=0.16.1" }, ] testing = [ { name = "daphne" }, @@ -4383,24 +4383,24 @@ wheels = [ [[package]] name = "ruff" -version = "0.15.20" +version = "0.16.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/43/dc/35b341fc554ba02f217fc10da57d1a75168cfbcf75b0ef2202176d4c4f2d/ruff-0.15.20.tar.gz", hash = "sha256:1416eb04349192646b54de98f146c4f59afe37d0decfc02c3cbbf396f3a28566", size = 4755489, upload-time = "2026-06-25T17:20:37.578Z" } +sdist = { url = "https://files.pythonhosted.org/packages/70/25/7113f6d5498888c5fb7db34081cba7d5971c4cb1bfb26819966eee68f003/ruff-0.16.1.tar.gz", hash = "sha256:fedad7c801dabd3fb9741d76aca39246e6ddd9ca446a015875207bf19f1e6bc7", size = 4877500, upload-time = "2026-07-30T19:37:01.379Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/94/d9/2d5014f0253ba541d2061d9fa7193f48e941c8b21bb88a7ff9bbe0bd0596/ruff-0.15.20-py3-none-linux_armv6l.whl", hash = "sha256:00e188c53e499c3c1637f73c91dcf2fb56d576cab76ce1be50a27c4e80e37078", size = 10839665, upload-time = "2026-06-25T17:19:44.702Z" }, - { url = "https://files.pythonhosted.org/packages/c6/d3/ac1798ba64f670698867fcfc591d50e7e421bef137db564858f619a30fcf/ruff-0.15.20-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:9ebd1fd9b9c95fc0bd7b2761aebec1f030013d2e193a2901b224af68fe47251b", size = 11208649, upload-time = "2026-06-25T17:19:48.787Z" }, - { url = "https://files.pythonhosted.org/packages/47/47/d3ac899991202095dfcf3d5176be4272642be3cf981a2f1a30f72a2afb95/ruff-0.15.20-py3-none-macosx_11_0_arm64.whl", hash = "sha256:c5b16cdd67ca108185cd36dce98c576350c03b1660a751de725fb049193a0632", size = 10622638, upload-time = "2026-06-25T17:19:51.354Z" }, - { url = "https://files.pythonhosted.org/packages/33/13/4e043fe30aa94d4ff5213a9881fc296d12960f5971b234a5263fdc225312/ruff-0.15.20-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3413bb3c3d2ca6a8208f1f4809cd2dca3c6de6d0b491c0e70847672bde6e6efd", size = 10984227, upload-time = "2026-06-25T17:19:54.044Z" }, - { url = "https://files.pythonhosted.org/packages/76/e6/92e7bf40388bc5800073b96564f56264f7e48bfd1a498f5ced6ae6d5a769/ruff-0.15.20-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bd7ec42b3bb3da066488db093308a69c4ac5ee6d2af333a86ba6e2eb2e7dd44b", size = 10622882, upload-time = "2026-06-25T17:19:57.037Z" }, - { url = "https://files.pythonhosted.org/packages/13/7a/43460be3f24495a3aa46d4b16873e2c4941b3b5f0b00cf88c03b7b94b339/ruff-0.15.20-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1a36ad0eb77fba9aabfb69ede54de6f376d04ac18ebea022847046d340a8267", size = 11474808, upload-time = "2026-06-25T17:20:00.357Z" }, - { url = "https://files.pythonhosted.org/packages/27/a0/f37077884873221c6b33b4ab49eb18f9f88e54a16a25a5bca59bef46dd66/ruff-0.15.20-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b6df3b1e4610432f0386dba04d853b5f08cbbc903410c6fcc02f620f05aff53c", size = 12293094, upload-time = "2026-06-25T17:20:03.446Z" }, - { url = "https://files.pythonhosted.org/packages/a6/74/165545b60256a9704c21ac0ec4a0d07933b320812f9584836c9f4aca4292/ruff-0.15.20-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e89f198a1ea6ef0d727c1cf16088bc91a6cb0ab947dedc966715691647186eae", size = 11526176, upload-time = "2026-06-25T17:20:06.301Z" }, - { url = "https://files.pythonhosted.org/packages/86/b1/a976a136d40ade83ce743578399865f57001003a409acadc0ecbb3051082/ruff-0.15.20-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:309809086c2acb67624950a3c8133e80f32d0d3e27106c0cd60ff26657c9f24b", size = 11520767, upload-time = "2026-06-25T17:20:09.191Z" }, - { url = "https://files.pythonhosted.org/packages/19/0f/f032696cb01c9b54c0263fa393474d7758f1cdc021a01b04e3cbc2500999/ruff-0.15.20-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:2d2374caa2f2c2f9e2b7da0a50802cfb8b79f55a9b5e49379f564544fbf56487", size = 11500132, upload-time = "2026-06-25T17:20:13.602Z" }, - { url = "https://files.pythonhosted.org/packages/4b/f4/51b1a14bc69e8c224b15dab9cce8e99b425e0455d462caa2b3c9be2b6a8e/ruff-0.15.20-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:a1ed17b65293e0c2f22fc387bc13198a5de94bf4429589b0ff6946b0feaf21a3", size = 10943828, upload-time = "2026-06-25T17:20:16.635Z" }, - { url = "https://files.pythonhosted.org/packages/71/4b/fe267640783cd02bf6c5cc290b1df1051be2ec294c678b5c15fe19e52343/ruff-0.15.20-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:f701305e66b38ea6c91882490eb73459796808e4c6362a1b765255e0cdcd4053", size = 10645418, upload-time = "2026-06-25T17:20:19.4Z" }, - { url = "https://files.pythonhosted.org/packages/b0/c0/a65aa4ec2f5e87a1df32dc3ec1fede434fe3dfd5cbcf3b503cafc676ab54/ruff-0.15.20-py3-none-musllinux_1_2_i686.whl", hash = "sha256:5b9c0c367ad8e5d0d5b5b8537864c469a0a0e55417aadfbeca41fa61333be9f4", size = 11211770, upload-time = "2026-06-25T17:20:22.033Z" }, - { url = "https://files.pythonhosted.org/packages/5a/a4/0caa331d954ae2723d729d351c989cb4ca8b6077d5c6c2cb6de75e98c041/ruff-0.15.20-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:01cc00dd58f0df339d0e902219dd53990ea99996a0344e5d9cc8d45d5307e460", size = 11618698, upload-time = "2026-06-25T17:20:25.259Z" }, + { url = "https://files.pythonhosted.org/packages/1b/bd/694da69368e0973de65df2ddc73ab18d43c469d5963d9b150911de6bc513/ruff-0.16.1-py3-none-linux_armv6l.whl", hash = "sha256:58edb313b88f0c5460a26adf5f39a37a3be789494a15e3e411e35fa78b89f9a0", size = 10839126, upload-time = "2026-07-30T19:36:13.697Z" }, + { url = "https://files.pythonhosted.org/packages/3f/f0/b626e5d5bd0dd9576263658ef12885e2288afd1029a48e26ffed65ec1ac1/ruff-0.16.1-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:fde5a99e2f97479af66edd6622c6d5a2a7592c77cf4153d9e4428f5eeb55b60c", size = 11070253, upload-time = "2026-07-30T19:36:17.14Z" }, + { url = "https://files.pythonhosted.org/packages/83/63/f40acfb6b35b88623e71684942b552c3edd96035f5d98f313815f7b277de/ruff-0.16.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:e0d4c20532fca4f7fa609369161d968dd28f65d83dabbd61d8e9c7edbf7001f6", size = 10561425, upload-time = "2026-07-30T19:36:20.04Z" }, + { url = "https://files.pythonhosted.org/packages/aa/dd/14ec0e9c2b4d315547dd38765004b4863e354e1b52cb308272215d9f6f6d/ruff-0.16.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:30affbcedf59ad5703d9c91f82266e02b47739f797e1a7b6e158e5526a6dae38", size = 10948879, upload-time = "2026-07-30T19:36:22.476Z" }, + { url = "https://files.pythonhosted.org/packages/33/e9/9d870cbae575030fdef595f04b4b97573c525b5497cce4f4498cf2f85446/ruff-0.16.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:24e9c631573cbca9d20f1283f8f479b2afa4a8503504822bd71a293889f16743", size = 10643691, upload-time = "2026-07-30T19:36:24.914Z" }, + { url = "https://files.pythonhosted.org/packages/c4/09/12743d544e2173f53ecd27217c65f90d2bc0f8424a66a60339e56bbc0457/ruff-0.16.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b41bdd48fb420987a9b5212e4957c26ad4abce401fa9ea9d4d85843727945f4f", size = 11435354, upload-time = "2026-07-30T19:36:28.447Z" }, + { url = "https://files.pythonhosted.org/packages/7f/89/a1652b2daee52083c9554a6333b678a8b01d0400f976827bb87857f9449a/ruff-0.16.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b0d1e1393b7648079e13669de1c1f4fde06d4583e84d8fd5c1551e0a77a2aa75", size = 12259033, upload-time = "2026-07-30T19:36:31.326Z" }, + { url = "https://files.pythonhosted.org/packages/16/96/ecdcb8c54ee7b123b487f807eb014e6e019155a0b81dfb669acd52f28ce3/ruff-0.16.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:07bf434b1c95f4e093be4532068ef4fcf00924eb2ade8796075980902d6fd54a", size = 11667981, upload-time = "2026-07-30T19:36:34.394Z" }, + { url = "https://files.pythonhosted.org/packages/cd/90/c52e12e0d862e9572f2a33aa227409143520abe53111e9a6babbac7b4af8/ruff-0.16.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39897739f112253ee4fdd2e8aa9a4f9ded99fb2be367d5f31dfa4ded6025584c", size = 11468183, upload-time = "2026-07-30T19:36:37.339Z" }, + { url = "https://files.pythonhosted.org/packages/2c/6b/4ffb7ad1d83eb16cf8cbb3c8815d3f11c88460fd162d4b372a2059be1c2a/ruff-0.16.1-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:82ae3c0c0d74daf17b968a10b7b3bb3ef297ab7de0c1f749646b25e690ccb150", size = 11470071, upload-time = "2026-07-30T19:36:39.91Z" }, + { url = "https://files.pythonhosted.org/packages/9c/72/32ae7db4c0b5e32ab611787caa19d1546800676d79f7483b7100a3561bf4/ruff-0.16.1-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:4d5f2ed10f8242d83fc08d521301089364e3375375705356f20c0e31606ef3ef", size = 10919503, upload-time = "2026-07-30T19:36:42.65Z" }, + { url = "https://files.pythonhosted.org/packages/f7/ca/3d901ba6ad6fc38da39c3448fc6c59ac945679293a17c3ceb6d6c1cba13e/ruff-0.16.1-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:a4665b309891f83f3e3c25447935f1213e9abbd4b5640af7a1f2def9f8d413c1", size = 10649861, upload-time = "2026-07-30T19:36:45.18Z" }, + { url = "https://files.pythonhosted.org/packages/92/79/894ef1ced26552d5f8c9cf6d85b0687840e1128c55aeab7b9c2d54a0d880/ruff-0.16.1-py3-none-musllinux_1_2_i686.whl", hash = "sha256:26e9ca5c9bc3971f20d3cf18a957f52ffd6a5f6564ff15c4912a144dcac22494", size = 11148137, upload-time = "2026-07-30T19:36:47.936Z" }, + { url = "https://files.pythonhosted.org/packages/2d/69/3609a09fa1cb46cc28b762363e440a354204e5dff01bd0c8d7437874d6b9/ruff-0.16.1-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:67e1e1e3fa4f0c82f0e36d4cd61e661f6e7a6196cb1aa92fe0828fa7b8f257cd", size = 11559211, upload-time = "2026-07-30T19:36:50.448Z" }, ] [[package]] From 0ca5c66ca730e4d154d821287aa1ddf25d45991e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Aug 2026 14:19:45 -0700 Subject: [PATCH 74/77] Chore(deps): Bump the pre-commit-dependencies group across 1 directory with 4 updates (#13532) Bumps the pre-commit-dependencies group with 4 updates in the / directory: [https://github.com/codespell-project/codespell](https://github.com/codespell-project/codespell), [https://github.com/rbubley/mirrors-prettier](https://github.com/rbubley/mirrors-prettier), prettier and [https://github.com/tox-dev/pyproject-fmt](https://github.com/tox-dev/pyproject-fmt). Updates `https://github.com/codespell-project/codespell` from v2.4.2 to 2.4.3 - [Release notes](https://github.com/codespell-project/codespell/releases) - [Commits](https://github.com/codespell-project/codespell/compare/v2.4.2...v2.4.3) Updates `https://github.com/rbubley/mirrors-prettier` from v3.9.4 to 3.9.6 - [Commits](https://github.com/rbubley/mirrors-prettier/compare/v3.9.4...v3.9.6) Updates `prettier` from 3.9.4 to 3.9.6 Updates `https://github.com/tox-dev/pyproject-fmt` from v2.25.1 to 2.26.0 - [Release notes](https://github.com/tox-dev/pyproject-fmt/releases) - [Commits](https://github.com/tox-dev/pyproject-fmt/compare/v2.25.1...v2.26.0) --- updated-dependencies: - dependency-name: https://github.com/codespell-project/codespell dependency-version: 2.4.3 dependency-type: direct:production dependency-group: pre-commit-dependencies - dependency-name: https://github.com/rbubley/mirrors-prettier dependency-version: 3.9.6 dependency-type: direct:production dependency-group: pre-commit-dependencies - dependency-name: prettier dependency-version: 3.9.6 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: pre-commit-dependencies - dependency-name: https://github.com/tox-dev/pyproject-fmt dependency-version: 2.26.0 dependency-type: direct:production dependency-group: pre-commit-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f037160ec..a54d013e7 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -29,7 +29,7 @@ repos: - id: check-case-conflict - id: detect-private-key - repo: https://github.com/codespell-project/codespell - rev: v2.4.2 + rev: v2.4.3 hooks: - id: codespell additional_dependencies: [tomli] @@ -38,7 +38,7 @@ repos: - json # See https://github.com/prettier/prettier/issues/15742 for the fork reason - repo: https://github.com/rbubley/mirrors-prettier - rev: 'v3.9.4' + rev: 'v3.9.6' hooks: - id: prettier types_or: @@ -46,7 +46,7 @@ repos: - ts - markdown additional_dependencies: - - prettier@3.9.4 + - prettier@3.9.6 - 'prettier-plugin-organize-imports@4.3.0' # Python hooks - repo: https://github.com/astral-sh/ruff-pre-commit @@ -55,7 +55,7 @@ repos: - id: ruff-check - id: ruff-format - repo: https://github.com/tox-dev/pyproject-fmt - rev: "v2.25.1" + rev: "v2.26.0" hooks: - id: pyproject-fmt additional_dependencies: [tomli] From 30f11814ffdbfe38161973459ab160542a5b6642 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Aug 2026 22:06:39 +0000 Subject: [PATCH 75/77] Chore(deps-dev): Bump postcss (#13534) Bumps the npm_and_yarn group with 1 update in the /src/paperless_mail/templates directory: [postcss](https://github.com/postcss/postcss). Updates `postcss` from 8.5.22 to 8.5.25 - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/8.5.22...8.5.25) --- updated-dependencies: - dependency-name: postcss dependency-version: 8.5.25 dependency-type: indirect dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/paperless_mail/templates/package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/paperless_mail/templates/package-lock.json b/src/paperless_mail/templates/package-lock.json index 514ace40f..b0e5e5a8a 100644 --- a/src/paperless_mail/templates/package-lock.json +++ b/src/paperless_mail/templates/package-lock.json @@ -566,9 +566,9 @@ } }, "node_modules/postcss": { - "version": "8.5.22", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.22.tgz", - "integrity": "sha512-KBDEIpLrvpv16pp3K0Fw+UCoZfopFjjgeB+0tA/aaThfEE74kKDLrgg603YvOWJyg3+WYtyq3xYsQWsIyZlPqQ==", + "version": "8.5.25", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.25.tgz", + "integrity": "sha512-DTPx3RWSSnWyzLxQnlH0rJP+EW5ekl16ZU4/psbIhA0e53kJfdgaN5vKM+xP7yJtXVu+nfdVFmlgFDEKAe4Pyw==", "dev": true, "funding": [ { From 991d99bb7cbadb969d6bfaa071eca55c8e2a5c35 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 3 Aug 2026 15:06:55 -0700 Subject: [PATCH 76/77] Fix: hide sidebar drag grips with insufficient permissions (#13536) --- src-ui/src/app/components/app-frame/app-frame.component.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 9f8f6fd8d..eda565eac 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 @@ -104,7 +104,7 @@