Compare commits

...
Author SHA1 Message Date
Crowdin Bot cfd5869f82 New Crowdin translations by GitHub Action 2026-08-08 14:30:06 +00:00
GitHub Actions b0e0e8a353 Auto translate strings 2026-08-08 14:29:01 +00:00
fc242bb570 Performance: unify permission-filtering backends, fixes Correspondent/Tag list slowness (#13601)
* feat: add unified PermittedObjectsFilter backed by permitted_object_ids

* refactor: migrate all ViewSets to unified PermittedObjectsFilter

Replace the deprecated ObjectOwnedOrGrantedPermissionsFilter,
DocumentPermissionsFilter, and ObjectOwnedPermissionsFilter aliases
with PermittedObjectsFilter directly across documents/views.py (8
sites, including TrashView's include_granted=False subclass) and
paperless_mail/views.py (3 sites), then delete the now-unreferenced
alias classes from documents/filters.py.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UFyrt7FWbRRdTUAcdqBcsc

* docs: document legacy status of get_objects_for_user_owner_aware/has_perms_owner_aware

Stage 4's PermittedObjectsFilter/permitted_object_ids() covers the
queryset-filtering use case, but both functions still have production
callers outside this plan's scope (documents/views.py,
documents/serialisers.py, documents/signals/handlers.py,
paperless_ai/matching.py, paperless_ai/ai_classifier.py). Per Task 20
Step 2, they are kept in place rather than partially deleted, with
docstrings updated to note their legacy status and remaining callers.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UFyrt7FWbRRdTUAcdqBcsc

* Fix: address final review findings for permission-filter unification

- Add a permanent regression test pinning TrashView's include_granted=False
  wiring: an explicit view_document grant on a trashed document must not
  leak it into /api/trash/ for a non-owner, non-superuser requester.
- Drop the now-dead direct dependency djangorestframework-guardian; the
  last rest_framework_guardian import was removed by this branch's
  migration onto PermittedObjectsFilter. django-guardian is untouched.
- Replace the hand-maintained, already-stale caller lists in
  get_objects_for_user_owner_aware/has_perms_owner_aware docstrings with a
  pointer to grep for remaining callers instead.
- In PermittedObjectsFilter.filter_queryset, compute `model` only on the
  include_granted=True path that actually uses it.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UFyrt7FWbRRdTUAcdqBcsc

* perf: check bulk-edit-objects apply_to_all permissions via DB-side exclude/exists

Materialized the full permitted_object_ids() set into a Python set() just
to check membership for the request's objs queryset -- the same pattern
already fixed at four other sites for Document. This one is used by
apply_to_all, where objs can be an unbounded filtered selection (e.g. all
tags matching a filter) rather than a small request-supplied ID list,
making the wasted materialization worse here than at the sites already
fixed.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* Cleans up the comment about why this is still here for now

---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-08 07:27:18 -07:00
b192a419fd perf: migrate bulk-edit-objects dispatch to permitted_object_ids (#13576)
* perf: migrate bulk-edit-objects apply_to_all dispatch to permitted_object_ids

Replaces get_objects_for_user_owner_aware/has_perms_owner_aware in the
BulkEditObjectsView apply_to_all dispatch (Tag/Correspondent/DocumentType/
StoragePath) with permitted_object_ids and the resolve-once,
check-membership pattern used elsewhere in this stage. Tag-descendant
expansion logic left untouched. Adds a security test pinning that
apply_to_all excludes objects the requester lacks object-level permission
on.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UmMBGW9FKyDgmKRJ5H9rif

* test: add tag-descendant partial-permission coverage, verify pre-migration characterization

Adds TestBulkEditObjectsTagDescendantPartialPermission, exercising the
tag-descendant-expansion block in BulkEditObjectsView.post as a
non-superuser with object-level change_tag granted on a parent tag and
one of two children but not the other, confirming the expansion only
pulls in descendants the requester actually has permission on.

Verified both this test and the existing apply_to_all boundary test
pass unchanged against the pre-migration
get_objects_for_user_owner_aware/has_perms_owner_aware code (reverted
via a scratch patch of the prior commit's views.py hunk, then
restored), confirming they characterize genuine pre-existing behavior
rather than something the permitted_object_ids migration made
necessary.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UmMBGW9FKyDgmKRJ5H9rif

---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-08 07:27:17 -07:00
3986150f95 perf: migrate matching.py's classification lookups to permitted_object_ids (#13575)
* perf: migrate matching.py's 4 permission-filtered lookups to permitted_object_ids

* test: add matching.py permission coverage for correspondents, document types, storage paths

Completes the parametrized coverage started for tags -- proves all 4
matching.py lookups migrated to permitted_object_ids respect
per-object view permissions, not just the tag case.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-08 07:27:17 -07:00
ee5588ade3 Performance: generalize permitted_document_ids into permitted_object_ids for any model (#13578)
* feat: generalize permitted_document_ids into permitted_object_ids for any model

Implements Task 14 of the permission-filtering consolidation plan:
- Add generic permitted_object_ids(user, model, perm, include_deleted=False)
- Refactor permitted_document_ids to delegate to permitted_object_ids
- Add comprehensive tests for Tag/Correspondent/DocumentType/StoragePath
- Preserve exact public behavior of permitted_document_ids (100% regression-free)

All 38 tests pass (18 existing + 20 new). The include_deleted parameter
correctly handles soft-delete patterns (effective only for Document).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* refactor: add type hints to permitted_object_ids and permitted_document_ids

Add missing type annotations to match the established conventions in this file
(see get_objects_for_user_owner_aware). Also added Model import from django.db.models.

- permitted_object_ids: user: User | None, model: type[Model], return -> QuerySet[int]
- permitted_document_ids: user: User | None, return -> QuerySet[int]

All 38 permission filtering security tests pass; this is a type-annotation-only change.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UmMBGW9FKyDgmKRJ5H9rif

* refactor: remove redundant deleted_at filter in permitted_object_ids

SoftDeleteManager's own get_queryset() already excludes soft-deleted
rows, so the extra deleted_at__isnull=True filter was dead code.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-08 07:27:16 -07:00
shamoonandGitHub 2635a12281 Fix: render PDF form values in annotation layer (#13607) 2026-08-07 23:15:42 -07:00
shamoonandGitHub 1f396e51f3 QoL: disable name button without perms (#13606) 2026-08-07 23:01:24 -07:00
108 changed files with 40620 additions and 40260 deletions
-1
View File
@@ -38,7 +38,6 @@ dependencies = [
"django-soft-delete~=1.0.18",
"django-treenode>=0.24",
"djangorestframework~=3.16",
"djangorestframework-guardian~=0.4.0",
"drf-spectacular~=0.30",
"drf-spectacular-sidecar~=2026.7.1",
"drf-writable-nested~=0.7.1",
@@ -151,6 +151,13 @@
inset: 0;
pointer-events: none;
& section {
position: absolute;
text-align: initial;
box-sizing: border-box;
transform-origin: 0 0;
}
& .annotationTextContent {
opacity: 0;
}
@@ -13,6 +13,7 @@ import {
ViewChild,
} from '@angular/core'
import {
AnnotationMode,
getDocument,
GlobalWorkerOptions,
PDFDocumentLoadingTask,
@@ -221,6 +222,7 @@ export class PngxPdfViewerComponent
linkService: this.linkService,
findController: this.findController,
textLayerMode,
annotationMode: AnnotationMode.ENABLE,
enableSelectionRendering: false,
removePageBorders: true,
}
@@ -88,7 +88,7 @@
@if (depth > 0) {
<div class="indicator"></div>
}
<button class="btn btn-link ms-0 ps-0 text-start" style="user-select: text;" (click)="userCanEdit(object) ? openEditDialog(object) : null; $event.stopPropagation()">{{ object.name }}</button>
<button class="btn btn-link ms-0 ps-0 text-start" style="user-select: text;" [disabled]="!userCanEdit(object)" (click)="userCanEdit(object) ? openEditDialog(object) : null; $event.stopPropagation()">{{ object.name }}</button>
</td>
<td class="d-none d-sm-table-cell">{{ getMatching(object) }}</td>
<td>{{ getDocumentCount(object) }}</td>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -19,6 +19,13 @@ export const GlobalWorkerOptions = {
workerSrc: '',
}
export const AnnotationMode = {
DISABLE: 0,
ENABLE: 1,
ENABLE_FORMS: 2,
ENABLE_STORAGE: 3,
}
export const getDocument = (_src: unknown): PDFDocumentLoadingTask => {
return new PDFDocumentLoadingTask(Promise.resolve(new PDFDocumentProxy()))
}
+24 -49
View File
@@ -39,7 +39,6 @@ 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
from documents.models import Correspondent
from documents.models import CustomField
@@ -51,7 +50,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
from documents.permissions import permitted_object_ids
if TYPE_CHECKING:
from collections.abc import Callable
@@ -1028,59 +1027,35 @@ class PaperlessTaskFilterSet(FilterSet):
return queryset.exclude(status__in=PaperlessTask.COMPLETE_STATUSES)
class ObjectOwnedOrGrantedPermissionsFilter(ObjectPermissionsFilter):
class PermittedObjectsFilter(BaseFilterBackend):
"""
A filter backend that limits results to those where the requesting user
has read object level permissions, owns the objects, or objects without
an owner (for backwards compat)
Filters a queryset down to objects the requesting user owns, are
unowned, or (when ``include_granted`` is True) has an explicit
user/group guardian permission on. Backed by ``permitted_object_ids``
-- a single ``id__in`` subquery, not a join -- so it can't produce
duplicate rows even when the base queryset already carries independent
joins (e.g. multi-value ``tags__id__all`` filtering), and stays
index-friendly at scale instead of falling back to guardian's
varchar-cast join.
Set ``include_granted = False`` on a subclass for endpoints that
intentionally only show owned/unowned objects regardless of explicit
shares (e.g. ``TrashView``).
"""
include_granted: bool = True
perm_codename: str | None = None
def filter_queryset(self, request, queryset, view):
if request.user.is_superuser:
return queryset
objects_with_perms = super().filter_queryset(request, queryset, view)
objects_owned = queryset.filter(owner=request.user)
objects_unowned = queryset.filter(owner__isnull=True)
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
owns the objects or objects without an owner (for backwards compat)
"""
def filter_queryset(self, request, queryset, view):
if request.user.is_superuser:
return queryset
objects_owned = queryset.filter(owner=request.user)
objects_unowned = queryset.filter(owner__isnull=True)
return objects_owned | objects_unowned
if not self.include_granted:
return queryset.filter(Q(owner=request.user) | Q(owner__isnull=True))
model = queryset.model
perm = self.perm_codename or f"view_{model._meta.model_name}"
return queryset.filter(
id__in=permitted_object_ids(request.user, model, perm),
)
class DocumentsOrderingFilter(OrderingFilter):
+10 -14
View File
@@ -19,7 +19,7 @@ from documents.models import StoragePath
from documents.models import Tag
from documents.models import Workflow
from documents.models import WorkflowTrigger
from documents.permissions import get_objects_for_user_owner_aware
from documents.permissions import permitted_object_ids
from documents.regex import safe_regex_search
if TYPE_CHECKING:
@@ -55,10 +55,8 @@ def match_correspondents(document: Document, classifier: DocumentClassifier, use
user = document.owner
if user is not None:
correspondents = get_objects_for_user_owner_aware(
user,
"documents.view_correspondent",
Correspondent,
correspondents = Correspondent.objects.filter(
id__in=permitted_object_ids(user, Correspondent, "view_correspondent"),
)
else:
correspondents = Correspondent.objects.all()
@@ -86,10 +84,8 @@ def match_document_types(document: Document, classifier: DocumentClassifier, use
user = document.owner
if user is not None:
document_types = get_objects_for_user_owner_aware(
user,
"documents.view_documenttype",
DocumentType,
document_types = DocumentType.objects.filter(
id__in=permitted_object_ids(user, DocumentType, "view_documenttype"),
)
else:
document_types = DocumentType.objects.all()
@@ -116,7 +112,9 @@ def match_tags(document: Document, classifier: DocumentClassifier, user=None):
user = document.owner
if user is not None:
tags = get_objects_for_user_owner_aware(user, "documents.view_tag", Tag)
tags = Tag.objects.filter(
id__in=permitted_object_ids(user, Tag, "view_tag"),
)
else:
tags = Tag.objects.all()
@@ -145,10 +143,8 @@ def match_storage_paths(document: Document, classifier: DocumentClassifier, user
user = document.owner
if user is not None:
storage_paths = get_objects_for_user_owner_aware(
user,
"documents.view_storagepath",
StoragePath,
storage_paths = StoragePath.objects.filter(
id__in=permitted_object_ids(user, StoragePath, "view_storagepath"),
)
else:
storage_paths = StoragePath.objects.all()
+59 -25
View File
@@ -7,6 +7,7 @@ from django.contrib.contenttypes.models import ContentType
from django.db.models import Case
from django.db.models import Count
from django.db.models import IntegerField
from django.db.models import Model
from django.db.models import Q
from django.db.models import QuerySet
from django.db.models import Value
@@ -163,30 +164,32 @@ def set_permissions_for_object(
)
def permitted_document_ids(
user,
def permitted_object_ids(
user: User | None,
model: type[Model],
perm: str,
*,
perm: str = "view_document",
include_deleted: bool = False,
):
) -> QuerySet[int]:
"""
Return a queryset of document IDs the user has ``perm`` on (default
``"view_document"``). By default limited to non-deleted documents; pass
``include_deleted=True`` for callers that need to check permission on
soft-deleted documents (e.g. trash restore). This intentionally avoids
``get_objects_for_user`` to keep the subquery small and index-friendly.
Generic version of ``permitted_document_ids`` for any model with an
``owner`` field and guardian object-level permissions. ``include_deleted``
only has an effect for models exposing a ``global_objects``/``deleted_at``
soft-delete pattern (currently only ``Document``); for every other model
it is accepted but has no effect, since those models have no soft-delete
concept.
"""
manager = Document.global_objects if include_deleted else Document.objects
base_docs = manager.all()
base_docs = base_docs.only("id", "owner")
has_soft_delete = hasattr(model, "global_objects")
manager = (
model.global_objects if include_deleted and has_soft_delete else model.objects
)
base_qs = manager.all().only("id", "owner")
if user is None or not getattr(user, "is_authenticated", False):
# Just Anonymous user e.g. for drf-spectacular
return base_docs.filter(owner__isnull=True).values_list("id", flat=True)
return base_qs.filter(owner__isnull=True).values_list("id", flat=True)
if getattr(user, "is_superuser", False):
return base_docs.values_list("id", flat=True)
return base_qs.values_list("id", flat=True)
# Guardian's UserObjectPermission/GroupObjectPermission always store a bare
# codename, but has_perm()-style callers commonly pass the qualified
@@ -194,31 +197,46 @@ def permitted_document_ids(
# codename, so just drop any prefix rather than silently under-permitting.
perm = perm.rsplit(".", 1)[-1]
document_ct = ContentType.objects.get_for_model(Document)
content_type = ContentType.objects.get_for_model(model)
perm_filter = {
"permission__codename": perm,
"permission__content_type": document_ct,
"permission__content_type": content_type,
}
user_perm_docs = (
user_perm_ids = (
UserObjectPermission.objects.filter(user=user, **perm_filter)
.annotate(object_pk_int=Cast("object_pk", IntegerField()))
.values_list("object_pk_int", flat=True)
)
group_perm_docs = (
group_perm_ids = (
GroupObjectPermission.objects.filter(group__user=user, **perm_filter)
.annotate(object_pk_int=Cast("object_pk", IntegerField()))
.values_list("object_pk_int", flat=True)
)
permitted_ids = user_perm_ids.union(group_perm_ids)
permitted_documents = user_perm_docs.union(group_perm_docs)
return base_docs.filter(
Q(owner=user) | Q(owner__isnull=True) | Q(id__in=permitted_documents),
return base_qs.filter(
Q(owner=user) | Q(owner__isnull=True) | Q(id__in=permitted_ids),
).values_list("id", flat=True)
def permitted_document_ids(
user: User | None,
*,
perm: str = "view_document",
include_deleted: bool = False,
) -> QuerySet[int]:
"""
Document-specific convenience wrapper around ``permitted_object_ids``.
Return a queryset of document IDs the user has ``perm`` on (default
``"view_document"``). By default limited to non-deleted documents; pass
``include_deleted=True`` for callers that need to check permission on
soft-deleted documents (e.g. trash restore). This intentionally avoids
``get_objects_for_user`` to keep the subquery small and index-friendly.
"""
return permitted_object_ids(user, Document, perm, include_deleted=include_deleted)
def get_document_count_filter_for_user(user, related_name: str = "documents"):
"""
Return the Q object used to filter document counts for the given user.
@@ -341,6 +359,13 @@ def get_objects_for_user_owner_aware(
"""
Returns objects the user owns, are unowned, or has explicit perms.
When include_deleted is True, soft-deleted items are also included.
Legacy slow path (guardian-backed, O(n) style permission resolution).
Most queryset-filtering call sites have migrated onto
``PermittedObjectsFilter``/``permitted_object_ids()``, but this function
is kept because production callers still remain. Several callers remain
across ``documents/``, ``paperless_mail/``, and ``paperless_ai/`` --
grep for this function name before removing it.
"""
manager = (
Model.global_objects
@@ -360,6 +385,15 @@ def get_objects_for_user_owner_aware(
def has_perms_owner_aware(user, perms, obj):
"""
Legacy slow path (guardian-backed) single-object permission check.
The queryset-filtering side of this migrated onto
``PermittedObjectsFilter``/``permitted_object_ids()``, but this
single-object check still has many production callers. Several callers
remain across ``documents/``, ``paperless_mail/``, and ``paperless_ai/``
-- grep for this function name before removing it.
"""
checker = ObjectPermissionChecker(user)
return obj.owner is None or obj.owner == user or checker.has_perm(perms, obj)
@@ -12,9 +12,22 @@ from django.test import override_settings
from guardian.shortcuts import assign_perm
from rest_framework.test import APIClient
from documents.matching import match_correspondents
from documents.matching import match_document_types
from documents.matching import match_storage_paths
from documents.matching import match_tags
from documents.models import Correspondent
from documents.models import DocumentType
from documents.models import StoragePath
from documents.models import Tag
from documents.permissions import permitted_document_ids
from documents.permissions import permitted_object_ids
from documents.serialisers import _get_viewable_duplicates
from documents.tests.factories import CorrespondentFactory
from documents.tests.factories import DocumentFactory
from documents.tests.factories import DocumentTypeFactory
from documents.tests.factories import StoragePathFactory
from documents.tests.factories import TagFactory
def assert_visible_document_ids(actual_ids, *, expected_visible, expected_hidden):
@@ -431,3 +444,320 @@ class TestTrashRestorePermissionBoundary:
format="json",
)
assert response.status_code == HTTPStatus.OK
@pytest.mark.django_db
class TestTrashViewExcludesExplicitlyGrantedDocuments:
"""
Regression test pinning TrashView's use of
``_TrashPermittedObjectsFilter`` (``include_granted = False``). If that
flag were ever flipped to the default ``True``, or the subclass removed
in favor of the base ``PermittedObjectsFilter``, a trashed document
would leak into ``/api/trash/`` results for any user holding an
explicit guardian grant on it, even though they are neither the owner
nor a superuser.
"""
def test_explicit_grant_does_not_leak_trashed_document(self, rest_api_client):
owner = User.objects.create_user(username="trash_owner")
grantee = User.objects.create_user(username="trash_grantee")
doc = DocumentFactory(owner=owner)
doc.delete() # soft delete
assign_perm("view_document", grantee, doc)
rest_api_client.force_authenticate(user=grantee)
response = rest_api_client.get("/api/trash/")
assert response.status_code == HTTPStatus.OK
result_ids = {result["id"] for result in response.data["results"]}
assert doc.pk not in result_ids
@pytest.mark.django_db
@pytest.mark.parametrize(
("model", "factory", "perm"),
[
(Tag, TagFactory, "view_tag"),
(Correspondent, CorrespondentFactory, "view_correspondent"),
(DocumentType, DocumentTypeFactory, "view_documenttype"),
(StoragePath, StoragePathFactory, "view_storagepath"),
],
)
class TestPermittedObjectIdsGenericModels:
def test_owner_sees_own_object(self, model, factory, perm):
owner = User.objects.create_user(username=f"owner_{model.__name__}")
stranger = User.objects.create_user(username=f"stranger_{model.__name__}")
owned = factory(owner=owner)
strangers = factory(owner=stranger)
assert_visible_document_ids(
permitted_object_ids(owner, model, perm),
expected_visible=[owned.pk],
expected_hidden=[strangers.pk],
)
def test_unowned_object_visible_to_everyone(self, model, factory, perm):
user = User.objects.create_user(username=f"user_{model.__name__}")
unowned = factory(owner=None)
assert_visible_document_ids(
permitted_object_ids(user, model, perm),
expected_visible=[unowned.pk],
expected_hidden=[],
)
def test_explicit_permission_grants_visibility(self, model, factory, perm):
owner = User.objects.create_user(username=f"owner2_{model.__name__}")
grantee = User.objects.create_user(username=f"grantee_{model.__name__}")
stranger = User.objects.create_user(username=f"stranger2_{model.__name__}")
shared = factory(owner=owner)
not_shared = factory(owner=owner)
assign_perm(perm, grantee, shared)
assert_visible_document_ids(
permitted_object_ids(grantee, model, perm),
expected_visible=[shared.pk],
expected_hidden=[not_shared.pk],
)
assert_visible_document_ids(
permitted_object_ids(stranger, model, perm),
expected_visible=[],
expected_hidden=[shared.pk, not_shared.pk],
)
def test_group_permission_grants_visibility_to_members_only(
self,
model,
factory,
perm,
):
owner = User.objects.create_user(username=f"owner3_{model.__name__}")
member = User.objects.create_user(username=f"member_{model.__name__}")
non_member = User.objects.create_user(username=f"nonmember_{model.__name__}")
group = Group.objects.create(name=f"group_{model.__name__}")
member.groups.add(group)
shared = factory(owner=owner)
assign_perm(perm, group, shared)
assert_visible_document_ids(
permitted_object_ids(member, model, perm),
expected_visible=[shared.pk],
expected_hidden=[],
)
assert_visible_document_ids(
permitted_object_ids(non_member, model, perm),
expected_visible=[],
expected_hidden=[shared.pk],
)
def test_superuser_sees_everything(self, model, factory, perm):
superuser = User.objects.create_superuser(username=f"root_{model.__name__}")
owner = User.objects.create_user(username=f"owner4_{model.__name__}")
obj = factory(owner=owner)
assert_visible_document_ids(
permitted_object_ids(superuser, model, perm),
expected_visible=[obj.pk],
expected_hidden=[],
)
@pytest.mark.django_db
class TestMatchingRespectsObjectPermissions:
def test_match_tags_only_considers_tags_visible_to_user(self):
owner = User.objects.create_user(username="tag_owner")
classifying_user = User.objects.create_user(username="classifier_user")
visible_tag = TagFactory(
owner=owner,
match="invoice",
matching_algorithm=Tag.MATCH_LITERAL,
)
hidden_tag = TagFactory(
owner=owner,
match="invoice",
matching_algorithm=Tag.MATCH_LITERAL,
)
assign_perm("view_tag", classifying_user, visible_tag)
doc = DocumentFactory(owner=classifying_user, content="an invoice document")
matched = match_tags(doc, classifier=None, user=classifying_user)
matched_ids = {t.pk for t in matched}
assert visible_tag.pk in matched_ids
assert hidden_tag.pk not in matched_ids
def test_match_correspondents_only_considers_correspondents_visible_to_user(self):
owner = User.objects.create_user(username="correspondent_owner")
classifying_user = User.objects.create_user(username="classifier_user2")
visible_correspondent = CorrespondentFactory(
owner=owner,
match="invoice",
matching_algorithm=Correspondent.MATCH_LITERAL,
)
hidden_correspondent = CorrespondentFactory(
owner=owner,
match="invoice",
matching_algorithm=Correspondent.MATCH_LITERAL,
)
assign_perm("view_correspondent", classifying_user, visible_correspondent)
doc = DocumentFactory(owner=classifying_user, content="an invoice document")
matched = match_correspondents(doc, classifier=None, user=classifying_user)
matched_ids = {c.pk for c in matched}
assert visible_correspondent.pk in matched_ids
assert hidden_correspondent.pk not in matched_ids
def test_match_document_types_only_considers_document_types_visible_to_user(self):
owner = User.objects.create_user(username="document_type_owner")
classifying_user = User.objects.create_user(username="classifier_user3")
visible_document_type = DocumentTypeFactory(
owner=owner,
match="invoice",
matching_algorithm=DocumentType.MATCH_LITERAL,
)
hidden_document_type = DocumentTypeFactory(
owner=owner,
match="invoice",
matching_algorithm=DocumentType.MATCH_LITERAL,
)
assign_perm("view_documenttype", classifying_user, visible_document_type)
doc = DocumentFactory(owner=classifying_user, content="an invoice document")
matched = match_document_types(doc, classifier=None, user=classifying_user)
matched_ids = {dt.pk for dt in matched}
assert visible_document_type.pk in matched_ids
assert hidden_document_type.pk not in matched_ids
def test_match_storage_paths_only_considers_storage_paths_visible_to_user(self):
owner = User.objects.create_user(username="storage_path_owner")
classifying_user = User.objects.create_user(username="classifier_user4")
visible_storage_path = StoragePathFactory(
owner=owner,
match="invoice",
matching_algorithm=StoragePath.MATCH_LITERAL,
)
hidden_storage_path = StoragePathFactory(
owner=owner,
match="invoice",
matching_algorithm=StoragePath.MATCH_LITERAL,
)
assign_perm("view_storagepath", classifying_user, visible_storage_path)
doc = DocumentFactory(owner=classifying_user, content="an invoice document")
matched = match_storage_paths(doc, classifier=None, user=classifying_user)
matched_ids = {sp.pk for sp in matched}
assert visible_storage_path.pk in matched_ids
assert hidden_storage_path.pk not in matched_ids
@pytest.mark.django_db
class TestBulkEditObjectsApplyToAllPermissionBoundary:
def test_apply_to_all_tags_excludes_unpermitted_tag(self, rest_api_client):
owner = User.objects.create_user(username="tags_owner")
requester = User.objects.create_user(username="tags_requester")
# grant the global change_tag permission so the object-level
# filtering (not the global has_perm check) is what's under test
requester.user_permissions.add(
Permission.objects.get(codename="change_tag"),
)
rest_api_client.force_authenticate(user=requester)
visible = TagFactory(owner=owner)
hidden = TagFactory(owner=owner)
assign_perm("view_tag", requester, visible)
assign_perm("change_tag", requester, visible)
response = rest_api_client.post(
"/api/bulk_edit_objects/",
{
"object_type": "tags",
"operation": "set_permissions",
"all": True,
"filters": {},
"owner": requester.pk,
},
format="json",
)
assert response.status_code == HTTPStatus.OK
# The apply_to_all dispatch must resolve permitted objects up front:
# the visible tag (object-level change_tag granted) gets its owner
# reassigned, while the hidden tag (no object-level grant) is
# excluded entirely and keeps its original owner.
visible.refresh_from_db()
hidden.refresh_from_db()
assert visible.owner == requester
assert hidden.owner == owner
@pytest.mark.django_db
class TestBulkEditObjectsTagDescendantPartialPermission:
def test_apply_to_all_descendant_expansion_respects_per_object_permissions(
self,
rest_api_client,
):
"""
GIVEN:
- A tag hierarchy (parent -> permitted_child, unpermitted_child)
- A non-superuser requester with object-level change_tag granted
on the parent and on only ONE of the two children
WHEN:
- bulk_edit_objects is called with all=True and a filter that
matches only the root (parent) tag, engaging the
tag-descendant-expansion logic in BulkEditObjectsView.post
THEN:
- The descendant expansion only pulls in descendants the
requester actually has permission on: the permitted child's
owner is reassigned alongside the parent's, while the
unpermitted child keeps its original owner. This pins that the
expansion checks per-object permissions (editable_ids), not
merely "is a descendant of a filter match".
NOTE: this uses ``set_permissions`` (owner reassignment) rather than
``delete`` as the operation, because Tag.tn_parent (django-treenode)
cascades deletes to descendants at the database/ORM level regardless
of which tags the view resolved into ``objs`` -- a delete-based test
would pass/fail based on FK cascade behavior, not on whether the
descendant-expansion logic itself respected per-object permissions.
"""
owner = User.objects.create_user(username="tag_hierarchy_owner")
requester = User.objects.create_user(username="tag_hierarchy_requester")
# global change_tag permission so the has_perm() gate passes and the
# object-level permitted_object_ids filtering is what's under test
requester.user_permissions.add(
Permission.objects.get(codename="change_tag"),
)
rest_api_client.force_authenticate(user=requester)
parent = TagFactory(owner=owner, name="parent-tag")
permitted_child = TagFactory(
owner=owner,
name="permitted-child-tag",
tn_parent=parent,
)
unpermitted_child = TagFactory(
owner=owner,
name="unpermitted-child-tag",
tn_parent=parent,
)
assign_perm("change_tag", requester, parent)
assign_perm("change_tag", requester, permitted_child)
# unpermitted_child is intentionally NOT granted change_tag
response = rest_api_client.post(
"/api/bulk_edit_objects/",
{
"object_type": "tags",
"operation": "set_permissions",
"all": True,
"filters": {"is_root": True},
"owner": requester.pk,
},
format="json",
)
assert response.status_code == HTTPStatus.OK
parent.refresh_from_db()
permitted_child.refresh_from_db()
unpermitted_child.refresh_from_db()
assert parent.owner == requester
assert permitted_child.owner == requester
assert unpermitted_child.owner == owner
@@ -0,0 +1,70 @@
import pytest
from django.contrib.auth.models import User
from guardian.shortcuts import assign_perm
from rest_framework.test import APIRequestFactory
from documents.filters import PermittedObjectsFilter
from documents.models import Tag
from documents.tests.factories import TagFactory
class _DummyView:
queryset = Tag.objects.all()
@pytest.mark.django_db
class TestPermittedObjectsFilter:
def test_superuser_bypasses_filtering_entirely(self):
superuser = User.objects.create_superuser(username="root")
owner = User.objects.create_user(username="owner")
TagFactory(owner=owner)
request = APIRequestFactory().get("/")
request.user = superuser
result = PermittedObjectsFilter().filter_queryset(
request,
Tag.objects.all(),
_DummyView(),
)
assert result.count() == Tag.objects.count()
def test_non_superuser_sees_only_owned_unowned_and_granted(self):
owner = User.objects.create_user(username="owner")
grantee = User.objects.create_user(username="grantee")
owned = TagFactory(owner=grantee)
unowned = TagFactory(owner=None)
granted = TagFactory(owner=owner)
hidden = TagFactory(owner=owner)
assign_perm("view_tag", grantee, granted)
request = APIRequestFactory().get("/")
request.user = grantee
result = PermittedObjectsFilter().filter_queryset(
request,
Tag.objects.all(),
_DummyView(),
)
visible_ids = set(result.values_list("id", flat=True))
assert visible_ids == {owned.pk, unowned.pk, granted.pk}
assert hidden.pk not in visible_ids
def test_include_granted_false_excludes_explicitly_shared_objects(self):
owner = User.objects.create_user(username="owner2")
grantee = User.objects.create_user(username="grantee2")
owned = TagFactory(owner=grantee)
granted = TagFactory(owner=owner)
assign_perm("view_tag", grantee, granted)
request = APIRequestFactory().get("/")
request.user = grantee
class _OwnerOnlyFilter(PermittedObjectsFilter):
include_granted = False
result = _OwnerOnlyFilter().filter_queryset(
request,
Tag.objects.all(),
_DummyView(),
)
visible_ids = set(result.values_list("id", flat=True))
assert visible_ids == {owned.pk}
assert granted.pk not in visible_ids
+22 -18
View File
@@ -133,12 +133,10 @@ 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
from documents.filters import ObjectOwnedPermissionsFilter
from documents.filters import PaperlessTaskFilterSet
from documents.filters import PermittedObjectsFilter
from documents.filters import ShareLinkBundleFilterSet
from documents.filters import ShareLinkFilterSet
from documents.filters import StoragePathFilterSet
@@ -178,6 +176,7 @@ from documents.permissions import has_global_statistics_permission
from documents.permissions import has_perms_owner_aware
from documents.permissions import has_system_status_permission
from documents.permissions import permitted_document_ids
from documents.permissions import permitted_object_ids
from documents.permissions import set_permissions_for_object
from documents.plugins.date_parsing import get_date_parser
from documents.schema import generate_object_with_permissions_schema
@@ -550,7 +549,7 @@ class CorrespondentViewSet(
filter_backends = (
DjangoFilterBackend,
OrderingFilter,
ObjectOwnedOrGrantedPermissionsFilter,
PermittedObjectsFilter,
)
filterset_class = CorrespondentFilterSet
ordering_fields = (
@@ -591,7 +590,7 @@ class TagViewSet(PermissionsAwareDocumentCountMixin, ModelViewSet[Tag]):
filter_backends = (
DjangoFilterBackend,
OrderingFilter,
ObjectOwnedOrGrantedPermissionsFilter,
PermittedObjectsFilter,
)
filterset_class = TagFilterSet
ordering_fields = ("color", "name", "matching_algorithm", "match", "document_count")
@@ -683,7 +682,7 @@ class DocumentTypeViewSet(
filter_backends = (
DjangoFilterBackend,
OrderingFilter,
ObjectOwnedOrGrantedPermissionsFilter,
PermittedObjectsFilter,
)
filterset_class = DocumentTypeFilterSet
ordering_fields = ("name", "matching_algorithm", "match", "document_count")
@@ -987,7 +986,7 @@ class DocumentViewSet(
DjangoFilterBackend,
SearchFilter,
DocumentsOrderingFilter,
DocumentPermissionsFilter,
PermittedObjectsFilter,
)
filterset_class = DocumentFilterSet
search_fields = ("title", "correspondent__name", "effective_content")
@@ -2673,7 +2672,7 @@ class SavedViewViewSet(BulkPermissionMixin, PassUserMixin, ModelViewSet[SavedVie
permission_classes = (IsAuthenticated, PaperlessObjectPermissions)
filter_backends = (
OrderingFilter,
ObjectOwnedOrGrantedPermissionsFilter,
PermittedObjectsFilter,
)
ordering_fields = ("name",)
@@ -3920,7 +3919,7 @@ class StoragePathViewSet(PermissionsAwareDocumentCountMixin, ModelViewSet[Storag
filter_backends = (
DjangoFilterBackend,
OrderingFilter,
ObjectOwnedOrGrantedPermissionsFilter,
PermittedObjectsFilter,
)
filterset_class = StoragePathFilterSet
ordering_fields = ("name", "path", "matching_algorithm", "match", "document_count")
@@ -4451,7 +4450,7 @@ class ShareLinkViewSet(
filter_backends = (
DjangoFilterBackend,
OrderingFilter,
ObjectOwnedOrGrantedPermissionsFilter,
PermittedObjectsFilter,
)
filterset_class = ShareLinkFilterSet
ordering_fields = ("created", "expiration", "document")
@@ -4481,7 +4480,7 @@ class ShareLinkBundleViewSet(PassUserMixin, ModelViewSet[ShareLinkBundle]):
filter_backends = (
DjangoFilterBackend,
OrderingFilter,
ObjectOwnedOrGrantedPermissionsFilter,
PermittedObjectsFilter,
)
filterset_class = ShareLinkBundleFilterSet
ordering_fields = ("created", "expiration", "status")
@@ -4764,10 +4763,8 @@ class BulkEditObjectsView(PassUserMixin):
"document_types": DocumentTypeFilterSet,
"storage_paths": StoragePathFilterSet,
}[object_type]
user_permitted_objects = get_objects_for_user_owner_aware(
user,
perm_codename,
object_class,
user_permitted_objects = object_class.objects.filter(
id__in=permitted_object_ids(user, object_class, perm_codename),
)
objs = filterset_class(
data=filters,
@@ -4792,8 +4789,11 @@ class BulkEditObjectsView(PassUserMixin):
if not user.is_superuser:
perm = f"documents.{perm_codename}"
has_perms = user.has_perm(perm) and all(
has_perms_owner_aware(user, perm_codename, obj) for obj in objs
has_perms = (
user.has_perm(perm)
and not objs.exclude(
pk__in=permitted_object_ids(user, object_class, perm_codename),
).exists()
)
if not has_perms:
@@ -5294,7 +5294,11 @@ class SystemStatusView(PassUserMixin):
class TrashView(ListModelMixin, PassUserMixin):
permission_classes = (IsAuthenticated,)
serializer_class = TrashSerializer
filter_backends = (ObjectOwnedPermissionsFilter,)
class _TrashPermittedObjectsFilter(PermittedObjectsFilter):
include_granted = False
filter_backends = (_TrashPermittedObjectsFilter,)
pagination_class = StandardPagination
model = Document
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Afrikaans\n"
"Language: af_ZA\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumente"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "Waarde moet geldige JSON wees."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "Ongeldige gepasmaakte veldnavraaguitdrukking"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "Ongeldige uitdrukking lys. Moet nie leeg wees nie."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "Ongeldige logiese uitdrukking {op!r}"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr ""
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr ""
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr ""
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr ""
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr ""
@@ -1338,48 +1338,48 @@ msgstr ""
msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr ""
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "Ongeldige kleur."
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "Lêertipe %(type)s word nie ondersteun nie"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, python-format
msgid "Custom field id must be an integer: %(id)s"
msgstr ""
#: documents/serialisers.py:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr ""
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
msgid "Custom fields must be a list of integers or an object mapping ids to values."
msgstr ""
#: documents/serialisers.py:2321
#: documents/serialisers.py:2317
msgid "Some custom fields don't exist or were specified twice."
msgstr ""
#: documents/serialisers.py:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "Ongeldige veranderlike bespeur."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4636
#: documents/views.py:4629
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr ""
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Amharic\n"
"Language: am_ET\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "መዝገባት"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "የሚሰራው እሴት \"JSON\" መሆን አለበት"
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "ልክ ያልሆነ የተወሰነ የቦታ መጠይቅ አገላለጽ"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "ልክ ያልሆነ የመግለጫ ዝርዝር። ባዶ መሆን የለበትም።"
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "ልክ ያልሆነ የሎጂክ ኦፕሬተር {op!r}"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "ከፍተኛው የጥያቄ ሁኔታዎች/መጠን ብዛት አልፏል።"
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} ይሄ ታዐማኒነት ያለው ልማድ አይደለም።"
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr "ጥያቄን አይደግፍም expr {expr!r}."
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "ከፍተኛው የጥገኝነት ጥልቀት አልፏል።"
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "ይህ ልማድ አልተገኘም"
@@ -1338,48 +1338,48 @@ msgstr ""
msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr ""
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr ""
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr ""
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, python-format
msgid "Custom field id must be an integer: %(id)s"
msgstr ""
#: documents/serialisers.py:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr ""
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
msgid "Custom fields must be a list of integers or an object mapping ids to values."
msgstr ""
#: documents/serialisers.py:2321
#: documents/serialisers.py:2317
msgid "Some custom fields don't exist or were specified twice."
msgstr ""
#: documents/serialisers.py:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr ""
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4636
#: documents/views.py:4629
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr ""
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Arabic\n"
"Language: ar_SA\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "المستندات"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "يجب أن تكون القيمة JSON."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "تعبير استعلام غير صالح للحقول المخصصة"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "قائمة عبارة خاطئة."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr ""
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "تجاوز الحد الأقصى لعدد شروط الاستعلام."
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} حقل مخصص غير صالح."
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} لا يدعم تعبير الاستعلام {expr!r}."
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr ""
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "لم يتم العثور على حقل مخصص"
@@ -1338,48 +1338,48 @@ msgstr ""
msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr ""
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "لون خاطئ."
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "نوع الملف %(type)s غير مدعوم"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, python-format
msgid "Custom field id must be an integer: %(id)s"
msgstr ""
#: documents/serialisers.py:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr ""
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
msgid "Custom fields must be a list of integers or an object mapping ids to values."
msgstr ""
#: documents/serialisers.py:2321
#: documents/serialisers.py:2317
msgid "Some custom fields don't exist or were specified twice."
msgstr ""
#: documents/serialisers.py:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "اكتشاف متغير خاطئ."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4636
#: documents/views.py:4629
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr ""
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Belarusian\n"
"Language: be_BY\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Дакументы"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr ""
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr ""
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr ""
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr ""
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr ""
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr ""
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr ""
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr ""
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr ""
@@ -1338,48 +1338,48 @@ msgstr ""
msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr ""
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "Няправільны колер."
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "Тып файла %(type)s не падтрымліваецца"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, python-format
msgid "Custom field id must be an integer: %(id)s"
msgstr ""
#: documents/serialisers.py:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr ""
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
msgid "Custom fields must be a list of integers or an object mapping ids to values."
msgstr ""
#: documents/serialisers.py:2321
#: documents/serialisers.py:2317
msgid "Some custom fields don't exist or were specified twice."
msgstr ""
#: documents/serialisers.py:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "Выяўлена няправільная зменная."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4636
#: documents/views.py:4629
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr ""
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Bulgarian\n"
"Language: bg_BG\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Документи"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "Стойността трябва да е валидна JSON."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "Невалидна заявка на персонализираното полето"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "Списък с невалиден израз. Не може да е празно."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "Невалиден логически оператор {op!r}"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "Надвишен е максимален брой за заявки."
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} не е валидно персонализирано поле."
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} не поддържа заявка expr {expr!r}."
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "Надвишена е максималната дълбочина на вмъкване."
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "Персонализирано поле не е намерено"
@@ -1338,48 +1338,48 @@ msgstr "стартиране на работния процес"
msgid "workflow runs"
msgstr "стартиране на работните процеси"
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr ""
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "Невалиден цвят."
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "Файловия тип %(type)s не се поддържа"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, python-format
msgid "Custom field id must be an integer: %(id)s"
msgstr ""
#: documents/serialisers.py:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr ""
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
msgid "Custom fields must be a list of integers or an object mapping ids to values."
msgstr ""
#: documents/serialisers.py:2321
#: documents/serialisers.py:2317
msgid "Some custom fields don't exist or were specified twice."
msgstr ""
#: documents/serialisers.py:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "Засечена е невалидна променлива."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4636
#: documents/views.py:4629
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr ""
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Catalan\n"
"Language: ca_ES\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Documents "
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "Valor ha de ser un JSON valid."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "Expressió de camp de consulta invàlid"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "Expressió de llista invàlida. No ha d'estar buida."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "Invàlid operand lògic {op!r}"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "Condicions de consulta excedits."
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} no és un camp personalitzat vàlid."
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} no suporta expressió de consulta {expr!r}."
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "Màxima profunditat anidada excedida."
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "Camp personalitzat no trobat"
@@ -1338,48 +1338,48 @@ msgstr "data del flux"
msgid "workflow runs"
msgstr "flux corrents"
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr "Permisos insuficients."
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "Color Invàlid."
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "Tipus arxiu %(type)s no suportat"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, 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:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr "Camp personalitzat amb ID %(id)s no existeix"
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
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:2321
#: documents/serialisers.py:2317
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:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "Variable detectada invàlida."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr "Duplicat d'identificadors de documents no permès."
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr "Invalid more_like_id"
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr "Configuració AI invàlida."
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
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:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Permisos insuficients per compartir document %(id)s."
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr "Paquet ja s'està processant."
#: documents/views.py:4636
#: documents/views.py:4629
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:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr "El paquet d'enllaç no està disponible."
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Czech\n"
"Language: cs_CZ\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumenty"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "Hodnota musí být platný JSON."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "Neplatný výraz dotazu na vlastní pole"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "Neplatný seznam výrazů. Nesmí být prázdný."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "Neplatný logický operátor {op!r}"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "Překročen maximální počet podmínek dotazu."
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} není platné vlastní pole."
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} nepodporuje výraz dotazu {expr!r}."
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "Překročena maximální hloubka větvení."
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "Vlastní pole nebylo nalezeno"
@@ -1338,48 +1338,48 @@ msgstr "spuštění pracovního postupu"
msgid "workflow runs"
msgstr "spuštění pracovních postupů"
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr "Nedostatečná oprávnění."
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "Neplatná barva."
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "Typ souboru %(type)s není podporován"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, 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:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr "Vlastní pole s ID %(id)s neexistuje"
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
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:2321
#: documents/serialisers.py:2317
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:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "Zjištěna neplatná proměnná."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4529
#: documents/views.py:4522
#, 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:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4636
#: documents/views.py:4629
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr ""
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Danish\n"
"Language: da_DK\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumenter"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "Værdien skal være gyldig JSON."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "Ugyldigt tilpasset feltforespørgselsudtryk"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "Ugyldig udtryksliste. Må ikke være tom."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "Ugyldig logisk operatør {op!r}"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "Maksimalt antal forespørgselsbetingelser overskredet."
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} er ikke et gyldigt tilpasset felt."
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} understøtter ikke forespørgsel expr {expr!r}."
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "Maksimal indlejringsdybde overskredet."
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "Tilpasset felt ikke fundet"
@@ -1338,48 +1338,48 @@ msgstr "workflow-kørsel"
msgid "workflow runs"
msgstr "workflow-kørsler"
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr ""
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "Ugyldig farve."
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "Filtype %(type)s understøttes ikke"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, python-format
msgid "Custom field id must be an integer: %(id)s"
msgstr ""
#: documents/serialisers.py:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr ""
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
msgid "Custom fields must be a list of integers or an object mapping ids to values."
msgstr ""
#: documents/serialisers.py:2321
#: documents/serialisers.py:2317
msgid "Some custom fields don't exist or were specified twice."
msgstr ""
#: documents/serialisers.py:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "Ugyldig variabel fundet."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4636
#: documents/views.py:4629
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr ""
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\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:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "Wert muss gültiges JSON sein."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "Ungültiger benutzerdefinierter Feldabfrageausdruck"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "Ungültige Ausdrucksliste. Darf nicht leer sein."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "Ungültiger logischer Operator {op!r}"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "Maximale Anzahl an Abfragebedingungen überschritten."
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} ist kein gültiges Zusatzfeld."
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} unterstützt den Abfrageausdruck {expr!r} nicht."
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "Maximale Verschachtelungstiefe überschritten."
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "Benutzerdefiniertes Feld nicht gefunden"
@@ -1338,48 +1338,48 @@ msgstr "Arbeitsablauf-Ausführung"
msgid "workflow runs"
msgstr "Arbeitsablauf wird ausgeführt"
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr "Unzureichende Berechtigungen."
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "Ungültige Farbe."
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "Dateityp %(type)s nicht unterstützt"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, 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:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr "Benutzerdefiniertes Feld mit ID %(id)s existiert nicht"
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
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:2321
#: documents/serialisers.py:2317
msgid "Some custom fields don't exist or were specified twice."
msgstr "Einige benutzerdefinierte Felder existieren nicht oder wurden zweimal angegeben."
#: documents/serialisers.py:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "Ungültige Variable erkannt."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr "Doppelte Dokumentbezeichner sind nicht erlaubt."
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr "Ungültige more_like_id"
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr "Ungültige KI-Konfiguration."
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
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:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Unzureichende Berechtigungen, um Dokument %(id)s zu teilen."
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr "Paket wird bereits verarbeitet."
#: documents/views.py:4636
#: documents/views.py:4629
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:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr "Das Freigabelink-Paket ist nicht verfügbar."
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Language: de_DE\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumente"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "Wert muss gültiges JSON sein."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "Ungültiger Zusatzfeld-Abfrageausdruck"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "Ungültige Ausdrucksliste. Darf nicht leer sein."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "Ungültiger logischer Operator {op!r}"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "Maximale Anzahl an Abfragebedingungen überschritten."
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} ist kein gültiges Zusatzfeld."
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} unterstützt den Abfrageausdruck {expr!r} nicht."
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "Maximale Verschachtelungstiefe überschritten."
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "Zusatzfeld nicht gefunden"
@@ -1338,48 +1338,48 @@ msgstr "Arbeitsablauf-Ausführung"
msgid "workflow runs"
msgstr "Arbeitsablauf wird ausgeführt"
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr "Unzureichende Berechtigungen."
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "Ungültige Farbe."
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "Dateityp %(type)s nicht unterstützt"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, python-format
msgid "Custom field id must be an integer: %(id)s"
msgstr "Zusatzfeld-ID muss eine Ganzzahl sein: %(id)s"
#: documents/serialisers.py:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr "Zusatzfeld mit ID %(id)s existiert nicht"
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
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:2321
#: documents/serialisers.py:2317
msgid "Some custom fields don't exist or were specified twice."
msgstr "Einige Zusatzfelder existieren nicht oder wurden zweimal angegeben."
#: documents/serialisers.py:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "Ungültige Variable erkannt."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr "Doppelte Dokumentbezeichner sind nicht erlaubt."
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr "Ungültige more_like_id"
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr "Ungültige KI-Konfiguration."
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr "Zeitüberschreitung bei der KI-Backendanfrage."
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
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:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Unzureichende Berechtigungen, um Dokument %(id)s zu teilen."
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr "Paket wird bereits verarbeitet."
#: documents/views.py:4636
#: documents/views.py:4629
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:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr "Das Freigabelink-Paket ist nicht verfügbar."
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Greek\n"
"Language: el_GR\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Έγγραφα"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "Η τιμή πρέπει να είναι σε έγκυρη μορφή JSON."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "Μη έγκυρη έκφραση προσαρμοσμένου ερωτήματος πεδίου"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "Μη έγκυρη λίστα έκφρασης. Πρέπει να είναι μη κενή."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "Μη έγκυρος λογικός τελεστής {op!r}"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "Υπέρβαση μέγιστου αριθμού συνθηκών ερωτήματος."
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "Το προσαρμοσμένο πεδίο {name!r} δεν είναι ένα έγκυρο."
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr "Το {data_type} δεν υποστηρίζει το ερώτημα expr {expr!r}s."
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "Υπέρβαση μέγιστου βάθους εμφώλευσης."
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "Το προσαρμοσμένο πεδίο δε βρέθηκε"
@@ -1338,48 +1338,48 @@ msgstr "εκτέλεση ροής εργασίας"
msgid "workflow runs"
msgstr "εκτελέσεις ροής εργασίας"
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr ""
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "Άκυρο χρώμα."
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "Ο τύπος αρχείου %(type)s δεν υποστηρίζεται"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, python-format
msgid "Custom field id must be an integer: %(id)s"
msgstr ""
#: documents/serialisers.py:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr ""
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
msgid "Custom fields must be a list of integers or an object mapping ids to values."
msgstr ""
#: documents/serialisers.py:2321
#: documents/serialisers.py:2317
msgid "Some custom fields don't exist or were specified twice."
msgstr ""
#: documents/serialisers.py:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "Εντοπίστηκε μη έγκυρη μεταβλητή."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4636
#: documents/views.py:4629
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr ""
+20 -20
View File
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-08-07 20:00+0000\n"
"POT-Creation-Date: 2026-08-08 14:28+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:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr ""
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr ""
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr ""
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr ""
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr ""
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr ""
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr ""
#: documents/filters.py:756 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr ""
#: documents/filters.py:1098
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr ""
@@ -1352,7 +1352,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:300 documents/views.py:2556
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: 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:2853 documents/views.py:4510
#: documents/serialisers.py:2853 documents/views.py:4509
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1661,36 +1661,36 @@ msgstr ""
msgid "Unable to parse URI {value}"
msgstr ""
#: documents/views.py:293 documents/views.py:2553
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2378 documents/views.py:2699
#: documents/views.py:2377 documents/views.py:2698
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4523
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4569
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4630
#: documents/views.py:4629
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4640
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr ""
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
"Language: es_ES\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Documentos"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "El valor debe ser un JSON válido."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "Expresión de consulta de campo personalizado no válida"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "Lista de expresiones no válida. No debe estar vacía."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "Operador lógico inválido {op!r}"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "Se ha superado el número máximo de condiciones de consulta."
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{nombre!r} no es un campo personalizado válido."
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} no admite la consulta expr {expr!r}."
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "Profundidad máxima de nidificación superada."
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "Campo personalizado no encontrado"
@@ -1338,48 +1338,48 @@ msgstr "ejecución del flujo de trabajo"
msgid "workflow runs"
msgstr "ejecuciones de flujo de trabajo"
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr "Permisos insuficientes."
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "Color inválido."
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "Tipo de fichero %(type)s no suportado"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, 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:2299
#: documents/serialisers.py:2295
#, 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:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
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:2321
#: documents/serialisers.py:2317
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:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "Variable inválida."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr "No se permiten identificadores de documento duplicados."
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr "Configuración de IA inválida."
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
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:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Permisos insuficientes para compartir el documento %(id)s."
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr "El paquete ya está siendo procesado."
#: documents/views.py:4636
#: documents/views.py:4629
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:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr "El paquete de enlace compartido no está disponible."
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Estonian\n"
"Language: et_EE\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumendid"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "Väärtus peab olema lubatav JSON."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "Vigane kohandatud välja päringu avaldis"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "Vigane avaldiste loend. Peab olema mittetühi."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "Vigane loogikaoperaator {op!r}"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "Päringutingimuste suurim hulk on ületatud."
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} ei ole lubatud kohandatud väli."
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} ei toeta päringu avaldist {expr!r}."
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "Suurim pesastamis sügavus ületatud."
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "Kohandatud välja ei leitud"
@@ -1338,48 +1338,48 @@ msgstr ""
msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr ""
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr ""
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr ""
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, python-format
msgid "Custom field id must be an integer: %(id)s"
msgstr ""
#: documents/serialisers.py:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr ""
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
msgid "Custom fields must be a list of integers or an object mapping ids to values."
msgstr ""
#: documents/serialisers.py:2321
#: documents/serialisers.py:2317
msgid "Some custom fields don't exist or were specified twice."
msgstr ""
#: documents/serialisers.py:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr ""
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4636
#: documents/views.py:4629
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr ""
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Persian\n"
"Language: fa_IR\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "اسناد و مدارک"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "مقدار باید JSON معتبر باشد."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "Invalid custom field query expression"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "لیست عبارت‌ها نامعتبر است. نباید خالی باشد."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr ""
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "حداکثر تعداد شرایط پرس و جو از آن فراتر رفته است."
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{نام! R} یک زمینه سفارشی معتبر نیست."
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr ""
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "حداکثر عمق تودرتویی بیش از حد مجاز است."
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "زمینه سفارشی یافت نشد"
@@ -1338,48 +1338,48 @@ msgstr "گردش کار"
msgid "workflow runs"
msgstr "گردش کار اجرا می شود"
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr ""
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "رنگ نامعتبر"
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr ""
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, python-format
msgid "Custom field id must be an integer: %(id)s"
msgstr ""
#: documents/serialisers.py:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr ""
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
msgid "Custom fields must be a list of integers or an object mapping ids to values."
msgstr ""
#: documents/serialisers.py:2321
#: documents/serialisers.py:2317
msgid "Some custom fields don't exist or were specified twice."
msgstr ""
#: documents/serialisers.py:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "متغیر نامعتبر شناسایی شده است."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4636
#: documents/views.py:4629
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr ""
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Finnish\n"
"Language: fi_FI\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Asiakirjat"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "Arvon on oltava kelvollista JSON:ia."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr ""
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr ""
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr ""
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr ""
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr ""
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr ""
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr ""
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr ""
@@ -1338,48 +1338,48 @@ msgstr ""
msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr ""
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "Virheellinen väri."
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "Tiedostotyyppiä %(type)s ei tueta"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, python-format
msgid "Custom field id must be an integer: %(id)s"
msgstr ""
#: documents/serialisers.py:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr ""
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
msgid "Custom fields must be a list of integers or an object mapping ids to values."
msgstr ""
#: documents/serialisers.py:2321
#: documents/serialisers.py:2317
msgid "Some custom fields don't exist or were specified twice."
msgstr ""
#: documents/serialisers.py:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "Virheellinen muuttuja havaittu."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4636
#: documents/views.py:4629
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr ""
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Language: fr_FR\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Documents"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "La valeur doit être un JSON valide."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "Requête de champ personnalisé invalide"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "Liste d'expressions invalide. Doit être non vide."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "Opérateur logique {op!r} invalide"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "Nombre maximum de conditions dans la requête dépassé."
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} n'est pas un champ personnalisé valide."
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} ne supporte pas l'expression {expr!r}."
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "Profondeur de récursion maximale dépassée."
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "Champ personnalisé non trouvé"
@@ -1338,48 +1338,48 @@ msgstr "exécution du workflow"
msgid "workflow runs"
msgstr "le flux de travail s'exécute"
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr "Droits insuffisants."
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "Couleur incorrecte."
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "Type de fichier %(type)s non pris en charge"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, 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:2299
#: documents/serialisers.py:2295
#, 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:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
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:2321
#: documents/serialisers.py:2317
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:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "Variable invalide détectée."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr "Les identificateurs de document en double ne sont pas autorisés."
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr "More_like_id invalide"
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr "Configuration IA invalide."
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr "La requête d'arrière-plan IA a expiré."
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
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:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Droits d'accès insuffisant pour partager %(id)s document."
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr "Le paquet est déjà en cours de traitement."
#: documents/views.py:4636
#: documents/views.py:4629
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:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr "Le lot de liens de partage n'est pas disponible."
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Hebrew\n"
"Language: he_IL\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "מסמכים"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "ערך חייב להיות JSON תקין."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "ביטוי שאילתה לא חוקי של שדה מותאם אישית"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "רשימת ביטויים לא חוקית. חייב לכלול ערך."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "סימן פעולה לוגית לא חוקי {op!r}"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "חריגה ממספר תנאי השאילתה המרבי."
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} הוא לא שדה מותאם אישית חוקי."
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} לא תומך בביטוי שאילתה {expr!r}."
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "חריגה מעומק הקינון המרבי."
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "שדה מותאם אישית לא נמצא"
@@ -1339,48 +1339,48 @@ msgstr "הרצת זרימת עבודה"
msgid "workflow runs"
msgstr "הרצות זרימת עבודה"
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr "הרשאות אינן מספיקות."
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "צבע לא חוקי."
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "סוג קובץ %(type)s לא נתמך"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, python-format
msgid "Custom field id must be an integer: %(id)s"
msgstr "שדה מותאם אישית id חייב להיות מספרי: %(id)s"
#: documents/serialisers.py:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr "שדה מותאם אישית עם מזהה %(id)s איננו קיים"
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
msgid "Custom fields must be a list of integers or an object mapping ids to values."
msgstr "שדות מותאמים אישית חייבים להיות רשימה של מספרים שלמים או אובייקט הממפה מזהים לערכים."
#: documents/serialisers.py:2321
#: documents/serialisers.py:2317
msgid "Some custom fields don't exist or were specified twice."
msgstr "חלק מהשדות המותאמים אישית אינם קיימים או שהוגדרו פעמיים."
#: documents/serialisers.py:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "משתנה לא חוקי זוהה."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr "מזהי מסמכים כפולים אינם מורשים."
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr "מזהה more_like_id אינו תקין"
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr "הגדרות בינה מלאכותית שגויות."
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "יש לציין רק אחד מהבאים: text, title_search, query או more_like_id."
#: documents/views.py:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "הרשאות לא מספיקות לשיתוף מסמך %(id)s."
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr "החבילה (Bundle) כבר נמצאת בתהליך עיבוד."
#: documents/views.py:4636
#: documents/views.py:4629
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "חבילת קישור השיתוף עדיין בהכנה. נא לנסות שוב מאוחר יותר."
#: documents/views.py:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr "חבילת קישור השיתוף אינה זמינה."
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Hindi\n"
"Language: hi_IN\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "दस्तावेज़"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "मान वैध JSON होना चाहिए."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "अमान्य कस्टम फ़ील्ड क्वेरी एक्सप्रेशन"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "अमान्य एक्सप्रेशन सूची। खाली नहीं होनी चाहिए।"
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "अमान्य लॉजिकल ऑपरेटर {op!r}"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "क्वेरी शर्तों की अधिकतम संख्या पार हो गई है।"
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} यह एक वैध कस्टम फ़ील्ड नहीं है।"
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} क्वेरी एक्सप्रेशन {expr!r} का समर्थन नहीं करता है।"
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "अधिकतम नेस्टिंग डेप्थ पार हो गई है।"
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "कस्टम फ़ील्ड नहीं मिला"
@@ -1338,48 +1338,48 @@ msgstr ""
msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr ""
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr ""
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr ""
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, python-format
msgid "Custom field id must be an integer: %(id)s"
msgstr ""
#: documents/serialisers.py:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr ""
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
msgid "Custom fields must be a list of integers or an object mapping ids to values."
msgstr ""
#: documents/serialisers.py:2321
#: documents/serialisers.py:2317
msgid "Some custom fields don't exist or were specified twice."
msgstr ""
#: documents/serialisers.py:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr ""
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4636
#: documents/views.py:4629
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr ""
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Croatian\n"
"Language: hr_HR\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumenti"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "Vrijednost mora biti važeći JSON."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "Nevažeći izraz upita prilagođenog polja"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "Nevažeći popis izraza. Ne smije biti prazno."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "Nevažeći logički operator {op!r}"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "Premašen je maksimalan broj uvjeta upita."
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} nije važeće prilagođeno polje."
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} ne podržava upit izraz {expr!r}."
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "Premašena je najveća razina ugniježđivanja."
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "Prilagođeno polje nije pronađeno"
@@ -1338,48 +1338,48 @@ msgstr "pokretanje tijeka rada"
msgid "workflow runs"
msgstr "tijek rada pokrenut"
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr "Nedovoljne ovlasti."
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "Nevažeća boja."
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "Vrsta datoteke %(type)s nije podržana"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, 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:2299
#: documents/serialisers.py:2295
#, 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:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
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:2321
#: documents/serialisers.py:2317
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:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "Otkrivena je nevaljana vrsta datoteke."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr "Duplicirani identifikatori dokumenata nisu dopušteni."
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr "Nevažeći more_like_id"
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr "Nevažeća AI konfiguracija."
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
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:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Nedovoljne ovlasti za dijeljenje dokumenta %(id)s."
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr "Paket se već obrađuje."
#: documents/views.py:4636
#: documents/views.py:4629
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:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr "Paket linka za dijeljenje nije dostupan."
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Hungarian\n"
"Language: hu_HU\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumentumok"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "Érvényes JSON érték szükséges."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "Érvénytelen egyéni mező lekérdezési kifejezés"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "Érvénytelen kifejezéslista. Nem lehet üres."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "Érvénytelen logikai operátor {op!r}"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "Maximum lekérdezési feltételszám átlépve."
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} nem érvényes egyéni mező."
#: documents/filters.py:637
#: documents/filters.py:636
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:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "Maximum beágyazási mélység túllépve."
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "Az egyéni mező nem található"
@@ -1338,48 +1338,48 @@ msgstr "munkafolyamat futtatás"
msgid "workflow runs"
msgstr "munkafolyamat futtatások"
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr "Nincs jogosúltsága."
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "Érvénytelen szín."
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "%(type)s fájltípus nem támogatott"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, 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:2299
#: documents/serialisers.py:2295
#, 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:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
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:2321
#: documents/serialisers.py:2317
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:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "Érvénytelen változó észlelve."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr "A dokumentumazonosítók duplikálása nem megengedett."
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr "Érvénytelen more_like_id"
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr "Érvénytelen MI konfiguráció."
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
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:4529
#: documents/views.py:4522
#, 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:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr "A csomag feldolgozása már folyamatban van."
#: documents/views.py:4636
#: documents/views.py:4629
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:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr "A megosztási linkcsomag nem elérhető."
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Indonesian\n"
"Language: id_ID\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumen"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "Nilai harus berupa JSON yang valid."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "Ekspresi pencarian bidang khusus tidak valid"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "Daftar ekspresi tidak valid. Tidak boleh kosong."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "Operator logika {op!r} tidak valid"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "Jumlah maksimal kondisi pencarian terlampaui."
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} bukan bidang khusus yang valid."
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} tidak mendukung ekspresi pencarian expr {expr!r}."
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "Kedalaman susunan maksimal terlampaui."
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "Bidang khusus tidak ditemukan"
@@ -1338,48 +1338,48 @@ msgstr "jalankan alur kerja"
msgid "workflow runs"
msgstr "daftar jalankan alur kerja"
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr "Izin tidak mencukupi"
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "Warna tidak sesuai."
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "Jenis berkas %(type)s tidak didukung"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, 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:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr "Kolom kustom dengan id %(id)s tidak ada"
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
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:2321
#: documents/serialisers.py:2317
msgid "Some custom fields don't exist or were specified twice."
msgstr "Beberapa kolom kustom tidak ada atau ditentukan dua kali."
#: documents/serialisers.py:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "Variabel ilegal terdeteksi."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr "Penggunaan pengenal dokumen ganda tidak diperbolehkan."
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Izin tidak mencukupi untuk berbagi dokumen %(id)s"
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr "Paket sedang diproses."
#: documents/views.py:4636
#: documents/views.py:4629
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:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr "Bundel tautan berbagi tidak tersedia."
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
"Language: it_IT\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Documenti"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "Il valore deve essere un JSON valido."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "Campo personalizzato della query non valido"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "Elenco delle espressioni non valido. Deve essere non vuoto."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "Operatore logico non valido {op!r}"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "Numero massimo di condizioni di query superato."
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} non è un campo personalizzato valido."
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} Non supporta la jQuery Expo {Expo!r}."
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "Profondità massima di nidificazione superata."
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "Campo personalizzato non trovato"
@@ -1338,48 +1338,48 @@ msgstr "esecuzione del flusso di lavoro"
msgid "workflow runs"
msgstr "esecuzioni del flusso di lavoro"
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr "Autorizzazioni insufficienti."
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "Colore non valido."
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "Il tipo di file %(type)s non è supportato"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, 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:2299
#: documents/serialisers.py:2295
#, 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:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
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:2321
#: documents/serialisers.py:2317
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:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "Variabile non valida rilevata."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr "Non sono consentiti identificatori di documenti duplicati."
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr "more_like_id non valido"
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr "Configurazione AI non valida."
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr "Richiesta di backend AI scaduta."
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
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:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Autorizzazioni insufficienti per condividere il documento %(id)s."
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr "Il pacchetto è già in fase di elaborazione."
#: documents/views.py:4636
#: documents/views.py:4629
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:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr "Il pacchetto di link di condivisione non è disponibile."
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
"Language: ja_JP\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "ドキュメント"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "値は有効なJSONである必要があります。"
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "無効なカスタムフィールドクエリ式"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "無効な式リストです。空であってはなりません。"
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "無効な論理演算子 {op!r}"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "クエリ条件の最大数を超えました。"
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} は有効なカスタムフィールドではありません。"
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} はクエリ expr {expr!r} をサポートしていません。"
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "最大ネストの深さを超えました。"
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "カスタムフィールドが見つかりません"
@@ -1338,48 +1338,48 @@ msgstr "ワークフローの実行"
msgid "workflow runs"
msgstr "ワークフローの実行"
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr ""
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "無効な色"
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "ファイルタイプ %(type)s はサポートされていません"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, python-format
msgid "Custom field id must be an integer: %(id)s"
msgstr ""
#: documents/serialisers.py:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr ""
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
msgid "Custom fields must be a list of integers or an object mapping ids to values."
msgstr ""
#: documents/serialisers.py:2321
#: documents/serialisers.py:2317
msgid "Some custom fields don't exist or were specified twice."
msgstr ""
#: documents/serialisers.py:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "無効な変数を検出しました"
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4636
#: documents/views.py:4629
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr ""
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Korean\n"
"Language: ko_KR\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "문서"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "값은 유효한 JSON이어야 합니다."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "잘못된 사용자 정의 필드 쿼리 표현식"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "잘못된 표현식 목록입니다. 비어 있지 않아야 합니다."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "잘못된 논리 연산자 {op!r}"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "쿼리 조건의 최대 개수를 초과했습니다."
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} 은 잘못된 사용자 정의 필드입니다."
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type}은 쿼리 표현식 {expr!r}을(를) 지원하지 않습니다."
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "최대 중첩 깊이를 초과했습니다."
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "사용자 지정 필드를 찾을 수 없음"
@@ -1338,48 +1338,48 @@ msgstr "워크플로 실행"
msgid "workflow runs"
msgstr "워크플로우 실행"
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr ""
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr ""
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr ""
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, python-format
msgid "Custom field id must be an integer: %(id)s"
msgstr "사용자 정의 ID 필드는 반드시 정수여야 합니다: %(id)s"
#: documents/serialisers.py:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr "%(id)s를 ID로 가지는 사용자 정의 필드가 존재하지 않습니다."
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
msgid "Custom fields must be a list of integers or an object mapping ids to values."
msgstr "사용자 정의 필드는 정수 리스트이거나, ID를 값에 매핑하는 객체여야 합니다."
#: documents/serialisers.py:2321
#: documents/serialisers.py:2317
msgid "Some custom fields don't exist or were specified twice."
msgstr "존재하지 않거나 중복된 사용자 정의 필드가 있습니다."
#: documents/serialisers.py:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "잘못된 변수가 감지되었습니다."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4636
#: documents/views.py:4629
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr ""
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Luxembourgish\n"
"Language: lb_LU\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumenter"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr ""
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr ""
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr ""
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr ""
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr ""
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr ""
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr ""
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr ""
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr ""
@@ -1338,48 +1338,48 @@ msgstr ""
msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr ""
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "Ongëlteg Faarf."
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "Fichierstyp %(type)s net ënnerstëtzt"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, python-format
msgid "Custom field id must be an integer: %(id)s"
msgstr ""
#: documents/serialisers.py:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr ""
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
msgid "Custom fields must be a list of integers or an object mapping ids to values."
msgstr ""
#: documents/serialisers.py:2321
#: documents/serialisers.py:2317
msgid "Some custom fields don't exist or were specified twice."
msgstr ""
#: documents/serialisers.py:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "Ongëlteg Zeechen detektéiert."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4636
#: documents/views.py:4629
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr ""
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Lithuanian\n"
"Language: lt_LT\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumentai"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "Reikšmė turi būti galiojantis JSON."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "Neteisinga pasirinktinio lauko užklausos išraiška"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "Neteisingas išraiškos sąrašas. Jis turi būti netuščias."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "Neteisingas loginis operatorius {op!r}"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "Viršytas maksimalus užklausos sąlygų skaičius."
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} nėra galiojantis pasirinktas laukas."
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} nepalaiko užklausos išraiškos {expr!r}."
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "Viršytas maksimalus įdėjimo gylis."
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "Pasirinktinis laukas nerastas"
@@ -1338,48 +1338,48 @@ msgstr ""
msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr ""
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr ""
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr ""
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, python-format
msgid "Custom field id must be an integer: %(id)s"
msgstr ""
#: documents/serialisers.py:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr ""
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
msgid "Custom fields must be a list of integers or an object mapping ids to values."
msgstr ""
#: documents/serialisers.py:2321
#: documents/serialisers.py:2317
msgid "Some custom fields don't exist or were specified twice."
msgstr ""
#: documents/serialisers.py:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr ""
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Nepakanka leidimų bendrinti dokumentą %(id)s."
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr "Rinkinys jau apdorojamas."
#: documents/views.py:4636
#: documents/views.py:4629
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:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr "Dalinimos nuorodų rinkinys yra nepasiekiamas."
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Latvian\n"
"Language: lv_LV\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokuments"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr ""
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr ""
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr ""
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr ""
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr ""
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr ""
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr ""
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr ""
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr ""
@@ -1338,48 +1338,48 @@ msgstr ""
msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr ""
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr ""
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr ""
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, python-format
msgid "Custom field id must be an integer: %(id)s"
msgstr ""
#: documents/serialisers.py:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr ""
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
msgid "Custom fields must be a list of integers or an object mapping ids to values."
msgstr ""
#: documents/serialisers.py:2321
#: documents/serialisers.py:2317
msgid "Some custom fields don't exist or were specified twice."
msgstr ""
#: documents/serialisers.py:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr ""
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4636
#: documents/views.py:4629
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr ""
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Macedonian\n"
"Language: mk_MK\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr ""
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr ""
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr ""
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr ""
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr ""
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr ""
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr ""
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr ""
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr ""
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr ""
@@ -1338,48 +1338,48 @@ msgstr ""
msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr ""
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr ""
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr ""
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, python-format
msgid "Custom field id must be an integer: %(id)s"
msgstr ""
#: documents/serialisers.py:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr ""
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
msgid "Custom fields must be a list of integers or an object mapping ids to values."
msgstr ""
#: documents/serialisers.py:2321
#: documents/serialisers.py:2317
msgid "Some custom fields don't exist or were specified twice."
msgstr ""
#: documents/serialisers.py:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr ""
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4636
#: documents/views.py:4629
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr ""
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Malay\n"
"Language: ms_MY\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumen"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr ""
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr ""
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr ""
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr ""
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr ""
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr ""
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr ""
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr ""
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr ""
@@ -1338,48 +1338,48 @@ msgstr ""
msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr ""
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr ""
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr ""
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, python-format
msgid "Custom field id must be an integer: %(id)s"
msgstr ""
#: documents/serialisers.py:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr ""
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
msgid "Custom fields must be a list of integers or an object mapping ids to values."
msgstr ""
#: documents/serialisers.py:2321
#: documents/serialisers.py:2317
msgid "Some custom fields don't exist or were specified twice."
msgstr ""
#: documents/serialisers.py:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr ""
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4636
#: documents/views.py:4629
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr ""
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
"Language: nl_NL\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Documenten"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "Waarde moet een geldige JSON zijn."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "Ongeldige aangepaste veld query expressie"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "Ongeldige expressielijst mag niet leeg zijn."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "Ongeldige logische operator {op!r}"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "Maximum aantal query voorwaarden overschreden."
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} is geen geldig aangepast veld."
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} ondersteunt geen query expr {expr!r}."
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "Maximale nestdiepte overschreden."
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "Aangepast veld niet gevonden"
@@ -1338,48 +1338,48 @@ msgstr ""
msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr ""
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "Ongeldig kleur."
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "Bestandstype %(type)s niet ondersteund"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, python-format
msgid "Custom field id must be an integer: %(id)s"
msgstr ""
#: documents/serialisers.py:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr "Aangepast veld met id %(id)s bestaat niet"
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
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:2321
#: documents/serialisers.py:2317
msgid "Some custom fields don't exist or were specified twice."
msgstr "Sommige aangepaste velden bestaan niet of zijn dubbel opgegeven."
#: documents/serialisers.py:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "Ongeldige variabele ontdekt."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4636
#: documents/views.py:4629
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr ""
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Norwegian\n"
"Language: no_NO\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumenter"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "Verdien må være gyldig JSON."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "Ugyldig spørringsuttrykk for egendefinerte felt"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "Ugyldig uttrykksliste. Kan ikke være tom."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "Ugyldig logiske operator {op!r}"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "Maksimalt antall spørringsbetingelser er overskredet."
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} er ikke et gyldig egendefinert felt."
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} støtter ikke spørring expr {expr!r}."
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "For mange nivåer med nøsting."
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "Egendefinert felt ble ikke funnet"
@@ -1338,48 +1338,48 @@ msgstr "workflow run (NO)"
msgid "workflow runs"
msgstr "workflow runs (NO)"
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr "Insufficient permissions. (NO)"
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "Ugyldig farge."
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "Filtype %(type)s støttes ikke"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, 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:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr "Egendefinert felt med id %(id)s finnes ikke"
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
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:2321
#: documents/serialisers.py:2317
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:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "Ugyldig variabel oppdaget."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr "Duplicate document identifiers are not allowed. (NO)"
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr "Invalid more_like_id (NO)"
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr "Invalid AI configuration. (NO)"
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr "Forespørselen til KI-tjenesten fikk tidsavbrudd."
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
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:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Insufficient permissions to share document %(id)s. (NO)"
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr "Bundle is already being processed. (NO)"
#: documents/views.py:4636
#: documents/views.py:4629
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:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr "The share link bundle is unavailable. (NO)"
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
"Language: pl_PL\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumenty"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "Wartość musi być poprawnym JSON-em."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "Nieprawidłowe wyrażenie zapytania pola niestandardowego"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "Nieprawidłowa lista wyrażeń. Nie może być pusta."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "Nieprawidłowy operator logiczny {op!r}"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "Maksymalna liczba warunków zapytania została przekroczona."
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} nie jest prawidłowym polem niestandardowym."
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} nie obsługuje wyrażenia zapytania {expr!r}."
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "Przekroczono maksymalną głębokość zagnieżdżenia."
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "Nie znaleziono pola niestandardowego"
@@ -1338,48 +1338,48 @@ msgstr "uruchomienie przepływu pracy"
msgid "workflow runs"
msgstr "uruchomienia przepływu pracy"
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr "Niewystarczające uprawnienia."
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "Nieprawidłowy kolor."
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "Typ pliku %(type)s nie jest obsługiwany"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, 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:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr "Pole niestandardowe z id %(id)s nie istnieje"
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
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:2321
#: documents/serialisers.py:2317
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:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "Wykryto nieprawidłową zmienną."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr "Nie dopuszcza się powielania identyfikatorów dokumentów."
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr "Nieprawidłowy more_like_id"
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Brak uprawnień do udostępnienia dokumentu %(id)s."
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr "Pakiet jest już przetwarzany."
#: documents/views.py:4636
#: documents/views.py:4629
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:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr "Pakiet do udostępnienia jest niedostępny."
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\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:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "O valor deve ser um JSON válido."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "Expressão de consulta de campo personalizado inválida"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "Lista de expressões inválida. Deve estar não vazia."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "Operador lógico inválido {op!r}"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "Número máximo de condições de consulta excedido."
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} não é um campo personalizado válido."
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} Não suporta a consulta expr {expr!r}."
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "Profundidade máxima do aninhamento excedida."
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "Campo personalizado não encontrado"
@@ -1339,48 +1339,48 @@ msgstr "execução do fluxo de trabalho"
msgid "workflow runs"
msgstr "execução de fluxo de trabalho"
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr ""
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "Cor inválida."
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "Tipo de arquivo %(type)s não suportado"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, 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:2299
#: documents/serialisers.py:2295
#, 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:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
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:2321
#: documents/serialisers.py:2317
msgid "Some custom fields don't exist or were specified twice."
msgstr "Campos personalizados inválidos ou duplicados."
#: documents/serialisers.py:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "Variável inválida detectada."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4636
#: documents/views.py:4629
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr ""
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Portuguese\n"
"Language: pt_PT\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Documentos"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "O valor deve ser JSON válido."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "Expressão de consulta de campo personalizado inválido"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "Lista de expressões inválida. Não deve estar vazia."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "Operador lógico inválido {op!r}"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "O número máximo de condições de consulta foi excedido."
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} não é um campo personalizado válido."
#: documents/filters.py:637
#: documents/filters.py:636
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:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr ""
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "Campo personalizado não encontrado"
@@ -1338,48 +1338,48 @@ msgstr ""
msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr ""
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "Cor invalida."
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "Tipo de arquivo %(type)s não suportado"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, python-format
msgid "Custom field id must be an integer: %(id)s"
msgstr ""
#: documents/serialisers.py:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr ""
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
msgid "Custom fields must be a list of integers or an object mapping ids to values."
msgstr ""
#: documents/serialisers.py:2321
#: documents/serialisers.py:2317
msgid "Some custom fields don't exist or were specified twice."
msgstr ""
#: documents/serialisers.py:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "Variável inválida detetada."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4636
#: documents/views.py:4629
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr ""
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Romanian\n"
"Language: ro_RO\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Documente"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "Valoarea trebuie să fie validă JSON."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "Expresie de interogare pentru câmp personalizat nevalidă"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "Listă de expresii nevalidă. Trebuie să nu fie goală."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "Operator logic nevalid {op!r}"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "Numărul maxim de condiții de interogare a fost depășit."
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} nu este un câmp personalizat valid."
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} nu acceptă interogare expr {expr!r}."
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "Adâncimea maximă depășită."
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "Câmpul personalizat nu a fost găsit"
@@ -1338,48 +1338,48 @@ msgstr "rulare flux de lucru"
msgid "workflow runs"
msgstr "rulări flux de lucru"
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr ""
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "Culoare invalidă."
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "Tip de fișier %(type)s nesuportat"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, 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:2299
#: documents/serialisers.py:2295
#, 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:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
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:2321
#: documents/serialisers.py:2317
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:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "Variabilă nevalidă detectată."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4636
#: documents/views.py:4629
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr ""
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
"Language: ru_RU\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Документы"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "Значение должно быть корректным JSON."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "Неверное выражение запроса пользовательского поля"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "Недопустимый список выражений. Не может быть пустым."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "Недопустимый логический оператор {op!r}"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "Превышено максимальное количество условий запроса."
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} не является допустимым пользовательским полем."
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} не поддерживает запрос {expr!r}."
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "Превышена максимальная глубина вложения."
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "Пользовательское поле не найдено"
@@ -1338,48 +1338,48 @@ msgstr "запуск рабочего процесса"
msgid "workflow runs"
msgstr "запуски рабочего процесса"
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr ""
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "Неверный цвет."
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "Тип файла %(type)s не поддерживается"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, python-format
msgid "Custom field id must be an integer: %(id)s"
msgstr ""
#: documents/serialisers.py:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr ""
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
msgid "Custom fields must be a list of integers or an object mapping ids to values."
msgstr ""
#: documents/serialisers.py:2321
#: documents/serialisers.py:2317
msgid "Some custom fields don't exist or were specified twice."
msgstr ""
#: documents/serialisers.py:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "Обнаружена неверная переменная."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4636
#: documents/views.py:4629
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr ""
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Slovak\n"
"Language: sk_SK\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumenty"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "Hodnota musí byť vo validnom formáte JSON."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "Neplatný výraz požiadavky na vlastné pole"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "Neplatný zoznam výrazov. Nesmie byť prázdny."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "Neplatný logický operátor {op!r}"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "Prekročili ste maximálny počet podmienok požiadavky."
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} nie je platné vlastné pole."
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} nepodporuje výraz požiadavky {expr!r}."
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "Bola prekročená maximálna hĺbka vetvenia."
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "Vlastné pole nebolo nájdené"
@@ -1338,48 +1338,48 @@ msgstr "spustenie pracovného postupu"
msgid "workflow runs"
msgstr "spustenia pracovných postupov"
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr ""
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "Neplatná farba."
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "Typ súboru %(type)s nie je podporovaný"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, python-format
msgid "Custom field id must be an integer: %(id)s"
msgstr ""
#: documents/serialisers.py:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr ""
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
msgid "Custom fields must be a list of integers or an object mapping ids to values."
msgstr ""
#: documents/serialisers.py:2321
#: documents/serialisers.py:2317
msgid "Some custom fields don't exist or were specified twice."
msgstr ""
#: documents/serialisers.py:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "Zistená neplatná premenná."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4636
#: documents/views.py:4629
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr ""
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Slovenian\n"
"Language: sl_SI\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokumenti"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "Vrednost mora biti veljaven JSON."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "Neveljaven izraz poizvedbe po polju po meri"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "Neveljaven seznam izrazov. Ne sme biti prazen."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "Neveljaven logični operator {op!r}"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "Preseženo je bilo največje dovoljeno število pogojev poizvedbe."
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} ni veljavno polje po meri."
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} ne podpira izraza poizvedbe {expr!r}."
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "Presežena je bila največja globina gnezdenja."
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "Polja po meri ni bilo mogoče najti"
@@ -1338,48 +1338,48 @@ msgstr "izvajanje poteka dela"
msgid "workflow runs"
msgstr "poteka dela"
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr "Nezadostna dovoljenja."
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "Napačna barva."
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "Vrsta datoteke %(type)s ni podprta"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, 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:2299
#: documents/serialisers.py:2295
#, 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:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
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:2321
#: documents/serialisers.py:2317
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:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "Zaznani neveljavni znaki."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr "Podvojeni identifikatorji dokumentov niso dovoljeni."
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr "Neveljaven more_like_id"
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr "Neveljavna konfiguracija umetne inteligence."
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr "Časovna omejitev zahteve za umetno inteligenco je potekla."
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
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:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Nezadostna dovoljenja za skupno rabo dokumenta %(id)s."
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr "Paket se že obdeluje."
#: documents/views.py:4636
#: documents/views.py:4629
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:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr "Paket povezav za deljenje ni na voljo."
File diff suppressed because it is too large Load Diff
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\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:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "Vrednost mora da bude važeći JSON."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "Nevažeći izraz upita prilagođen polja"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "Nevažeća lista izraza. Ne sme biti prazna."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "Nevažeći logični operator {op!r}"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "Premašen je maksimalni broj uslova u upitu."
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} nije validno prilagođeno polje."
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} ne podržava izraz u upitu {expr!r}."
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "Premašena je maksimalna dubina grananja."
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "Nije pronađeno prilagođeno polje"
@@ -1338,48 +1338,48 @@ msgstr "pokretanje radnog toka"
msgid "workflow runs"
msgstr "pokretanje tokova rada"
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr "Nedovoljne dozvole."
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "Nevažeća boja."
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "Vrsta datoteke %(type)s nije podržana"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, 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:2299
#: documents/serialisers.py:2295
#, 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:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
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:2321
#: documents/serialisers.py:2317
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:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "Otkrivena je nevažeća promenljiva."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr "Duplirani identifikatori dokumenata nisu dozvoljeni."
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr "Nevažeći more_like_id"
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr "Nevažeća konfiguracija veštačke inteligencije."
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
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:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Nedovoljne dozvole za deljenje dokumenta %(id)s."
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr "Paket se već obrađuje."
#: documents/views.py:4636
#: documents/views.py:4629
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:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr "Paket linkova za deljenje nije dostupan."
+30 -30
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 16:14+0000\n"
"PO-Revision-Date: 2026-07-31 16:15\n"
"POT-Creation-Date: 2026-08-08 14:28+0000\n"
"PO-Revision-Date: 2026-08-08 14:29\n"
"Last-Translator: \n"
"Language-Team: Swedish\n"
"Language: sv_SE\n"
@@ -21,39 +21,39 @@ msgstr ""
msgid "Documents"
msgstr "Dokument"
#: documents/filters.py:472
#: documents/filters.py:471
msgid "Value must be valid JSON."
msgstr "Värdet måste vara giltigt JSON."
#: documents/filters.py:491
#: documents/filters.py:490
msgid "Invalid custom field query expression"
msgstr "Ogiltigt sökordsuttryck för anpassade fält"
#: documents/filters.py:501
#: documents/filters.py:500
msgid "Invalid expression list. Must be nonempty."
msgstr "Ogiltig uttryckslista. Får inte vara tom."
#: documents/filters.py:522
#: documents/filters.py:521
msgid "Invalid logical operator {op!r}"
msgstr "Ogiltig logisk operator {op!r}"
#: documents/filters.py:536
#: documents/filters.py:535
msgid "Maximum number of query conditions exceeded."
msgstr "Maximalt antal frågevillkor överskrids."
#: documents/filters.py:600
#: documents/filters.py:599
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} är inte ett giltigt anpassat fält."
#: documents/filters.py:637
#: documents/filters.py:636
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} stöder inte frågan expr {expr!r}."
#: documents/filters.py:752 documents/models.py:136
#: documents/filters.py:755 documents/models.py:136
msgid "Maximum nesting depth exceeded."
msgstr "Maximalt antal nästlade nivåer överskrids."
#: documents/filters.py:1094
#: documents/filters.py:1073
msgid "Custom field not found"
msgstr "Anpassat fält hittades inte"
@@ -1338,48 +1338,48 @@ msgstr ""
msgid "workflow runs"
msgstr "arbetsflöde körs"
#: documents/serialisers.py:522 documents/serialisers.py:874
#: documents/serialisers.py:2776 documents/views.py:299 documents/views.py:2558
#: documents/serialisers.py:521 documents/serialisers.py:873
#: documents/serialisers.py:2767 documents/views.py:299 documents/views.py:2555
#: paperless_mail/serialisers.py:155
msgid "Insufficient permissions."
msgstr "Otillräckliga behörigheter."
#: documents/serialisers.py:710
#: documents/serialisers.py:709
msgid "Invalid color."
msgstr "Ogiltig färg."
#: documents/serialisers.py:2248
#: documents/serialisers.py:2244
#, python-format
msgid "File type %(type)s not supported"
msgstr "Filtypen %(type)s stöds inte"
#: documents/serialisers.py:2292
#: documents/serialisers.py:2288
#, 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:2299
#: documents/serialisers.py:2295
#, python-format
msgid "Custom field with id %(id)s does not exist"
msgstr ""
#: documents/serialisers.py:2316 documents/serialisers.py:2326
#: documents/serialisers.py:2312 documents/serialisers.py:2322
msgid "Custom fields must be a list of integers or an object mapping ids to values."
msgstr ""
#: documents/serialisers.py:2321
#: documents/serialisers.py:2317
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:2468
#: documents/serialisers.py:2464
msgid "Invalid variable detected."
msgstr "Ogiltig variabel upptäckt."
#: documents/serialisers.py:2832
#: documents/serialisers.py:2823
msgid "Duplicate document identifiers are not allowed."
msgstr "Dubbletter av dokumentidentifierare är inte tillåtna."
#: documents/serialisers.py:2862 documents/views.py:4517
#: documents/serialisers.py:2853 documents/views.py:4509
#, 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:2555
#: documents/views.py:292 documents/views.py:2552
msgid "Invalid more_like_id"
msgstr "Ogiltig more_like_id"
#: documents/views.py:1567
#: documents/views.py:1566
msgid "Invalid AI configuration."
msgstr "Ogiltig AI-konfiguration."
#: documents/views.py:1576
#: documents/views.py:1575
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:2380 documents/views.py:2701
#: documents/views.py:2377 documents/views.py:2698
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4529
#: documents/views.py:4522
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4575
#: documents/views.py:4568
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4636
#: documents/views.py:4629
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4646
#: documents/views.py:4639
msgid "The share link bundle is unavailable."
msgstr ""

Some files were not shown because too many files have changed in this diff Show More