Compare commits

..
Author SHA1 Message Date
Crowdin Bot d3738e2d82 New Crowdin translations by GitHub Action 2026-10-15 00:48:13 +00:00
dependabot[bot] c50c6f5517 Chore(deps): Bump filelock from 3.32.6 to 4.0.12 (#14336)
Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.32.6 to 4.0.12.
- [Release notes](https://github.com/tox-dev/py-filelock/releases)
- [Changelog](https://github.com/tox-dev/filelock/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/py-filelock/compare/3.32.6...4.0.12)

---
updated-dependencies:
- dependency-name: filelock
  dependency-version: 4.0.3
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-14 16:11:12 -07:00
62 changed files with 1650 additions and 1611 deletions

No files matched your search

+1 -1
View File
@@ -43,7 +43,7 @@ dependencies = [
"drf-spectacular~=0.30",
"drf-spectacular-sidecar>=2026.7.1,<2026.10",
"drf-writable-nested~=0.7.1",
"filelock~=3.32.0",
"filelock>=3.32,<4.1",
"flower>=2.0.1,<2.3",
"gotenberg-client[httpx]~=1.0",
"httpx-oauth~=0.17",
+20 -20
View File
@@ -17,7 +17,7 @@
<context context-type="linenumber">386,393</context>
</context-group>
<note priority="1" from="description">Currently selected slide number read by screen reader</note>
<target state="needs-translation"> Slide <x id="INTERPOLATION" equiv-text="xt(source?: Ngb"/> of <x id="INTERPOLATION_1" equiv-text="this._cycleToSe"/> </target>
<target state="translated"> Shlid <x id="INTERPOLATION" equiv-text="xt(source?: Ngb"/> i <x id="INTERPOLATION_1" equiv-text="this._cycleToSe"/></target>
</trans-unit>
<trans-unit id="ngb.carousel.previous" datatype="html">
<source>Previous</source>
@@ -571,7 +571,7 @@
<context context-type="sourcefile">src/app/components/admin/config/config.component.html</context>
<context context-type="linenumber">35</context>
</context-group>
<target state="needs-translation">This value overrides <x id="INTERPOLATION" equiv-text="{{option.config_key}}"/>, which is set outside Paperless.</target>
<target state="translated">Ky vlerë mbizotëron <x id="INTERPOLATION" equiv-text="{{option.config_key}}"/>, i cili është vendosur jashtë Paperless.</target>
</trans-unit>
<trans-unit id="7221396516204435584" datatype="html">
<source><x id="INTERPOLATION" equiv-text="{{option.config_key}}"/> is set outside Paperless. Enter a value here to override it.</source>
@@ -579,7 +579,7 @@
<context context-type="sourcefile">src/app/components/admin/config/config.component.html</context>
<context context-type="linenumber">37</context>
</context-group>
<target state="needs-translation"><x id="INTERPOLATION" equiv-text="{{option.config_key}}"/> is set outside Paperless. Enter a value here to override it.</target>
<target state="translated"><x id="INTERPOLATION" equiv-text="{{option.config_key}}"/> është vendosur jashtë Paperless. Shkruani një vlerë këtu për ta mbingarkuar atë.</target>
</trans-unit>
<trans-unit id="8318849619178340389" datatype="html">
<source>Use the externally configured value</source>
@@ -587,7 +587,7 @@
<context context-type="sourcefile">src/app/components/admin/config/config.component.html</context>
<context context-type="linenumber">42</context>
</context-group>
<target state="needs-translation">Use the externally configured value</target>
<target state="translated">Përdorni vlerën e konfiguruar nga jashtë</target>
</trans-unit>
<trans-unit id="6032629623003430385" datatype="html">
<source>Reset to external</source>
@@ -595,7 +595,7 @@
<context context-type="sourcefile">src/app/components/admin/config/config.component.html</context>
<context context-type="linenumber">43</context>
</context-group>
<target state="needs-translation">Reset to external</target>
<target state="translated">Rinisni në të jashtëm</target>
</trans-unit>
<trans-unit id="7808756054397155068" datatype="html">
<source>Reset</source>
@@ -1135,7 +1135,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">115,116</context>
</context-group>
<target state="needs-translation">Sidebar items to show:</target>
<target state="translated">Elementët e shiritit anësor për t'u shfaqur:</target>
</trans-unit>
<trans-unit id="1356890996281769972" datatype="html">
<source>Dark mode</source>
@@ -1403,7 +1403,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">259,260</context>
</context-group>
<target state="needs-translation">Suggestions default to</target>
<target state="translated">Sugjerimet parazgjedhore janë</target>
</trans-unit>
<trans-unit id="6251586038459969294" datatype="html">
<source>Both</source>
@@ -1411,7 +1411,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">264</context>
</context-group>
<target state="needs-translation">Both</target>
<target state="translated">Të dyja</target>
</trans-unit>
<trans-unit id="8967224283122923634" datatype="html">
<source>ML only</source>
@@ -1419,7 +1419,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">266</context>
</context-group>
<target state="needs-translation">ML only</target>
<target state="translated">Vetëm ML</target>
</trans-unit>
<trans-unit id="6418969597665857901" datatype="html">
<source>AI only</source>
@@ -1427,7 +1427,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">268</context>
</context-group>
<target state="needs-translation">AI only</target>
<target state="translated">Vetëm AI</target>
</trans-unit>
<trans-unit id="1043449647727456069" datatype="html">
<source>Automatically request suggestions for inbox documents</source>
@@ -1435,7 +1435,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">276</context>
</context-group>
<target state="needs-translation">Automatically request suggestions for inbox documents</target>
<target state="translated">Kërkoni automatikisht sugjerime për dokumentet në kutinë e postës elektronike</target>
</trans-unit>
<trans-unit id="460700039378563125" datatype="html">
<source>If un-checked, suggestions must be requested via the Suggest button.</source>
@@ -1443,7 +1443,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">276</context>
</context-group>
<target state="needs-translation">If un-checked, suggestions must be requested via the Suggest button.</target>
<target state="translated">Nëse nuk është shënuar, sugjerimet duhet të kërkohen përmes butonit Sugjero.</target>
</trans-unit>
<trans-unit id="8793267604636304297" datatype="html">
<source>Show document thumbnail during loading</source>
@@ -2319,7 +2319,7 @@
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
<context context-type="linenumber">21</context>
</context-group>
<target state="needs-translation">Clear search</target>
<target state="translated">Pastro kërkimin</target>
</trans-unit>
<trans-unit id="3570013039254960445" datatype="html">
<source>Search tasks</source>
@@ -2651,7 +2651,7 @@
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.html</context>
<context context-type="linenumber">207</context>
</context-group>
<target state="needs-translation">View task details</target>
<target state="translated">Shiko detajet e detyrës</target>
</trans-unit>
<trans-unit id="1536087519743707362" datatype="html">
<source>Dismiss</source>
@@ -2887,7 +2887,7 @@
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
<context context-type="linenumber">104</context>
</context-group>
<target state="needs-translation">Apply AI Suggestions</target>
<target state="translated">Apliko sugjerimet e AI</target>
</trans-unit>
<trans-unit id="9172233176401579786" datatype="html">
<source>Scheduled</source>
@@ -3783,7 +3783,7 @@
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
<context context-type="linenumber">42</context>
</context-group>
<target state="needs-translation">User menu</target>
<target state="translated">Menuja e përdoruesit</target>
</trans-unit>
<trans-unit id="2448391510242468907" datatype="html">
<source>Logged in as <x id="INTERPOLATION" equiv-text="{{this.settingsService.displayName}}"/></source>
@@ -3939,7 +3939,7 @@
<context context-type="sourcefile">src/app/components/manage/share-links/share-links.component.html</context>
<context context-type="linenumber">2,3</context>
</context-group>
<target state="needs-translation">Share links</target>
<target state="translated">Ndani lidhjet</target>
</trans-unit>
<trans-unit id="7844706011418789951" datatype="html">
<source>Administration</source>
@@ -4015,7 +4015,7 @@
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
<context context-type="linenumber">403</context>
</context-group>
<target state="needs-translation">Configure update checking</target>
<target state="translated">Konfiguro kontrollin e përditësimeve</target>
</trans-unit>
<trans-unit id="1542489069631984294" datatype="html">
<source>Sidebar views updated</source>
@@ -4259,7 +4259,7 @@
<context context-type="sourcefile">src/app/data/saved-view-icons.ts</context>
<context context-type="linenumber">21</context>
</context-group>
<target state="needs-translation">Chat</target>
<target state="translated">Bisedë</target>
</trans-unit>
<trans-unit id="8066608938393600549" datatype="html">
<source>Message</source>
@@ -4379,7 +4379,7 @@
<context context-type="sourcefile">src/app/components/common/confirm-dialog/merge-as-versions-confirm-dialog/merge-as-versions-confirm-dialog.component.html</context>
<context context-type="linenumber">8,9</context>
</context-group>
<target state="needs-translation">Root document:</target>
<target state="translated">Dokumenti rrënjësor:</target>
</trans-unit>
<trans-unit id="2121026240713807342" datatype="html">
<source>Versions (oldest first):</source>
+1 -2
View File
@@ -34,7 +34,6 @@ from documents.models import DocumentType
from documents.models import PaperlessTask
from documents.models import StoragePath
from documents.models import Tag
from documents.permissions import PermissionsSpec
from documents.permissions import set_permissions_for_objects
from documents.plugins.helpers import DocumentsStatusManager
from documents.tasks import bulk_update_documents
@@ -446,7 +445,7 @@ def reprocess(doc_ids: list[int], *, remote_ocr: bool = False) -> Literal["OK"]:
def set_permissions(
doc_ids: list[int],
set_permissions: PermissionsSpec,
set_permissions: dict,
*,
owner: User | None = None,
merge: bool = False,
+3 -4
View File
@@ -38,8 +38,7 @@ from documents.models import StoragePath
from documents.models import Tag
from documents.models import WorkflowTrigger
from documents.parsers import ParseError
from documents.permissions import PermissionsSpec
from documents.permissions import set_permissions_for_objects
from documents.permissions import set_permissions_for_object
from documents.plugins.base import AlwaysRunPluginMixin
from documents.plugins.base import ConsumeTaskPlugin
from documents.plugins.base import NoCleanupPluginMixin
@@ -949,7 +948,7 @@ class ConsumerPlugin(
or self.metadata.change_users is not None
or self.metadata.change_groups is not None
):
permissions: PermissionsSpec = {
permissions = {
"view": {
"users": self.metadata.view_users or [],
"groups": self.metadata.view_groups or [],
@@ -959,7 +958,7 @@ class ConsumerPlugin(
"groups": self.metadata.change_groups or [],
},
}
set_permissions_for_objects(permissions, Document, [document.pk])
set_permissions_for_object(permissions=permissions, object=document)
if self.metadata.custom_fields:
for field in CustomField.objects.filter(
+29 -8
View File
@@ -5,6 +5,8 @@ from pathlib import Path
from typing import TypedDict
import magic
from guardian.shortcuts import get_groups_with_perms
from guardian.shortcuts import get_users_with_perms
class StoredBarcode(TypedDict):
@@ -115,9 +117,6 @@ class DocumentMetadataOverrides:
"""
Fills in the overrides from a document object
"""
# documents.models imports this module, so this can't be a top-level import
from documents.permissions import get_permission_grantees
overrides = DocumentMetadataOverrides()
overrides.title = doc.title
overrides.correspondent_id = doc.correspondent.id if doc.correspondent else None
@@ -127,16 +126,38 @@ class DocumentMetadataOverrides:
overrides.tag_ids = list(doc.tags.values_list("id", flat=True))
overrides.created = doc.created
grantees = get_permission_grantees(type(doc), [doc.pk])[doc.pk]
overrides.view_users = grantees["view"]["users"]
overrides.view_groups = grantees["view"]["groups"]
overrides.change_users = grantees["change"]["users"]
overrides.change_groups = grantees["change"]["groups"]
overrides.view_users = list(
get_users_with_perms(
doc,
only_with_perms_in=["view_document"],
).values_list("id", flat=True),
)
overrides.change_users = list(
get_users_with_perms(
doc,
only_with_perms_in=["change_document"],
).values_list("id", flat=True),
)
overrides.custom_fields = {
custom_field.field.id: custom_field.value
for custom_field in doc.custom_fields.all()
}
groups_with_perms = get_groups_with_perms(
doc,
attach_perms=True,
)
overrides.view_groups = [
group.id
for group in groups_with_perms
if "view_document" in groups_with_perms[group]
]
overrides.change_groups = [
group.id
for group in groups_with_perms
if "change_document" in groups_with_perms[group]
]
return overrides
+134 -97
View File
@@ -1,10 +1,4 @@
from collections.abc import Iterable
from collections.abc import Mapping
from typing import Any
from typing import Final
from typing import Literal
from typing import TypeAlias
from typing import TypedDict
from typing import TypeVar
from django.contrib.auth.models import Group
@@ -26,39 +20,16 @@ from django.db.models.functions import Coalesce
from guardian.core import ObjectPermissionChecker
from guardian.models import GroupObjectPermission
from guardian.models import UserObjectPermission
from guardian.shortcuts import assign_perm
from guardian.shortcuts import get_objects_for_user
from guardian.shortcuts import get_users_with_perms
from guardian.shortcuts import remove_perm
from rest_framework.permissions import BasePermission
from rest_framework.permissions import DjangoObjectPermissions
from documents.models import Document
from documents.versioning import get_root_document
PermissionAction = Literal["view", "change"]
PERMISSION_ACTIONS: Final[tuple[PermissionAction, ...]] = ("view", "change")
class PermissionGrantees(TypedDict):
"""
The user and group ids holding one permission action directly on an
object. Users who only hold it through a group are not listed.
"""
users: list[int]
groups: list[int]
class PermissionGranteesUpdate(TypedDict, total=False):
"""
The user and group ids to grant one permission action to. A missing key
leaves that kind of grant untouched.
"""
users: Iterable[int]
groups: Iterable[int]
PermissionsSpec: TypeAlias = Mapping[PermissionAction, PermissionGranteesUpdate]
class PaperlessObjectPermissions(DjangoObjectPermissions):
"""
@@ -119,10 +90,101 @@ def has_system_status_permission(user: User | None) -> bool:
)
def get_groups_with_only_permission(obj, codename):
ctype = ContentType.objects.get_for_model(obj)
permission = Permission.objects.get(content_type=ctype, codename=codename)
group_object_perm_group_ids = (
GroupObjectPermission.objects.filter(
object_pk=obj.pk,
content_type=ctype,
)
.filter(permission=permission)
.values_list("group_id")
)
return Group.objects.filter(id__in=group_object_perm_group_ids).distinct()
def set_permissions_for_object(
permissions: dict,
object,
*,
merge: bool = False,
) -> None:
"""
Set permissions for an object. The permissions are given as a mapping of actions
to a dict of user / group id lists, e.g.
{"view": {"users": [1], "groups": [2]}, "change": {"users": [], "groups": []}}.
If merge is True, the permissions are merged with the existing permissions and
no users or groups are removed. If False, the permissions are set to exactly
the given list of users and groups.
"""
for action, entry in permissions.items():
permission = f"{action}_{object.__class__.__name__.lower()}"
if "users" in entry:
# users
users_to_add = User.objects.filter(id__in=entry["users"])
users_to_remove = (
get_users_with_perms(
object,
only_with_perms_in=[permission],
with_group_users=False,
)
if not merge
else User.objects.none()
)
if users_to_add.exists() and users_to_remove.exists():
users_to_remove = users_to_remove.exclude(id__in=users_to_add)
if users_to_remove.exists():
for user in users_to_remove:
remove_perm(permission, user, object)
if users_to_add.exists():
for user in users_to_add:
assign_perm(permission, user, object)
if action == "change":
# change gives view too
assign_perm(
f"view_{object.__class__.__name__.lower()}",
user,
object,
)
if "groups" in entry:
# groups
groups_to_add = Group.objects.filter(id__in=entry["groups"])
groups_to_remove = (
get_groups_with_only_permission(
object,
permission,
)
if not merge
else Group.objects.none()
)
if groups_to_add.exists() and groups_to_remove.exists():
groups_to_remove = groups_to_remove.exclude(id__in=groups_to_add)
if groups_to_remove.exists():
for group in groups_to_remove:
remove_perm(permission, group, object)
if groups_to_add.exists():
for group in groups_to_add:
assign_perm(permission, group, object)
if action == "change":
# change gives view too
assign_perm(
f"view_{object.__class__.__name__.lower()}",
group,
object,
)
def _resolve_permissions(codenames: set[str], ctype: ContentType) -> list[Permission]:
"""
Resolve ``codenames`` to Permission rows, raising for any that don't exist
so a bad action name fails loudly instead of granting nothing.
Resolves `codenames` to Permission rows, raising like the single-object
assign_perm() this bulk path replaces does (via a `.get()` internally)
if any codename doesn't exist. SetPermissionsSerializer rejects unknown
action names at the API, but a caller passing one directly would
otherwise get a plain `.filter()` that silently builds zero rows and
no-ops instead of reporting the bad input.
"""
permission_objs = list(
Permission.objects.filter(content_type=ctype, codename__in=codenames),
@@ -141,13 +203,16 @@ def _apply_bulk_permission_entry(
perm_model: type[UserObjectPermission] | type[GroupObjectPermission],
identity_model: type[User] | type[Group],
identity_field: str,
ids: Iterable[int],
ids: list[int],
codename: str,
permission_objs: list[Permission],
ctype: ContentType,
object_pks: list[str],
merge: bool,
) -> None:
# Only the ids are needed to build permission rows (via `<field>_id=`),
# so avoid fetching full User/Group rows for identities that may not
# even end up being granted anything new.
add_ids = set(
identity_model.objects.filter(id__in=ids).values_list("id", flat=True),
)
@@ -185,26 +250,45 @@ def _apply_bulk_permission_entry(
for pk in object_pks
for identity_id in add_ids
]
# ignore_conflicts skips grants that already exist (unique constraint).
# ignore_conflicts skips only rows that already exist as an exact
# (identity, permission, object) match -- the same de-dup the
# underlying (user|group, permission, object_pk) unique constraint
# already enforces for the single-object assign_perm() this replaces,
# so it doesn't change what counts as "already granted". batch_size
# caps how many rows go into a single INSERT statement.
perm_model.objects.bulk_create(rows, ignore_conflicts=True, batch_size=1000)
def set_permissions_for_objects(
permissions: PermissionsSpec,
permissions: dict,
model: type[Model],
pks: QuerySet | list,
*,
merge: bool = False,
) -> None:
"""
Set the view/change grants for every object in ``pks``. With ``merge``,
the given users and groups are added; without it, each given action's
direct grants are replaced. Granting change also grants view, and an
action entry with neither key is left untouched.
Bulk equivalent of set_permissions_for_object: applies the same
permission changes to every object identified by `pks` at once.
guardian's bulk assign_perm is avoided because it skips the direct row
for anyone who already has access through a group, so revoking the group
later would silently remove access that was granted explicitly.
Takes a model + pks (rather than model instances) deliberately -- the
permission rows built below only ever need `pk`, `content_type`, and
identity ids, so callers shouldn't have to fetch full rows (with every
other field) just to hand them to this function.
Deliberately does not use guardian's queryset/list-aware assign_perm:
passing a list as the object routes to bulk_assign_perm, which skips
creating a direct permission row for anyone who already has the
permission via ANY group membership (it checks
ObjectPermissionChecker.has_perm, which is group-inheritance-aware) --
unlike the single-object assign_perm this replaces, which always
ensures a direct row via get_or_create regardless of group-derived
access. Losing that guarantee would mean a later revocation of the
group's grant silently strips access an admin explicitly asked to be
direct. Bulk-creating rows straight against the permission models
instead (see _apply_bulk_permission_entry) preserves the original
always-create-a-direct-row semantics while still batching every object
and every identity into one query per action, rather than one query per
(object, user) pair.
"""
object_pks = [str(pk) for pk in pks]
if not object_pks: # pragma: no cover
@@ -213,9 +297,12 @@ def set_permissions_for_objects(
model_name = model.__name__.lower()
ctype = ContentType.objects.get_for_model(model)
# Resolve every action before writing, so a bad one can't leave the
# actions ahead of it applied.
permissions_by_action: dict[PermissionAction, list[Permission]] = {}
# Every action is resolved up front, before anything is written, so an
# unrecognized action name (see _resolve_permissions) aborts the whole
# call instead of leaving the actions ahead of it already applied.
# SetPermissionsSerializer rejects unknown actions at the API, so this
# guards any other caller.
permissions_by_action: dict[str, list[Permission]] = {}
for action, entry in permissions.items():
if "users" not in entry and "groups" not in entry:
continue
@@ -259,56 +346,6 @@ def set_permissions_for_objects(
)
def get_permission_grantees(
model: type[Model],
pks: Iterable[int],
actions: Iterable[PermissionAction] = PERMISSION_ACTIONS,
) -> dict[int, dict[PermissionAction, PermissionGrantees]]:
"""
Return the users and groups holding each of ``actions`` directly on each
object of ``model`` identified by ``pks``, in two queries however many
objects are asked about.
Every requested pk and action has an entry, with empty lists where nothing
is granted. Ids are sorted. Group grants stay group ids rather than being
expanded to their members, so a caller that copies them keeps access tied
to current group membership.
"""
pks = list(pks)
actions = list(actions)
model_name = model.__name__.lower()
action_by_codename: dict[str, PermissionAction] = {
f"{action}_{model_name}": action for action in actions
}
result: dict[int, dict[PermissionAction, PermissionGrantees]] = {
pk: {action: {"users": [], "groups": []} for action in actions} for pk in pks
}
if not pks or not actions:
return result
ctype = ContentType.objects.get_for_model(model)
grant_filter = {
"content_type": ctype,
"permission__content_type": ctype,
"permission__codename__in": list(action_by_codename),
"object_pk__in": [str(pk) for pk in pks],
}
for perm_model, identity_field, key in (
(UserObjectPermission, "user_id", "users"),
(GroupObjectPermission, "group_id", "groups"),
):
rows = (
perm_model.objects.filter(**grant_filter)
.values_list("object_pk", "permission__codename", identity_field)
.order_by(identity_field)
)
for object_pk, codename, identity_id in rows:
result[int(object_pk)][action_by_codename[codename]][key].append(
identity_id,
)
return result
def permitted_object_ids(
user: User | None,
model: type[Model],
+69 -22
View File
@@ -48,6 +48,8 @@ if TYPE_CHECKING:
from pathlib import Path
from django.contrib.auth.models import AbstractUser
from django.contrib.auth.models import Group
from django.contrib.auth.models import User
from django.db.models import QuerySet
from documents.models import Document
@@ -526,8 +528,8 @@ class TantivyBackend:
Annotate the queryset with ``annotate_effective_content`` when indexing
more than a couple of documents, to resolve that without a query each.
"""
from documents.models import Document
from documents.permissions import get_permission_grantees
from guardian.shortcuts import get_groups_with_perms
from guardian.shortcuts import get_users_with_perms
# Every searchable string is normalized on the way in, and every
# query string on the way out (_parse_query), so the two agree on
@@ -672,18 +674,28 @@ class TantivyBackend:
doc.add_unsigned("owner_id", document.owner_id)
# Viewers with permission
if viewer_ids is None or viewer_group_ids is None:
view = get_permission_grantees(
Document,
[document.pk],
actions=("view",),
)[document.pk]["view"]
if viewer_ids is None:
viewer_ids = view["users"]
if viewer_group_ids is None:
viewer_group_ids = view["groups"]
if viewer_ids is None:
users_with_perms = get_users_with_perms(
document,
only_with_perms_in=["view_document"],
with_group_users=False,
)
viewer_ids = list(
cast("QuerySet[User]", users_with_perms).values_list("id", flat=True),
)
for viewer_id in viewer_ids:
doc.add_unsigned("viewer_id", viewer_id)
if viewer_group_ids is None:
groups_with_perms = get_groups_with_perms(
document,
only_with_perms_in=["view_document"],
)
viewer_group_ids = list(
cast("QuerySet[Group]", groups_with_perms).values_list(
"id",
flat=True,
),
)
for viewer_group_id in viewer_group_ids:
doc.add_unsigned("viewer_group_id", viewer_group_id)
@@ -1188,6 +1200,12 @@ def chunked(iterable, size):
yield chunk
_EMPTY_VIEWER_GRANT: Final[ViewerGrant] = ViewerGrant(
viewer_ids=[],
viewer_group_ids=[],
)
class _DocumentViewerStream(QuerySetStream["Document"]):
"""Yield document permission data while batch-loading grants.
@@ -1213,7 +1231,7 @@ class _DocumentViewerStream(QuerySetStream["Document"]):
for chunk in chunked(documents, self._chunk_size):
grants_by_pk = _bulk_get_viewer_permissions([doc.pk for doc in chunk])
for doc in chunk:
yield doc, grants_by_pk[doc.pk]
yield doc, grants_by_pk.get(doc.pk, _EMPTY_VIEWER_GRANT)
def _bulk_get_viewer_permissions(
@@ -1225,19 +1243,48 @@ def _bulk_get_viewer_permissions(
requesting user's current memberships. Expanding groups to user IDs here
would leave stale access behind after a user is removed from a group.
"""
from collections import defaultdict
from django.contrib.contenttypes.models import ContentType
from guardian.models import GroupObjectPermission
from guardian.models import UserObjectPermission
from documents.models import Document
from documents.permissions import get_permission_grantees
# get_for_model is cached by Django, so this costs at most one query total.
ct = ContentType.objects.get_for_model(Document)
str_pks = [str(pk) for pk in doc_pks]
viewer_map: dict[int, set[int]] = defaultdict(set)
viewer_group_map: dict[int, set[int]] = defaultdict(set)
# Fold the permission lookup into the query via a join on codename instead
# of a separate Permission.objects.get(), which would otherwise run once per
# chunk during a full reindex.
user_qs = UserObjectPermission.objects.filter(
content_type=ct,
permission__content_type=ct,
permission__codename="view_document",
object_pk__in=str_pks,
).values_list("object_pk", "user_id")
for object_pk, user_id in user_qs:
viewer_map[int(object_pk)].add(user_id)
group_qs = GroupObjectPermission.objects.filter(
content_type=ct,
permission__content_type=ct,
permission__codename="view_document",
object_pk__in=str_pks,
).values_list("object_pk", "group_id")
for object_pk, group_id in group_qs:
viewer_group_map[int(object_pk)].add(group_id)
return {
pk: ViewerGrant(
viewer_ids=grantees["view"]["users"],
viewer_group_ids=grantees["view"]["groups"],
object_pk: ViewerGrant(
viewer_ids=list(viewer_map.get(object_pk, ())),
viewer_group_ids=list(viewer_group_map.get(object_pk, ())),
)
for pk, grantees in get_permission_grantees(
Document,
doc_pks,
actions=("view",),
).items()
for object_pk in viewer_map.keys() | viewer_group_map.keys()
}
+61 -29
View File
@@ -8,6 +8,7 @@ from datetime import timedelta
from decimal import Decimal
from typing import TYPE_CHECKING
from typing import Any
from typing import Literal
from typing import TypedDict
import magic
@@ -38,6 +39,7 @@ from drf_spectacular.utils import extend_schema_field
from drf_spectacular.utils import extend_schema_serializer
from drf_writable_nested.serializers import NestedUpdateMixin
from guardian.core import ObjectPermissionChecker
from guardian.shortcuts import get_users_with_perms
from guardian.utils import get_group_obj_perms_model
from guardian.utils import get_user_obj_perms_model
from rest_framework import fields
@@ -76,17 +78,12 @@ from documents.models import WorkflowActionEmail
from documents.models import WorkflowActionWebhook
from documents.models import WorkflowTrigger
from documents.parsers import is_mime_type_supported
from documents.permissions import PERMISSION_ACTIONS
from documents.permissions import PermissionAction
from documents.permissions import PermissionGrantees
from documents.permissions import PermissionGranteesUpdate
from documents.permissions import PermissionsSpec
from documents.permissions import get_document_count_filter_for_user
from documents.permissions import get_permission_grantees
from documents.permissions import get_groups_with_only_permission
from documents.permissions import has_perms_owner_aware
from documents.permissions import permitted_document_ids
from documents.permissions import restrict_queryset_to_visible
from documents.permissions import set_permissions_for_objects
from documents.permissions import set_permissions_for_object
from documents.regex import validate_regex_pattern
from documents.templating.filepath import validate_filepath_template_and_render
from documents.templating.utils import convert_format_str_to_template_format
@@ -214,6 +211,9 @@ class MatchingModelSerializer(serializers.ModelSerializer[Any]):
return match
PERMISSION_ACTIONS = ("view", "change")
class SetPermissionsMixin:
def _validate_user_ids(self, user_ids):
users = User.objects.none()
@@ -235,10 +235,8 @@ class SetPermissionsMixin:
)
return groups
def validate_set_permissions(self, set_permissions=None) -> PermissionsSpec:
permissions_dict: dict[PermissionAction, PermissionGranteesUpdate] = {
action: {} for action in PERMISSION_ACTIONS
}
def validate_set_permissions(self, set_permissions=None):
permissions_dict = {action: {} for action in PERMISSION_ACTIONS}
if set_permissions is not None:
for action in PERMISSION_ACTIONS:
if action in set_permissions:
@@ -246,18 +244,18 @@ class SetPermissionsMixin:
users = set_permissions[action]["users"]
permissions_dict[action]["users"] = self._validate_user_ids(
users,
).values_list("id", flat=True)
)
if "groups" in set_permissions[action]:
groups = set_permissions[action]["groups"]
permissions_dict[action]["groups"] = self._validate_group_ids(
groups,
).values_list("id", flat=True)
)
else:
del permissions_dict[action]
return permissions_dict
def _set_permissions(self, permissions: PermissionsSpec, object) -> None:
set_permissions_for_objects(permissions, type(object), [object.pk])
def _set_permissions(self, permissions, object) -> None:
set_permissions_for_object(permissions, object)
class SerializerWithPerms(serializers.Serializer[dict[str, Any]]):
@@ -313,6 +311,35 @@ class OwnedObjectSerializer(
except KeyError:
pass
def _get_perms(self, obj, codename: str, target: Literal["users", "groups"]):
"""
Get the given permissions from context or from django-guardian.
:param codename: The permission codename, e.g. 'view' or 'change'
:param target: 'users' or 'groups'
"""
key = f"{target}_{codename}_perms"
cached = self.context.get(key, {}).get(obj.pk)
if cached is not None:
return list(cached)
# Permission not found in the context, get it from guardian
if target == "users":
return list(
get_users_with_perms(
obj,
only_with_perms_in=[f"{codename}_{obj.__class__.__name__.lower()}"],
with_group_users=False,
).values_list("id", flat=True),
)
else: # groups
return list(
get_groups_with_only_permission(
obj,
codename=f"{codename}_{obj.__class__.__name__.lower()}",
).values_list("id", flat=True),
)
@extend_schema_field(
field={
"type": "object",
@@ -346,12 +373,17 @@ class OwnedObjectSerializer(
},
},
)
def get_permissions(self, obj) -> dict[PermissionAction, PermissionGrantees]:
# Prefer the page-level batch computed by BulkPermissionMixin.
grantees = self.context.get("permission_grantees", {}).get(obj.pk)
if grantees is not None:
return grantees
return get_permission_grantees(type(obj), [obj.pk])[obj.pk]
def get_permissions(self, obj) -> dict:
return {
"view": {
"users": self._get_perms(obj, "view", "users"),
"groups": self._get_perms(obj, "view", "groups"),
},
"change": {
"users": self._get_perms(obj, "change", "users"),
"groups": self._get_perms(obj, "change", "groups"),
},
}
def get_user_can_change(self, obj) -> bool:
if obj.owner is None or obj.owner == self.user:
@@ -367,18 +399,18 @@ class OwnedObjectSerializer(
# Prefer the page-level batch computed by BulkPermissionMixin
# (get_serializer_context) over a fresh per-object guardian check,
# which would otherwise query the permission tables once per row.
grantees_by_pk = self.context.get("permission_grantees")
if grantees_by_pk is not None:
change = grantees_by_pk.get(obj.pk, {}).get("change")
if change is None:
return False
if self.user.pk in change["users"]:
users_change_perms = self.context.get("users_change_perms")
groups_change_perms = self.context.get("groups_change_perms")
if users_change_perms is not None and groups_change_perms is not None:
if self.user.pk in users_change_perms.get(obj.pk, []):
return True
user_group_ids = getattr(self, "_user_group_ids", None)
if user_group_ids is None:
user_group_ids = set(self.user.groups.values_list("id", flat=True))
self._user_group_ids = user_group_ids
return bool(user_group_ids.intersection(change["groups"]))
return bool(
user_group_ids.intersection(groups_change_perms.get(obj.pk, [])),
)
checker = ObjectPermissionChecker(self.user)
return checker.has_perm(f"change_{obj.__class__.__name__.lower()}", obj)
@@ -3054,7 +3086,7 @@ class BulkEditObjectsSerializer(SerializerWithPerms, SetPermissionsMixin):
)
return objects
def _validate_permissions(self, permissions) -> PermissionsSpec:
def _validate_permissions(self, permissions) -> dict:
return self.validate_set_permissions(
permissions,
)
+5 -6
View File
@@ -23,7 +23,6 @@ from documents.models import Document
from documents.models import DocumentType
from documents.models import StoragePath
from documents.models import Tag
from documents.permissions import PermissionsSpec
from documents.permissions import set_permissions_for_objects
from paperless_testing.dirs import DirectoriesMixin
from paperless_testing.factories import DocumentFactory
@@ -446,7 +445,7 @@ class TestBulkEdit(DirectoriesMixin, TestCase):
grant_object(self.group1, self.doc1, "view_document")
permissions: PermissionsSpec = {
permissions = {
"view": {
"users": [self.user1.id, self.user2.id],
"groups": [self.group2.id],
@@ -489,7 +488,7 @@ class TestBulkEdit(DirectoriesMixin, TestCase):
grant_object(self.user1, self.doc1, "view_document")
grant_object(self.group1, self.doc1, "view_document")
permissions: PermissionsSpec = {
permissions = {
"view": {
"users": [self.user2.id],
"groups": [self.group2.id],
@@ -540,7 +539,7 @@ class TestBulkEdit(DirectoriesMixin, TestCase):
batched call rather than one call per (document, identity)
pair
"""
permissions: PermissionsSpec = {
permissions = {
"view": {
"users": [self.user1.id, self.user2.id],
"groups": [self.group2.id],
@@ -647,7 +646,7 @@ class TestBulkEdit(DirectoriesMixin, TestCase):
"""
with self.assertRaises(Permission.DoesNotExist):
set_permissions_for_objects(
{"not_a_real_action": {"users": [self.user1.id], "groups": []}}, # type: ignore[bad-assignment]
{"not_a_real_action": {"users": [self.user1.id], "groups": []}},
Document,
[self.doc1.pk],
)
@@ -675,7 +674,7 @@ class TestBulkEdit(DirectoriesMixin, TestCase):
set_permissions_for_objects(
{
"view": {"users": [self.user1.id], "groups": []},
"not_a_real_action": {"users": [self.user1.id], "groups": []}, # type: ignore[bad-assignment]
"not_a_real_action": {"users": [self.user1.id], "groups": []},
},
Document,
[self.doc1.pk],
-28
View File
@@ -34,10 +34,8 @@ from documents.tests.utils import GetConsumerMixin
from paperless_mail.models import MailRule
from paperless_testing.assertions import FileSystemAssertsMixin
from paperless_testing.dirs import DirectoriesMixin
from paperless_testing.factories import DocumentFactory
from paperless_testing.factories import UserFactory
from paperless_testing.fakes.progress import FakeProgressManager
from paperless_testing.permissions import grant_object
class _BaseNewStyleParser:
@@ -1685,32 +1683,6 @@ class TestMetadataOverrides(TestCase):
self.assertEqual(base.actor_id, 2)
self.assertEqual(base.version_label, "v2")
def test_from_document_copies_user_and_group_grants_separately(self) -> None:
"""
GIVEN:
- A document with view and change granted directly to one user and
to a group with another user as a member
WHEN:
- Overrides are built from the document
THEN:
- The user lists hold only the directly granted user
- The group lists hold the group
"""
direct_user = UserFactory()
group_member = UserFactory()
group = Group.objects.create(name="group")
group_member.groups.add(group)
document = DocumentFactory()
grant_object(direct_user, document, "view_document", "change_document")
grant_object(group, document, "view_document", "change_document")
overrides = DocumentMetadataOverrides.from_document(document)
self.assertEqual(overrides.view_users, [direct_user.pk])
self.assertEqual(overrides.change_users, [direct_user.pk])
self.assertEqual(overrides.view_groups, [group.pk])
self.assertEqual(overrides.change_groups, [group.pk])
class TestBarcodeApplyDetectedASN(TestCase):
"""
@@ -15,11 +15,9 @@ 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 Document
from documents.models import DocumentType
from documents.models import StoragePath
from documents.models import Tag
from documents.permissions import get_permission_grantees
from documents.permissions import has_perms_owner_aware
from documents.permissions import permitted_document_ids
from documents.permissions import permitted_object_ids
@@ -1374,101 +1372,3 @@ class TestRestrictQuerysetToVisible:
assert own.pk in visible_ids
assert hidden.pk not in visible_ids
@pytest.mark.django_db
class TestGetPermissionGrantees:
def test_lists_direct_grants_per_object_and_action(self) -> None:
"""
GIVEN:
- Two documents, the first with view and change granted to a user
and a group, the second with only view granted to another user
- A user who is a member of the granted group
WHEN:
- get_permission_grantees() is called for both documents
THEN:
- Each document and action lists exactly its direct grants
- The group member is not listed as a user
"""
direct = UserFactory()
other = UserFactory()
member = UserFactory()
group = Group.objects.create(name="grantees")
member.groups.add(group)
first = DocumentFactory()
second = DocumentFactory()
grant_object(direct, first, "view_document", "change_document")
grant_object(group, first, "view_document", "change_document")
grant_object(other, second, "view_document")
grantees = get_permission_grantees(Document, [first.pk, second.pk])
assert grantees == {
first.pk: {
"view": {"users": [direct.pk], "groups": [group.pk]},
"change": {"users": [direct.pk], "groups": [group.pk]},
},
second.pk: {
"view": {"users": [other.pk], "groups": []},
"change": {"users": [], "groups": []},
},
}
def test_ids_are_sorted(self) -> None:
"""
GIVEN:
- A tag with view granted to three users in reverse creation order
WHEN:
- get_permission_grantees() is called for the tag
THEN:
- The user ids come back in ascending order
"""
users = [UserFactory() for _ in range(3)]
tag = TagFactory()
for user in reversed(users):
grant_object(user, tag, "view_tag")
grantees = get_permission_grantees(Tag, [tag.pk], actions=("view",))
assert grantees[tag.pk]["view"]["users"] == sorted(user.pk for user in users)
def test_only_requested_actions_are_returned(self) -> None:
"""
GIVEN:
- A tag with view and change granted to a user
WHEN:
- get_permission_grantees() is called for the view action only
THEN:
- Only the view action is returned
"""
user = UserFactory()
tag = TagFactory()
grant_object(user, tag, "view_tag", "change_tag")
grantees = get_permission_grantees(Tag, [tag.pk], actions=("view",))
assert grantees == {tag.pk: {"view": {"users": [user.pk], "groups": []}}}
def test_grants_on_another_model_with_the_same_pk_are_ignored(self) -> None:
"""
GIVEN:
- A tag and a correspondent sharing a primary key, with view
granted to a user on the tag only
WHEN:
- get_permission_grantees() is called for the correspondent
THEN:
- No grants are returned
"""
user = UserFactory()
tag = TagFactory()
correspondent = CorrespondentFactory(pk=tag.pk)
grant_object(user, tag, "view_tag")
grantees = get_permission_grantees(Correspondent, [correspondent.pk])
assert grantees == {
correspondent.pk: {
"view": {"users": [], "groups": []},
"change": {"users": [], "groups": []},
},
}
-27
View File
@@ -292,33 +292,6 @@ class TestViews(DirectoriesMixin, TestCase):
else:
assert False, f"Unexpected tag found: {tag['name']}"
def test_retrieve_with_full_permissions(self) -> None:
"""
GIVEN:
- A tag with view granted to two groups and change granted to only
one of them
WHEN:
- The single tag is requested with full permissions
THEN:
- Each action lists only the groups granted that action
"""
view_only = Group.objects.create(name="view_only")
view_and_change = Group.objects.create(name="view_and_change")
tag = Tag.objects.create(name="invoice")
grant_object(view_only, tag, "view_tag")
grant_object(view_and_change, tag, "view_tag", "change_tag")
grant_global(self.user, "view_tag")
self.client.force_login(self.user)
response = self.client.get(f"/api/tags/{tag.pk}/?full_perms=true")
assert response.status_code == 200
permissions = response.json()["permissions"]
assert sorted(permissions["view"]["groups"]) == sorted(
[view_only.pk, view_and_change.pk],
)
assert permissions["change"]["groups"] == [view_and_change.pk]
def test_list_no_n_plus_1_queries(self) -> None:
"""
GIVEN:
+68 -5
View File
@@ -5,6 +5,7 @@ import platform
import re
import tempfile
import zipfile
from collections import defaultdict
from collections import deque
from collections.abc import Callable
from datetime import datetime
@@ -16,6 +17,7 @@ from time import sleep
from typing import TYPE_CHECKING
from typing import Any
from typing import Final
from typing import Literal
from typing import NamedTuple
from unicodedata import normalize
from urllib.parse import quote
@@ -27,6 +29,7 @@ import pathvalidate
from django.conf import settings
from django.contrib.auth.models import Group
from django.contrib.auth.models import User
from django.contrib.contenttypes.models import ContentType
from django.core.cache import cache
from django.db import connections
from django.db.migrations.loader import MigrationLoader
@@ -74,6 +77,8 @@ from drf_spectacular.utils import extend_schema
from drf_spectacular.utils import extend_schema_serializer
from drf_spectacular.utils import extend_schema_view
from drf_spectacular.utils import inline_serializer
from guardian.utils import get_group_obj_perms_model
from guardian.utils import get_user_obj_perms_model
from langdetect import detect
from packaging import version as packaging_version
from redis import Redis
@@ -171,7 +176,6 @@ from documents.permissions import annotate_document_count_by_ids
from documents.permissions import annotate_document_count_for_related_queryset
from documents.permissions import get_document_count_filter_for_user
from documents.permissions import get_objects_for_user_owner_aware
from documents.permissions import get_permission_grantees
from documents.permissions import has_global_statistics_permission
from documents.permissions import has_perms_owner_aware
from documents.permissions import has_system_status_permission
@@ -451,6 +455,42 @@ class BulkPermissionMixin:
Prefetch Django-Guardian permissions for a list before serialization, to avoid N+1 queries.
"""
def _get_object_perms(
self,
objects: list,
perm_codenames: list[str],
actor: Literal["users", "groups"],
) -> dict[int, dict[str, list[int]]]:
"""
Collect object-level permissions for either users or groups.
"""
model = self.queryset.model
obj_perm_model = (
get_user_obj_perms_model(model)
if actor == "users"
else get_group_obj_perms_model(model)
)
id_field = "user_id" if actor == "users" else "group_id"
ctype = ContentType.objects.get_for_model(model)
object_pks = [obj.pk for obj in objects]
perms_qs = obj_perm_model.objects.filter(
content_type=ctype,
object_pk__in=object_pks,
permission__codename__in=perm_codenames,
).values_list("object_pk", id_field, "permission__codename")
perms: dict[int, dict[str, list[int]]] = defaultdict(lambda: defaultdict(list))
for object_pk, actor_id, codename in perms_qs:
perms[int(object_pk)][codename].append(actor_id)
# Ensure that all objects have all codenames, even if empty
for pk in object_pks:
for codename in perm_codenames:
perms[pk][codename]
return perms
def get_serializer_context(self):
"""
Get all permissions of the current list of objects at once and pass them to the serializer.
@@ -461,7 +501,7 @@ class BulkPermissionMixin:
if getattr(self, "action", None) != "list":
# Batching only pays off across a page of objects; for single-object
# actions (retrieve, update, ...) the per-object fallback in
# get_user_can_change()/get_permissions() is cheap and avoids scanning
# get_user_can_change()/_get_perms() is cheap and avoids scanning
# the whole queryset here.
return context
@@ -474,10 +514,33 @@ class BulkPermissionMixin:
else:
queryset = self.filter_queryset(self.get_queryset())
context["permission_grantees"] = get_permission_grantees(
self.queryset.model,
[obj.pk for obj in queryset],
model_name = self.queryset.model.__name__.lower()
permission_name_view = f"view_{model_name}"
permission_name_change = f"change_{model_name}"
user_perms = self._get_object_perms(
objects=queryset,
perm_codenames=[permission_name_view, permission_name_change],
actor="users",
)
group_perms = self._get_object_perms(
objects=queryset,
perm_codenames=[permission_name_view, permission_name_change],
actor="groups",
)
context["users_view_perms"] = {
pk: user_perms[pk][permission_name_view] for pk in user_perms
}
context["users_change_perms"] = {
pk: user_perms[pk][permission_name_change] for pk in user_perms
}
context["groups_view_perms"] = {
pk: group_perms[pk][permission_name_view] for pk in group_perms
}
context["groups_change_perms"] = {
pk: group_perms[pk][permission_name_change] for pk in group_perms
}
return context
+9 -12
View File
@@ -7,8 +7,7 @@ from documents.data_models import DocumentMetadataOverrides
from documents.models import CustomFieldInstance
from documents.models import Document
from documents.models import WorkflowAction
from documents.permissions import PermissionsSpec
from documents.permissions import set_permissions_for_objects
from documents.permissions import set_permissions_for_object
from documents.templating.workflows import parse_w_workflow_placeholders
logger = logging.getLogger("paperless.workflows.mutations")
@@ -74,7 +73,7 @@ def apply_assignment_to_document(
action.has_assign_change_groups,
],
):
permissions: PermissionsSpec = {
permissions = {
"view": {
"users": action.assign_view_users.values_list("id", flat=True),
"groups": action.assign_view_groups.values_list("id", flat=True),
@@ -84,10 +83,9 @@ def apply_assignment_to_document(
"groups": action.assign_change_groups.values_list("id", flat=True),
},
}
set_permissions_for_objects(
permissions,
Document,
[document.pk],
set_permissions_for_object(
permissions=permissions,
object=document,
merge=True,
)
@@ -245,14 +243,13 @@ def apply_removal_to_document(
document.owner = None
if action.remove_all_permissions:
permissions: PermissionsSpec = {
permissions = {
"view": {"users": [], "groups": []},
"change": {"users": [], "groups": []},
}
set_permissions_for_objects(
permissions,
Document,
[document.pk],
set_permissions_for_object(
permissions=permissions,
object=document,
merge=False,
)
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Afrikaans\n"
"Language: af_ZA\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "Ongeldige veranderlike bespeur."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1916,40 +1916,40 @@ msgstr ""
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr ""
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Amharic\n"
"Language: am_ET\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr ""
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1916,40 +1916,40 @@ msgstr ""
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr ""
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Arabic\n"
"Language: ar_SA\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "اكتشاف متغير خاطئ."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1917,40 +1917,40 @@ msgstr "كخطوة أخيرة، يرجى ملء النموذج التالي:"
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr ""
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Belarusian\n"
"Language: be_BY\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "Выяўлена няправільная зменная."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1916,40 +1916,40 @@ msgstr ""
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr ""
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Bulgarian\n"
"Language: bg_BG\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "стартиране на работните процеси"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "Засечена е невалидна променлива."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1917,40 +1917,40 @@ msgstr "Като последна стъпка, моля, попълнете с
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr ""
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Catalan\n"
"Language: ca_ES\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "flux corrents"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Permisos insuficients."
@@ -1676,7 +1676,7 @@ msgstr "Variable detectada invàlida."
msgid "Duplicate document identifiers are not allowed."
msgstr "Duplicat d'identificadors de documents no permès."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Documents no trobats: %(ids)s"
@@ -1917,40 +1917,40 @@ msgstr "Com a pas final, completa el següent formulari:"
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr "Invalid more_like_id"
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr "Configuració AI invàlida."
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
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:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr "Invalid more_like_id"
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr "Configuració AI invàlida."
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Permisos insuficients per compartir document %(id)s."
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr "Paquet ja s'està processant."
#: documents/views.py:4926
#: documents/views.py:4938
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:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr "El paquet d'enllaç no està disponible."
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Czech\n"
"Language: cs_CZ\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "spuštění pracovních postupů"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Nedostatečná oprávnění."
@@ -1676,7 +1676,7 @@ msgstr "Zjištěna neplatná proměnná."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1917,40 +1917,40 @@ msgstr "Jako poslední krok vyplňte následující formulář:"
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, 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:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr ""
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Danish\n"
"Language: da_DK\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "workflow-kørsler"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "Ugyldig variabel fundet."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1917,40 +1917,40 @@ msgstr "Som sidste trin, udfyld venligst flg. formular:"
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr ""
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: German, Switzerland\n"
"Language: de_CH\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "Arbeitsablauf wird ausgeführt"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Unzureichende Berechtigungen."
@@ -1676,7 +1676,7 @@ msgstr "Ungültige Variable erkannt."
msgid "Duplicate document identifiers are not allowed."
msgstr "Doppelte Dokumentbezeichner sind nicht erlaubt."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dokumente nicht gefunden: %(ids)s"
@@ -1917,40 +1917,40 @@ msgstr "Bitte füllen Sie zum Abschluss folgendes Formular aus:"
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr "Ungültige more_like_id"
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr "Ungültige KI-Konfiguration."
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
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:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr "Ungültige more_like_id"
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr "Ungültige KI-Konfiguration."
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Unzureichende Berechtigungen, um Dokument %(id)s zu teilen."
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr "Paket wird bereits verarbeitet."
#: documents/views.py:4926
#: documents/views.py:4938
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:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr "Das Freigabelink-Paket ist nicht verfügbar."
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Language: de_DE\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "Arbeitsablauf wird ausgeführt"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Unzureichende Berechtigungen."
@@ -1676,7 +1676,7 @@ msgstr "Ungültige Variable erkannt."
msgid "Duplicate document identifiers are not allowed."
msgstr "Doppelte Dokumentbezeichner sind nicht erlaubt."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dokumente nicht gefunden: %(ids)s"
@@ -1917,40 +1917,40 @@ msgstr "Bitte füllen Sie zum Abschluss folgendes Formular aus:"
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr "Ungültige more_like_id"
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr "Ungültige KI-Konfiguration."
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr "Zeitüberschreitung bei der KI-Backendanfrage."
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr "Das KI-Backend hat die Anfrage abgelehnt. Details in den Protokollen."
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
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:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr "Ungültige more_like_id"
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr "Ungültige KI-Konfiguration."
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr "Zeitüberschreitung bei der KI-Backendanfrage."
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr "Das KI-Backend hat die Anfrage abgelehnt. Details in den Protokollen."
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Unzureichende Berechtigungen, um Dokument %(id)s zu teilen."
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr "Paket wird bereits verarbeitet."
#: documents/views.py:4926
#: documents/views.py:4938
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:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr "Das Freigabelink-Paket ist nicht verfügbar."
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Greek\n"
"Language: el_GR\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "εκτελέσεις ροής εργασίας"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "Εντοπίστηκε μη έγκυρη μεταβλητή."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1917,40 +1917,40 @@ msgstr "Ως τελικό βήμα, παρακαλούμε να συμπληρώ
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr ""
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
"Language: es_ES\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "ejecuciones de flujo de trabajo"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Permisos insuficientes."
@@ -1676,7 +1676,7 @@ msgstr "Variable inválida."
msgid "Duplicate document identifiers are not allowed."
msgstr "No se permiten identificadores de documento duplicados."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Documentos no encontrados: %(ids)s"
@@ -1917,40 +1917,40 @@ msgstr "Como último paso, por favor complete el siguiente formulario:"
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr "Configuración de IA inválida."
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
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:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr "Configuración de IA inválida."
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Permisos insuficientes para compartir el documento %(id)s."
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr "El paquete ya está siendo procesado."
#: documents/views.py:4926
#: documents/views.py:4938
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:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr "El paquete de enlace compartido no está disponible."
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Estonian\n"
"Language: et_EE\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr ""
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1916,40 +1916,40 @@ msgstr ""
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr ""
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Persian\n"
"Language: fa_IR\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "گردش کار اجرا می شود"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "متغیر نامعتبر شناسایی شده است."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1916,40 +1916,40 @@ msgstr "به عنوان مرحله آخر ، لطفاً فرم زیر را تک
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr ""
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Finnish\n"
"Language: fi_FI\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "Virheellinen muuttuja havaittu."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1917,40 +1917,40 @@ msgstr ""
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr ""
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Language: fr_FR\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "le flux de travail s'exécute"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Droits insuffisants."
@@ -1676,7 +1676,7 @@ msgstr "Variable invalide détectée."
msgid "Duplicate document identifiers are not allowed."
msgstr "Les identificateurs de document en double ne sont pas autorisés."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Documents introuvables : %(ids)s"
@@ -1916,40 +1916,40 @@ msgstr "Pour finir, veuillez remplir le formulaire suivant :"
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr "More_like_id invalide"
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr "Configuration IA invalide."
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr "La requête d'arrière-plan IA a expiré."
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
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:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr "More_like_id invalide"
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr "Configuration IA invalide."
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr "La requête d'arrière-plan IA a expiré."
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Droits d'accès insuffisant pour partager %(id)s document."
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr "Le paquet est déjà en cours de traitement."
#: documents/views.py:4926
#: documents/views.py:4938
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:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr "Le lot de liens de partage n'est pas disponible."
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Hebrew\n"
"Language: he_IL\n"
@@ -1637,7 +1637,7 @@ msgid "workflow runs"
msgstr "הרצות זרימת עבודה"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "הרשאות אינן מספיקות."
@@ -1677,7 +1677,7 @@ msgstr "משתנה לא חוקי זוהה."
msgid "Duplicate document identifiers are not allowed."
msgstr "מזהי מסמכים כפולים אינם מורשים."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "מסמכים לא נמצאו: %(ids)s"
@@ -1918,40 +1918,40 @@ msgstr ": כצעד אחרון, אנא מלא את הטופס הבא:"
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr "מזהה more_like_id אינו תקין"
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr "הגדרות בינה מלאכותית שגויות."
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "יש לציין רק אחד מהבאים: text‏, title_search‏, query או more_like_id."
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr "מזהה more_like_id אינו תקין"
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr "הגדרות בינה מלאכותית שגויות."
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "הרשאות לא מספיקות לשיתוף מסמך %(id)s."
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr "החבילה (Bundle) כבר נמצאת בתהליך עיבוד."
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "חבילת קישור השיתוף עדיין בהכנה. נא לנסות שוב מאוחר יותר."
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr "חבילת קישור השיתוף אינה זמינה."
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Hindi\n"
"Language: hi_IN\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr ""
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1916,40 +1916,40 @@ msgstr ""
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr ""
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Croatian\n"
"Language: hr_HR\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "tijek rada pokrenut"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Nedovoljne ovlasti."
@@ -1676,7 +1676,7 @@ msgstr "Otkrivena je nevaljana vrsta datoteke."
msgid "Duplicate document identifiers are not allowed."
msgstr "Duplicirani identifikatori dokumenata nisu dopušteni."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dokumenti nisu pronađeni: %(ids)s"
@@ -1917,40 +1917,40 @@ msgstr "Kao posljednji korak ispunite sljedeći obrazac:"
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr "Nevažeći more_like_id"
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr "Nevažeća AI konfiguracija."
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr "Zahtjev prema AI pozadinskom sustavu je istekao."
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr "AI pozadinski sustav je odbio zahtjev. Provjerite zapise (logs) za više detalja."
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
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:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr "Nevažeći more_like_id"
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr "Nevažeća AI konfiguracija."
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr "Zahtjev prema AI pozadinskom sustavu je istekao."
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr "AI pozadinski sustav je odbio zahtjev. Provjerite zapise (logs) za više detalja."
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Nedovoljne ovlasti za dijeljenje dokumenta %(id)s."
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr "Paket se već obrađuje."
#: documents/views.py:4926
#: documents/views.py:4938
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:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr "Paket linka za dijeljenje nije dostupan."
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Hungarian\n"
"Language: hu_HU\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "munkafolyamat futtatások"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Nincs jogosúltsága."
@@ -1676,7 +1676,7 @@ msgstr "Érvénytelen változó észlelve."
msgid "Duplicate document identifiers are not allowed."
msgstr "A dokumentumazonosítók duplikálása nem megengedett."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dokumentumok nem találhatók: %(ids)s"
@@ -1917,40 +1917,40 @@ msgstr "Utolsó lépésként kérjük válaszoljon az alábbi kérdésekre:"
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr "Érvénytelen more_like_id"
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr "Érvénytelen MI konfiguráció."
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
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:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr "Érvénytelen more_like_id"
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr "Érvénytelen MI konfiguráció."
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, 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:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr "A csomag feldolgozása már folyamatban van."
#: documents/views.py:4926
#: documents/views.py:4938
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:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr "A megosztási linkcsomag nem elérhető."
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Indonesian\n"
"Language: id_ID\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "daftar jalankan alur kerja"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Izin tidak mencukupi"
@@ -1676,7 +1676,7 @@ msgstr "Variabel ilegal terdeteksi."
msgid "Duplicate document identifiers are not allowed."
msgstr "Penggunaan pengenal dokumen ganda tidak diperbolehkan."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dokumen tidak ditemukan: %(ids)s"
@@ -1917,40 +1917,40 @@ msgstr "Sebagai langkah terakhir, mohon formulir berikut:"
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Izin tidak mencukupi untuk berbagi dokumen %(id)s"
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr "Paket sedang diproses."
#: documents/views.py:4926
#: documents/views.py:4938
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:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr "Bundel tautan berbagi tidak tersedia."
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
"Language: it_IT\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "esecuzioni del flusso di lavoro"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Autorizzazioni insufficienti."
@@ -1676,7 +1676,7 @@ msgstr "Variabile non valida rilevata."
msgid "Duplicate document identifiers are not allowed."
msgstr "Non sono consentiti identificatori di documenti duplicati."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Documenti non trovati: %(ids)s"
@@ -1917,40 +1917,40 @@ msgstr "Come ultimo passo, compila il seguente modulo:"
msgid ", "
msgstr ", "
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr "more_like_id non valido"
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr "Configurazione AI non valida."
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr "Richiesta di backend AI scaduta."
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr "Il backend IA ha rifiutato la richiesta. Controlla i log per i dettagli."
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
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:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr "more_like_id non valido"
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr "Configurazione AI non valida."
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr "Richiesta di backend AI scaduta."
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr "Il backend IA ha rifiutato la richiesta. Controlla i log per i dettagli."
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Autorizzazioni insufficienti per condividere il documento %(id)s."
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr "Il pacchetto è già in fase di elaborazione."
#: documents/views.py:4926
#: documents/views.py:4938
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:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr "Il pacchetto di link di condivisione non è disponibile."
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
"Language: ja_JP\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "ワークフローの実行"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "無効な変数を検出しました"
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1917,40 +1917,40 @@ msgstr "最後のステップとして、以下のフォームに記入してく
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr ""
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Korean\n"
"Language: ko_KR\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "워크플로우 실행"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "잘못된 변수가 감지되었습니다."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1917,40 +1917,40 @@ msgstr "마지막 단계로 다음 양식을 작성해 주세요:"
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr ""
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Luxembourgish\n"
"Language: lb_LU\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "Ongëlteg Zeechen detektéiert."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1916,40 +1916,40 @@ msgstr ""
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr ""
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Lithuanian\n"
"Language: lt_LT\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr ""
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1916,40 +1916,40 @@ msgstr "Galiausiai užpildykite šią formą:"
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Nepakanka leidimų bendrinti dokumentą %(id)s."
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr "Rinkinys jau apdorojamas."
#: documents/views.py:4926
#: documents/views.py:4938
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:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr "Dalinimos nuorodų rinkinys yra nepasiekiamas."
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Latvian\n"
"Language: lv_LV\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr ""
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1916,40 +1916,40 @@ msgstr ""
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr ""
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Macedonian\n"
"Language: mk_MK\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr ""
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1916,40 +1916,40 @@ msgstr ""
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr ""
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Malay\n"
"Language: ms_MY\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr ""
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1916,40 +1916,40 @@ msgstr ""
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr ""
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
"Language: nl_NL\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "Ongeldige variabele ontdekt."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1917,40 +1917,40 @@ msgstr "Vul als laatste stap het volgende formulier in:"
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr ""
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Norwegian\n"
"Language: no_NO\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "workflow runs (NO)"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Utilstrekkelige tillatelser."
@@ -1676,7 +1676,7 @@ msgstr "Ugyldig variabel oppdaget."
msgid "Duplicate document identifiers are not allowed."
msgstr "Duplicate document identifiers are not allowed. (NO)"
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Documents not found: %(ids)s (NO)"
@@ -1917,40 +1917,40 @@ msgstr "As a final step, please complete the following form: (NO)"
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr "Invalid more_like_id (NO)"
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr "Invalid AI configuration. (NO)"
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr "Forespørselen til KI-tjenesten fikk tidsavbrudd."
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
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:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr "Invalid more_like_id (NO)"
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr "Invalid AI configuration. (NO)"
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr "Forespørselen til KI-tjenesten fikk tidsavbrudd."
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Insufficient permissions to share document %(id)s. (NO)"
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr "Bundle is already being processed. (NO)"
#: documents/views.py:4926
#: documents/views.py:4938
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:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr "The share link bundle is unavailable. (NO)"
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
"Language: pl_PL\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "uruchomienia przepływu pracy"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Niewystarczające uprawnienia."
@@ -1676,7 +1676,7 @@ msgstr "Wykryto nieprawidłową zmienną."
msgid "Duplicate document identifiers are not allowed."
msgstr "Nie dopuszcza się powielania identyfikatorów dokumentów."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Nie znaleziono dokumentów: %(ids)s"
@@ -1917,40 +1917,40 @@ msgstr "Na koniec należy wypełnić poniższy formularz:"
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr "Nieprawidłowy more_like_id"
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr "Nieprawidłowy more_like_id"
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Brak uprawnień do udostępnienia dokumentu %(id)s."
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr "Pakiet jest już przetwarzany."
#: documents/views.py:4926
#: documents/views.py:4938
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:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr "Pakiet do udostępnienia jest niedostępny."
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Portuguese, Brazilian\n"
"Language: pt_BR\n"
@@ -1637,7 +1637,7 @@ msgid "workflow runs"
msgstr "execução de fluxo de trabalho"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Permissões insuficientes."
@@ -1677,7 +1677,7 @@ msgstr "Variável inválida detectada."
msgid "Duplicate document identifiers are not allowed."
msgstr "Não são permitidos identificadores de documento duplicados."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Documentos não encontrados: %(ids)s"
@@ -1918,40 +1918,40 @@ msgstr "Como etapa final, por favor preencha o seguinte formulário:"
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr "more_like_id inválido"
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr "Configuração de IA inválida."
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr "A requisição backend da IA expirou."
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Especifique apenas um text, title_search, consulta ou mais_like_id."
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr "more_like_id inválido"
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr "Configuração de IA inválida."
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr "A requisição backend da IA expirou."
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Permissões insuficientes para compartilhar o documento %(id)s."
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr "Pacote já está sendo processado."
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "O pacote de link de compartilhamento ainda está sendo preparado. Tente novamente mais tarde."
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr "O pacote de link de compartilhamento não está disponível."
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Portuguese\n"
"Language: pt_PT\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "Variável inválida detetada."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1917,40 +1917,40 @@ msgstr ""
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr ""
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Romanian\n"
"Language: ro_RO\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "rulări flux de lucru"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "Variabilă nevalidă detectată."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1917,40 +1917,40 @@ msgstr "În etapa finală, vă rugăm să completați următorul formular:"
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr ""
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
"Language: ru_RU\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "запуски рабочего процесса"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Недостаточно прав."
@@ -1676,7 +1676,7 @@ msgstr "Обнаружена неверная переменная."
msgid "Duplicate document identifiers are not allowed."
msgstr "Повторяющиеся идентификаторы документа не допускаются."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Документы не найдены: %(ids)s"
@@ -1917,40 +1917,40 @@ msgstr "На завершение, пожалуйста заполните сл
msgid ", "
msgstr ", "
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr "Недопустимый more_like_id"
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr "Неверная конфигурация ИИ."
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr "Таймаут запроса ИИ."
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr "Движок ИИ отклонил запрос. Проверьте логи."
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Укажите только одно: текст, title_search, query или more _like_id."
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr "Недопустимый more_like_id"
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr "Неверная конфигурация ИИ."
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr "Таймаут запроса ИИ."
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr "Движок ИИ отклонил запрос. Проверьте логи."
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Недостаточно прав для совместного доступа к документу %(id)s."
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr "Пакет уже обрабатывается."
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Набор ссылок все еще готовится. Пожалуйста, повторите попытку позже."
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr "Пакет общих ссылок недоступен."
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:40\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Slovak\n"
"Language: sk_SK\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "spustenia pracovných postupov"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Nedostatočné oprávnenia."
@@ -1676,7 +1676,7 @@ msgstr "Zistená neplatná premenná."
msgid "Duplicate document identifiers are not allowed."
msgstr "Duplicitné identifikátory dokumentov nie sú povolené."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dokumenty sa nenašli: %(ids)s"
@@ -1917,40 +1917,40 @@ msgstr "Ako posledný krok vyplňte nasledujúci formulár:"
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr "Neplatné more_like_id"
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr "Neplatná konfigurácia umelej inteligencie."
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr "Vypršal časový limit požiadavky na backend umelej inteligencie."
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr "Backend umelej inteligencie zamietol požiadavku. Podrobnosti nájdete v záznamoch."
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Zadajte iba jednu z možností: text, title_search, query alebo more_like_id."
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr "Neplatné more_like_id"
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr "Neplatná konfigurácia umelej inteligencie."
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr "Vypršal časový limit požiadavky na backend umelej inteligencie."
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr "Backend umelej inteligencie zamietol požiadavku. Podrobnosti nájdete v záznamoch."
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Nedostatočné oprávnenia na zdieľanie dokumentu %(id)s."
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr "Balík sa už spracúva."
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Balík odkazov na zdieľanie sa stále pripravuje. Skúste to znova neskôr."
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr "Balík odkazov na zdieľanie nie je k dispozícii."
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Slovenian\n"
"Language: sl_SI\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "poteka dela"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Nezadostna dovoljenja."
@@ -1676,7 +1676,7 @@ msgstr "Zaznani neveljavni znaki."
msgid "Duplicate document identifiers are not allowed."
msgstr "Podvojeni identifikatorji dokumentov niso dovoljeni."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dokumentov ni bilo mogoče najti: %(ids)s"
@@ -1917,40 +1917,40 @@ msgstr "Kot zadnji korak vas prosimo, da izpolnite naslednji obrazec:"
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr "Neveljaven more_like_id"
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr "Neveljavna konfiguracija umetne inteligence."
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr "Časovna omejitev zahteve za umetno inteligenco je potekla."
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr "Zaledni sistem umetne inteligence je zavrnil zahtevo. Za podrobnosti preverite dnevnike."
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
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:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr "Neveljaven more_like_id"
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr "Neveljavna konfiguracija umetne inteligence."
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr "Časovna omejitev zahteve za umetno inteligenco je potekla."
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr "Zaledni sistem umetne inteligence je zavrnil zahtevo. Za podrobnosti preverite dnevnike."
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Nezadostna dovoljenja za skupno rabo dokumenta %(id)s."
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr "Paket se že obdeluje."
#: documents/views.py:4926
#: documents/views.py:4938
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:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr "Paket povezav za deljenje ni na voljo."
+96 -96
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Albanian\n"
"Language: sq_AL\n"
@@ -482,7 +482,7 @@ msgstr ""
#: documents/models.py:616
msgid "Tag"
msgstr ""
msgstr "Etiketa"
#: documents/models.py:617 documents/models.py:632 documents/models.py:1804
msgid "Tags"
@@ -494,15 +494,15 @@ msgstr ""
#: documents/models.py:619
msgid "Truck"
msgstr ""
msgstr "Kamion"
#: documents/models.py:620
msgid "Barcode"
msgstr ""
msgstr "Barkodi"
#: documents/models.py:621
msgid "Wallet"
msgstr ""
msgstr "Portofol"
#: documents/models.py:624
msgid "Table"
@@ -562,7 +562,7 @@ msgstr "Faqet"
#: documents/models.py:646
msgid "icon"
msgstr ""
msgstr "ikonë"
#: documents/models.py:653
msgid "sort field"
@@ -794,7 +794,7 @@ msgstr "kërkim i thjeshtë teksti"
#: documents/models.py:742
msgid "has duplicates"
msgstr ""
msgstr "ka dublikatë"
#: documents/models.py:752
msgid "rule type"
@@ -882,7 +882,7 @@ msgstr "Fshirje në masë"
#: documents/models.py:807
msgid "Apply AI Suggestions"
msgstr ""
msgstr "Apliko sugjerimet e AI"
#: documents/models.py:816 documents/models.py:1468
msgid "Scheduled"
@@ -1006,23 +1006,23 @@ msgstr "shënime"
#: documents/models.py:996
msgid "page"
msgstr ""
msgstr "Faqe"
#: documents/models.py:997
msgid "Page of the original file, starting at 1"
msgstr ""
msgstr "Faqe e skedarit origjinal, duke filluar nga 1"
#: documents/models.py:1052
msgid "format"
msgstr ""
msgstr "Format"
#: documents/models.py:1056
msgid "document barcode"
msgstr ""
msgstr "Dokumenti me barkod"
#: documents/models.py:1057
msgid "document barcodes"
msgstr ""
msgstr "Kodi i barkodit në dokument"
#: documents/models.py:1066
msgid "Original"
@@ -1404,23 +1404,23 @@ msgstr "Zhvendos në kosh"
#: documents/models.py:1795
msgid "Remote OCR"
msgstr ""
msgstr "OCR në distancë"
#: documents/models.py:1799
msgid "Apply AI suggestions"
msgstr ""
msgstr "Apliko sugjerimet e IA-së"
#: documents/models.py:1806
msgid "Document type"
msgstr ""
msgstr "Lloji i dokumentit"
#: documents/models.py:1807
msgid "Storage path"
msgstr ""
msgstr "Rruga e ruajtjes"
#: documents/models.py:1808
msgid "Created date"
msgstr ""
msgstr "Data e krijimit"
#: documents/models.py:1811
msgid "Workflow Action Type"
@@ -1573,27 +1573,27 @@ msgstr "Fjalëkalimet që provohen gjatë heqjes së mbrojtjes PDF. Ndaji me pre
#: documents/models.py:2048
msgid "AI suggestion fields"
msgstr ""
msgstr "Fushat e sugjerimeve të AI"
#: documents/models.py:2052
msgid "Which of the AI-suggested fields to apply to the document."
msgstr ""
msgstr "Cilat nga fushat e sugjeruara nga AI t'i aplikoni në dokument."
#: documents/models.py:2057
msgid "create missing objects"
msgstr ""
msgstr "krijo objektet e munguara"
#: documents/models.py:2060
msgid "Create suggested tags, correspondents, document types and storage paths that do not already exist instead of skipping them."
msgstr ""
msgstr "Krijoni etiketa të sugjeruara, korrespondentë, lloje dokumentesh dhe shtigje ruajtjeje që nuk ekzistojnë ende, në vend që t'i anashkaloni."
#: documents/models.py:2066
msgid "overwrite existing values"
msgstr ""
msgstr "mbishkruaj vlera ekzistuese"
#: documents/models.py:2069
msgid "Apply suggestions even if the document already has a value for that field. Tags are always added to, never replaced."
msgstr ""
msgstr "Zbato sugjerimet edhe nëse dokumenti tashmë ka një vlerë për atë fushë. Etiketat gjithmonë shtohen, kurrë nuk zëvendësohen."
#: documents/models.py:2075
msgid "workflow action"
@@ -1605,7 +1605,7 @@ msgstr "veprime rrjedhe pune"
#: documents/models.py:2091
msgid "triggers"
msgstr ""
msgstr "shkaktarë"
#: documents/models.py:2098
msgid "actions"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "ekzekutime rrjedhash pune"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Leje të pamjaftueshme."
@@ -1662,7 +1662,7 @@ msgstr "Fusha e personalizuar me ID %(id)s nuk ekziston"
#: documents/serialisers.py:2437 documents/serialisers.py:2447
msgid "Custom fields must be a list of integers or an object mapping ids to values."
msgstr ""
msgstr "Fushat e personalizuara duhet të jenë listë numrash të plotë ose objekt që lidh ID-të me vlerat"
#: documents/serialisers.py:2442
msgid "Some custom fields don't exist or were specified twice."
@@ -1676,14 +1676,14 @@ msgstr "U zbulua variabël e pavlefshme."
msgid "Duplicate document identifiers are not allowed."
msgstr "Identifikuesit dublikatë të dokumenteve nuk lejohen."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dokumentet nuk u gjetën: %(ids)s"
#: documents/templates/account/account_inactive.html:5
msgid "Paperless-ngx account inactive"
msgstr ""
msgstr "Llogaria Paperless-ngx është joaktive."
#: documents/templates/account/account_inactive.html:9
msgid "Account inactive."
@@ -1807,7 +1807,7 @@ msgstr "Ndrysho fjalëkalimin tim"
#: documents/templates/account/password_reset_from_key_done.html:5
msgid "Paperless-ngx reset password complete"
msgstr ""
msgstr "Rivendosja e fjalëkalimit për Paperless-ngx përfundoi me sukses."
#: documents/templates/account/password_reset_from_key_done.html:9
msgid "Password reset complete."
@@ -1881,20 +1881,20 @@ msgstr "Lidhja e ndarjes ka skaduar."
#: documents/templates/socialaccount/authentication_error.html:5
#: documents/templates/socialaccount/login.html:5
msgid "Paperless-ngx social account sign in"
msgstr ""
msgstr "Hyrje në llogarinë sociale të Paperless-ngx"
#: documents/templates/socialaccount/authentication_error.html:10
msgid "An error occurred while attempting to login via your social network account. Back to the"
msgstr ""
msgstr "Ndodhi një gabim gjatë përpjekjes për t'u identifikuar përmes llogarisë tuaj të rrjetit social. Kthehu tek"
#: documents/templates/socialaccount/authentication_error.html:10
msgid "login page"
msgstr ""
msgstr "faqja e hyrjes"
#: documents/templates/socialaccount/login.html:11
#, python-format
msgid "You are about to connect a new third-party account from %(provider)s."
msgstr ""
msgstr "Jeni duke u lidhur me një llogari të re të palës së tretë nga %(provider)s."
#: documents/templates/socialaccount/login.html:15
msgid "Continue"
@@ -1915,64 +1915,64 @@ msgstr "Si hap i fundit, ju lutemi plotësoni formularin e mëposhtëm:"
#: documents/validators.py:36
msgid ", "
msgstr ""
msgstr " ,"
#: documents/views.py:337 documents/views.py:2749
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Specifikoni vetëm njërën prej: text, title_search, query, ose more_like_id."
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr ""
msgstr "ID e pavlefshme e \"më shumë ngjashmëri\""
#: documents/views.py:1684
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr "Konfigurim AI i pavlefshëm."
#: documents/views.py:1695
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
msgstr "Kërkesa në backend-in e AI-së ka skaduar kohën."
#: documents/views.py:1707
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
msgstr "Backend-i i AI-së refuzoi kërkesën. Kontrolloni regjistrimet për detaje."
#: documents/views.py:2574 documents/views.py:2890
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Leje të pamjaftueshme për të ndarë dokumentin %(id)s."
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr "Paketa po përpunohet tashmë."
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Paketa e lidhjes së ndarjes ende po përgatitet. Ju lutemi provoni përsëri më vonë."
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr "Paketa e lidhjes së ndarjes nuk është e disponueshme."
#: paperless/apps.py:11
msgid "Paperless"
msgstr ""
msgstr "Paperless"
#: paperless/models.py:26
msgid "pdf"
msgstr ""
msgstr "pdf"
#: paperless/models.py:27
msgid "pdfa"
msgstr ""
msgstr "pdfa"
#: paperless/models.py:28
msgid "pdfa-1"
msgstr ""
msgstr "pdfa-1"
#: paperless/models.py:29
msgid "pdfa-2"
msgstr ""
msgstr "pdfa-2"
#: paperless/models.py:30
msgid "pdfa-3"
@@ -2004,11 +2004,11 @@ msgstr "kurrë"
#: paperless/models.py:60
msgid "clean"
msgstr ""
msgstr "pastro"
#: paperless/models.py:61
msgid "clean-final"
msgstr ""
msgstr "versioni përfundimtar i pastruar"
#: paperless/models.py:62
msgid "none"
@@ -2016,7 +2016,7 @@ msgstr "asnjë"
#: paperless/models.py:70
msgid "LeaveColorUnchanged"
msgstr ""
msgstr "LëreNgjyrënTëPandryshuar"
#: paperless/models.py:71
msgid "RGB"
@@ -2024,7 +2024,7 @@ msgstr "RGB"
#: paperless/models.py:72
msgid "UseDeviceIndependentColor"
msgstr ""
msgstr "PërdorNgjyrën e Pavarur nga Pajisjet"
#: paperless/models.py:73
msgid "Gray"
@@ -2036,31 +2036,31 @@ msgstr "CMYK"
#: paperless/models.py:82
msgid "Azure AI Document Intelligence"
msgstr ""
msgstr "Inteligjenca e Dokumenteve Azure AI"
#: paperless/models.py:90
msgid "All supported documents"
msgstr ""
msgstr "Të gjitha dokumentet e mbështetura"
#: paperless/models.py:91
msgid "Only when a workflow enables it"
msgstr ""
msgstr "Vetëm kur një rrjedhë pune e lejon"
#: paperless/models.py:95 paperless/models.py:105
msgid "OpenAI-compatible"
msgstr ""
msgstr "E pajtueshme me OpenAI"
#: paperless/models.py:96
msgid "Huggingface"
msgstr ""
msgstr "Huggingface"
#: paperless/models.py:97 paperless/models.py:106
msgid "Ollama"
msgstr ""
msgstr "Ollama"
#: paperless/models.py:115
msgid "Sets the output PDF type"
msgstr ""
msgstr "Cakton llojin e PDF-së së daljes"
#: paperless/models.py:127
msgid "Do OCR from page 1 to this value"
@@ -2096,7 +2096,7 @@ msgstr "Aktivizon rrotullimin e faqeve"
#: paperless/models.py:178
msgid "Sets the threshold for rotation of pages"
msgstr ""
msgstr "Vendos pragun për rrotullimin e faqeve"
#: paperless/models.py:184
msgid "Sets the maximum image size for decompression"
@@ -2104,11 +2104,11 @@ msgstr "Cakton madhësinë maksimale të figurës për dekompresim"
#: paperless/models.py:190
msgid "Sets the Ghostscript color conversion strategy"
msgstr ""
msgstr "Përcakton strategjinë e konvertimit të ngjyrave për Ghostscript"
#: paperless/models.py:198
msgid "Adds additional user arguments for OCRMyPDF"
msgstr ""
msgstr "Shton argumente shtesë të përdoruesit për OCRMyPDF"
#: paperless/models.py:207
msgid "Application title"
@@ -2120,7 +2120,7 @@ msgstr "Logoja e aplikacionit"
#: paperless/models.py:229
msgid "Enables barcode scanning"
msgstr ""
msgstr "Mundëson skanimin e kodeve të vijëzuara"
#: paperless/models.py:235
msgid "Enables barcode TIFF support"
@@ -2132,19 +2132,19 @@ msgstr "Cakton vargun e barkodit"
#: paperless/models.py:249
msgid "Retains split pages"
msgstr ""
msgstr "Ruan faqet e ndara"
#: paperless/models.py:255
msgid "Enables ASN barcode"
msgstr ""
msgstr "Aktivizon barkodin ASN"
#: paperless/models.py:261
msgid "Sets the ASN barcode prefix"
msgstr ""
msgstr "Vendos prefiksin e barkodit ASN"
#: paperless/models.py:269
msgid "Sets the barcode upscale factor"
msgstr ""
msgstr "Vendos faktorin e zmadhimit të barkodit"
#: paperless/models.py:276
msgid "Sets the barcode DPI"
@@ -2152,11 +2152,11 @@ msgstr "Cakton DPI-në e barkodit"
#: paperless/models.py:283
msgid "Sets the maximum pages for barcode"
msgstr ""
msgstr "Vendos numrin maksimal të faqeve për barkodin"
#: paperless/models.py:290
msgid "Enables tag barcode"
msgstr ""
msgstr "Aktivizon barkodin e etiketës"
#: paperless/models.py:296
msgid "Sets the tag barcode mapping"
@@ -2168,23 +2168,23 @@ msgstr "Mundëson ndarjen bazuar në barkodet e etiketave"
#: paperless/models.py:308
msgid "Stores the values of detected barcodes"
msgstr ""
msgstr "Ruan vlerat e barkodeve të zbuluar"
#: paperless/models.py:318
msgid "Sets the remote OCR engine"
msgstr ""
msgstr "Cakton motorin OCR të largët"
#: paperless/models.py:327
msgid "Sets the remote OCR API key"
msgstr ""
msgstr "Cakton çelësin e API-së së OCR-it në distancë"
#: paperless/models.py:335
msgid "Sets the remote OCR endpoint"
msgstr ""
msgstr "Cakton pikën e destinacionit të largët të OCR-së"
#: paperless/models.py:343
msgid "Sets which documents are sent to the remote OCR engine"
msgstr ""
msgstr "Cakton se cilat dokumente dërgohen te motori OCR i largët"
#: paperless/models.py:355
msgid "Enables AI features"
@@ -2192,23 +2192,23 @@ msgstr "Aktivizon veçoritë AI"
#: paperless/models.py:360
msgid "Sets the LLM embedding backend"
msgstr ""
msgstr "Vendos mekanizmin e pasme (backend) për embedding-un e LLM-së"
#: paperless/models.py:368
msgid "Sets the LLM embedding model"
msgstr ""
msgstr "Vendos modelin e ngulitjes (embedding) të LLM-së"
#: paperless/models.py:375
msgid "Sets the LLM embedding API key"
msgstr ""
msgstr "Cakton çelësin e API-së së integrimit të LLM-së"
#: paperless/models.py:382
msgid "Sets the LLM embedding endpoint, optional"
msgstr ""
msgstr "Vendos pikën përfundimtare të \"embedding\"-ut për LLM-në (opsionale)"
#: paperless/models.py:389
msgid "Sets the LLM embedding chunk size"
msgstr ""
msgstr "Vendos madhësinë e segmentit të enkodimit (embedding) për LLM-në."
#: paperless/models.py:395
msgid "Sets the LLM context size"
@@ -2216,7 +2216,7 @@ msgstr "Cakton madhësinë e kontekstit LLM"
#: paperless/models.py:401
msgid "Sets the LLM backend"
msgstr ""
msgstr "Vendos backend-in e LLM-së"
#: paperless/models.py:409
msgid "Sets the LLM model"
@@ -2228,7 +2228,7 @@ msgstr "Cakton çelësin API të LLM"
#: paperless/models.py:423
msgid "Sets the LLM endpoint, optional"
msgstr ""
msgstr "Cakton endpoint-in e embedding LLM, opsionale"
#: paperless/models.py:430
msgid "Sets the LLM output language"
@@ -2240,7 +2240,7 @@ msgstr "Cakton kohën limit të LLM në sekonda"
#: paperless/models.py:443
msgid "paperless application settings"
msgstr ""
msgstr "cilësimet e aplikimit pa përdorim letre"
#: paperless/settings/__init__.py:562
msgid "English (US)"
@@ -2252,7 +2252,7 @@ msgstr "Arabisht"
#: paperless/settings/__init__.py:564
msgid "Afrikaans"
msgstr ""
msgstr "Afrikanisht"
#: paperless/settings/__init__.py:565
msgid "Belarusian"
@@ -2264,7 +2264,7 @@ msgstr "Bullgarisht"
#: paperless/settings/__init__.py:567
msgid "Catalan"
msgstr ""
msgstr "Katalanisht"
#: paperless/settings/__init__.py:568
msgid "Czech"
@@ -2308,7 +2308,7 @@ msgstr "Hungarisht"
#: paperless/settings/__init__.py:578
msgid "Indonesian"
msgstr ""
msgstr "Indonezisht"
#: paperless/settings/__init__.py:579
msgid "Italian"
@@ -2376,7 +2376,7 @@ msgstr "Turqisht"
#: paperless/settings/__init__.py:595
msgid "Ukrainian"
msgstr ""
msgstr "Ukrainisht"
#: paperless/settings/__init__.py:596
msgid "Vietnamese"
@@ -2528,7 +2528,7 @@ msgstr "Process full Email (with embedded attachments in skedar) as .eml"
#: paperless_mail/models.py:109
msgid "Process full Mail (with embedded attachments in file) as .eml + process attachments as separate documents"
msgstr ""
msgstr "Përpuno email-in e plotë (me bashkëngjitje të përfshira në skedar) si .eml + përpuno bashkëngjitjet si dokumente të veçanta."
#: paperless_mail/models.py:116
msgid "Process all files, including 'inline' attachments."
@@ -2564,7 +2564,7 @@ msgstr "Zhvendos në dosjen e specifikuar"
#: paperless_mail/models.py:128
msgid "Mark as read, don't process read mails"
msgstr ""
msgstr "Shënoji si të lexuara, mos i përpuno emailet e lexuara"
#: paperless_mail/models.py:129
msgid "Flag the mail, don't process flagged mails"
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Serbian (Latin)\n"
"Language: sr_CS\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "pokretanje tokova rada"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Nedovoljne dozvole."
@@ -1676,7 +1676,7 @@ msgstr "Otkrivena je nevažeća promenljiva."
msgid "Duplicate document identifiers are not allowed."
msgstr "Duplirani identifikatori dokumenata nisu dozvoljeni."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dokumenti nisu pronađeni: %(ids)s"
@@ -1917,40 +1917,40 @@ msgstr "Kao poslednji korak, molimo Vas da popunite sledeći obrazac:"
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr "Nevažeći more_like_id"
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr "Nevažeća konfiguracija veštačke inteligencije."
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
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:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr "Nevažeći more_like_id"
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr "Nevažeća konfiguracija veštačke inteligencije."
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Nedovoljne dozvole za deljenje dokumenta %(id)s."
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr "Paket se već obrađuje."
#: documents/views.py:4926
#: documents/views.py:4938
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:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr "Paket linkova za deljenje nije dostupan."
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Swedish\n"
"Language: sv_SE\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "arbetsflöde körs"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Otillräckliga behörigheter."
@@ -1676,7 +1676,7 @@ msgstr "Ogiltig variabel upptäckt."
msgid "Duplicate document identifiers are not allowed."
msgstr "Dubbletter av dokumentidentifierare är inte tillåtna."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dokumenten hittades inte: %(ids)s"
@@ -1917,40 +1917,40 @@ msgstr "Slutför följande formulär som ett sista steg:"
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr "Ogiltig more_like_id"
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr "Ogiltig AI-konfiguration."
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr "Begäran till AI-serverdelen tog för lång tid."
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr "AI-serverdelen avvisade begäran. Kontrollera loggarna för detaljer."
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Ange endast ett av text, title_search, query och more_like_id."
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr "Ogiltig more_like_id"
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr "Ogiltig AI-konfiguration."
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr "Begäran till AI-serverdelen tog för lång tid."
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr "AI-serverdelen avvisade begäran. Kontrollera loggarna för detaljer."
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Otillräckliga behörigheter för att dela dokument %(id)s."
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr "Paketet behandlas redan."
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Delningslänkpaketet förbereds fortfarande. Försök igen senare."
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr "Delningslänkpaketet är inte tillgängligt."
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Thai\n"
"Language: th_TH\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "ตรวจพบตัวแปรไม่ถูกต้อง"
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1916,40 +1916,40 @@ msgstr ""
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr ""
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:20\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
"Language: tr_TR\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "iş akışı çalıştırma"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Yetersiz izin."
@@ -1676,7 +1676,7 @@ msgstr "Geçersiz değişken algılandı."
msgid "Duplicate document identifiers are not allowed."
msgstr "Doküman kimliği çakışmasına izin verilmiyor."
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dosyalar bulunamadı: %(ids)s"
@@ -1917,40 +1917,40 @@ msgstr "Son adım olarak, lütfen aşağıdaki formu doldurun:"
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr "Geçersiz more_like_id"
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr "Geçersiz yapay zeka konfigürasyonu."
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr "Yapay zeka isteği zaman aşımına uğradı."
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Yalnızca bir metin, title_search, sorgu veya more_like_id"
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr "Geçersiz more_like_id"
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr "Geçersiz yapay zeka konfigürasyonu."
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr "Yapay zeka isteği zaman aşımına uğradı."
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "%(id)s dosyasını paylaşmak için yetkiniz yok."
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr "Paket zaten işlemede."
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr ""
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:20\n"
"Last-Translator: \n"
"Language-Team: Ukrainian\n"
"Language: uk_UA\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1676,7 +1676,7 @@ msgstr "Виявлено неправильну змінну."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1917,40 +1917,40 @@ msgstr "Як останній крок, будь ласка, заповніть
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr ""
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:20\n"
"Last-Translator: \n"
"Language-Team: Vietnamese\n"
"Language: vi_VN\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "các lần chạy quy trình"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Không có đủ quyền."
@@ -1676,7 +1676,7 @@ msgstr "Đã phát hiện biến số không hợp lệ."
msgid "Duplicate document identifiers are not allowed."
msgstr "Không cho phép các định danh tài liệu trùng lặp"
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Không tìm thấy tài liệu: %(ids)s"
@@ -1917,40 +1917,40 @@ msgstr "Là bước cuối cùng, vui lòng hoàn thành mẫu đơn sau:"
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Không đủ quyền để chia sẻ tài liệu %(id)s"
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr "Gói đang được xử lý"
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Liên kết chia sẻ gói vẫn đang được chuẩn bị. Vui lòng thử lại sau."
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr "Không tồn tại liên kết chia sẻ gói"
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "工作流运行"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "权限不足。"
@@ -1676,7 +1676,7 @@ msgstr "检测到无效变量。"
msgid "Duplicate document identifiers are not allowed."
msgstr "不允许重复文档标识符。"
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "未找到文档:%(ids)s"
@@ -1917,40 +1917,40 @@ msgstr "作为最后一步,请填写以下表格:"
msgid ", "
msgstr ","
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr "无效的more_like_id"
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr "无效的 AI 配置。"
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr "AI 后端请求超时。"
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr "AI 后端拒绝了请求。请检查日志的详细信息。"
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "只能指定 text、title_search、query 或 more_like_id 中的一项。"
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr "无效的more_like_id"
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr "无效的 AI 配置。"
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr "AI 后端请求超时。"
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr "AI 后端拒绝了请求。请检查日志的详细信息。"
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "权限不足以分享文件:%(id)s。"
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr "捆绑包已在处理中。"
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "分享链接包仍在准备中,请稍后再试。"
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr "分享链接包不可用。"
+25 -25
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-12 19:12+0000\n"
"PO-Revision-Date: 2026-10-12 19:13\n"
"POT-Creation-Date: 2026-10-14 15:18+0000\n"
"PO-Revision-Date: 2026-10-14 15:19\n"
"Last-Translator: \n"
"Language-Team: Chinese Traditional\n"
"Language: zh_TW\n"
@@ -1636,7 +1636,7 @@ msgid "workflow runs"
msgstr "執行工作流程"
#: documents/serialisers.py:515 documents/serialisers.py:872
#: documents/serialisers.py:2902 documents/views.py:344 documents/views.py:2752
#: documents/serialisers.py:2902 documents/views.py:363 documents/views.py:2768
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "權限不足。"
@@ -1676,7 +1676,7 @@ msgstr "偵測到無效的變數。"
msgid "Duplicate document identifiers are not allowed."
msgstr "文件識別碼不得重複。"
#: documents/serialisers.py:2988 documents/views.py:4799
#: documents/serialisers.py:2988 documents/views.py:4811
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "找不到文件:%(ids)s"
@@ -1917,40 +1917,40 @@ msgstr "最後一步,請填寫以下表單:"
msgid ", "
msgstr ""
#: documents/views.py:337 documents/views.py:2749
msgid "Invalid more_like_id"
msgstr "無效的 more_like_id"
#: documents/views.py:1684
msgid "Invalid AI configuration."
msgstr "無效的 AI 配置。"
#: documents/views.py:1695
msgid "AI backend request timed out."
msgstr "AI 後端請求逾時。"
#: documents/views.py:1707
msgid "AI backend rejected the request. Check logs for details."
msgstr "AI 後端拒絕了請求。請檢查日誌以取得詳細資訊。"
#: documents/views.py:2574 documents/views.py:2890
#: documents/views.py:318
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "只能指定 text、title_search、query 或 more_like_id 的其中一項。"
#: documents/views.py:4815
#: documents/views.py:356 documents/views.py:2765
msgid "Invalid more_like_id"
msgstr "無效的 more_like_id"
#: documents/views.py:1703
msgid "Invalid AI configuration."
msgstr "無效的 AI 配置。"
#: documents/views.py:1714
msgid "AI backend request timed out."
msgstr "AI 後端請求逾時。"
#: documents/views.py:1726
msgid "AI backend rejected the request. Check logs for details."
msgstr "AI 後端拒絕了請求。請檢查日誌以取得詳細資訊。"
#: documents/views.py:4827
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "權限不足,無法共用文件:%(id)s"
#: documents/views.py:4862
#: documents/views.py:4874
msgid "Bundle is already being processed."
msgstr "組合已在處理中。"
#: documents/views.py:4926
#: documents/views.py:4938
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "共用連結組合仍在準備中,請稍後再試。"
#: documents/views.py:4940
#: documents/views.py:4952
msgid "The share link bundle is unavailable."
msgstr "共用連結組合無法使用。"
Generated
+4 -4
View File
@@ -1272,11 +1272,11 @@ wheels = [
[[package]]
name = "filelock"
version = "3.32.6"
version = "4.0.12"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/38/46/126b1831dca12060d4a8296bf9c4fe5c93c4f22197fa239cb0cc82042bba/filelock-3.32.6.tar.gz", hash = "sha256:a3f55a18af3652a94d8f47d6055df434f254ca1d02ef2524850c6d249ca2512c", size = 225172, upload-time = "2026-09-08T22:57:11.528Z" }
sdist = { url = "https://files.pythonhosted.org/packages/53/e4/34efcb869715cf299e47d1ac7b2624d2bcb6f2d3dffc2f0abe8417f65ab2/filelock-4.0.12.tar.gz", hash = "sha256:cf42711a7ac791818b299fab0332a088c65aeeefa36290de98db92c434303b0c", size = 253880, upload-time = "2026-10-05T13:17:43.677Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/cc/06/4f138f618dbea66803291274f228f01daf29f306fe8b96bc30dab765df75/filelock-3.32.6-py3-none-any.whl", hash = "sha256:3f16ecd0117feae0dfc147e8c62eb5daeccd8bd800378c3ddf416de9b4feb6b1", size = 100189, upload-time = "2026-09-08T22:57:10.182Z" },
{ url = "https://files.pythonhosted.org/packages/da/a1/b047e1c486a2c66283633b7dbb73872ca16ca1ce6a426f70d4d037fc8e1c/filelock-4.0.12-py3-none-any.whl", hash = "sha256:5f17ee83ecee8a6f3e389c75822fb70a1c2f0506b99438a6dffa1d56793588c8", size = 111732, upload-time = "2026-10-05T13:17:42.361Z" },
]
[[package]]
@@ -3184,7 +3184,7 @@ requires-dist = [
{ name = "drf-spectacular", specifier = "~=0.30" },
{ name = "drf-spectacular-sidecar", specifier = ">=2026.7.1,<2026.10" },
{ name = "drf-writable-nested", specifier = "~=0.7.1" },
{ name = "filelock", specifier = "~=3.32.0" },
{ name = "filelock", specifier = ">=3.32,<4.1" },
{ name = "flower", specifier = ">=2.0.1,<2.3" },
{ name = "gotenberg-client", extras = ["httpx"], specifier = "~=1.0" },
{ name = "granian", extras = ["uvloop"], marker = "extra == 'webserver'", specifier = ">=2.7,<2.9" },