Merge branch 'dev' into remove-treenode

This commit is contained in:
shamoon committed 2026-11-04 15:51:38 -08:00
commit 057472c18e
423 files changed
+14471 -12839

No files matched your search

+7 -3
View File
@@ -10,9 +10,6 @@ from typing import TYPE_CHECKING
import regex as regex_mod
from django.conf import settings
from pdf2image import convert_from_path
from pikepdf import Page
from pikepdf import PasswordError
from pikepdf import Pdf
from documents.converters import convert_from_tiff_to_pdf
from documents.data_models import ConsumableDocument
@@ -34,6 +31,7 @@ from documents.utils import maybe_override_pixel_limit
from paperless.config import BarcodeConfig
if TYPE_CHECKING:
from pikepdf import Page
from PIL import Image
logger = logging.getLogger("paperless.barcodes")
@@ -282,6 +280,8 @@ class BarcodePlugin(ConsumeTaskPlugin):
# No op if not a TIFF
self.convert_from_tiff_to_pdf()
from pikepdf import PasswordError
try:
self.barcodes = scan_pdf(
self.pdf_file,
@@ -433,6 +433,8 @@ class BarcodePlugin(ConsumeTaskPlugin):
document_paths = []
fname: str = self.input_doc.original_file.stem
from pikepdf import Pdf
with Pdf.open(self.pdf_file) as input_pdf:
# Start with an empty document
current_document: list[Page] = []
@@ -516,6 +518,8 @@ def scan_pdf(pdf_path: Path, settings: BarcodeConfig, work_dir: Path) -> list[Ba
"""
barcodes: list[Barcode] = []
from pikepdf import Pdf
with Pdf.open(pdf_path) as pdf:
num_of_pages = len(pdf.pages)
logger.debug(f"PDF has {num_of_pages} pages")
+2 -1
View File
@@ -1,6 +1,5 @@
from pathlib import Path
import img2pdf
from PIL import Image
from documents.utils import copy_basic_file_stats
@@ -17,6 +16,8 @@ def convert_from_tiff_to_pdf(tiff_path: Path, target_directory: Path) -> Path:
Returns the path of the PDF created.
"""
import img2pdf
# override pixel setting if needed
maybe_override_pixel_limit()
+2 -1
View File
@@ -6,7 +6,6 @@ from pathlib import Path
from typing import Final
from django.conf import settings
from pikepdf import Pdf
from documents.consumer import ConsumerError
from documents.converters import convert_from_tiff_to_pdf
@@ -85,6 +84,8 @@ class CollatePlugin(NoCleanupPluginMixin, NoSetupPluginMixin, ConsumeTaskPlugin)
valid_staging_exists = True
if valid_staging_exists:
from pikepdf import Pdf
try:
# Collate pages from second PDF in reverse order
with Pdf.open(staging) as pdf1, Pdf.open(pdf_file) as pdf2:
+2 -1
View File
@@ -11,7 +11,6 @@ from decimal import InvalidOperation
from typing import TYPE_CHECKING
from typing import Any
import dateparser
from django.conf import settings
from django.contrib.contenttypes.models import ContentType
from django.db.models import Case
@@ -350,6 +349,8 @@ class DateQueryField(serializers.DateField):
if not isinstance(value, str):
raise
import dateparser
try:
parsed = dateparser.parse(
value,
+14 -2
View File
@@ -14,8 +14,6 @@ from __future__ import annotations
from typing import TYPE_CHECKING
from typing import NamedTuple
import pikepdf
if TYPE_CHECKING:
from collections.abc import Callable
from collections.abc import Iterable
@@ -43,6 +41,8 @@ def rotate_pdf(src: Path, dst: Path, degrees: int) -> None:
Rotate every page relatively on the opened document, not a rebuild, so Info,
XMP and outlines are kept. ``src`` is not modified.
"""
import pikepdf
with pikepdf.open(src) as pdf:
for page in pdf.pages:
page.rotate(degrees, relative=True)
@@ -58,6 +58,8 @@ def remove_pages(src: Path, dst: Path, pages: Iterable[int]) -> None:
Duplicates are ignored. Pages are removed highest first so earlier removals
never shift the index of later ones.
"""
import pikepdf
unique = sorted(set(pages))
_require_positive(unique)
with pikepdf.open(src) as pdf:
@@ -81,6 +83,8 @@ def build_pdfs(
(Info, XMP, outlines) is not carried over. Returns the written paths in output
order.
"""
import pikepdf
for specs, _ in outputs:
_require_positive(spec.page for spec in specs)
@@ -140,6 +144,8 @@ def needs_decrypt(src: Path) -> bool:
True if ``src`` is encrypted. A PDF that needs a password to open at all
counts as encrypted.
"""
import pikepdf
try:
with pikepdf.open(src) as pdf:
return bool(pdf.is_encrypted)
@@ -154,6 +160,8 @@ def decrypt_pdf(src: Path, make_dst: Callable[[], Path], password: str) -> Path:
``make_dst`` is only called once the password has been accepted, so a wrong
password never leaves a destination behind.
"""
import pikepdf
with pikepdf.open(src, password=password) as pdf:
pdf.remove_unreferenced_resources()
dst = make_dst()
@@ -170,6 +178,8 @@ class PdfMerger:
"""
def __init__(self) -> None:
import pikepdf
self._pdf = pikepdf.new()
self._version: str = self._pdf.pdf_version
@@ -185,6 +195,8 @@ class PdfMerger:
self._pdf.close()
def add(self, path: Path) -> None:
import pikepdf
with pikepdf.open(str(path)) as pdf:
self._version = max(self._version, pdf.pdf_version)
self._pdf.pages.extend(pdf.pages)
+2 -2
View File
@@ -7,8 +7,6 @@ from dataclasses import dataclass
from types import TracebackType
from typing import Self
import dateparser
logger = logging.getLogger(__name__)
@@ -80,6 +78,8 @@ class DateParserPluginBase(ABC):
Uses configuration from `self.config`.
"""
import dateparser
try:
return dateparser.parse(
date_string,
+6 -6
View File
@@ -476,13 +476,13 @@ def update_filename_and_move_files(
return
with FileLock(settings.MEDIA_LOCK):
try:
# If this was waiting for the lock, the filename or archive_filename
# of this document may have been updated. This happens if multiple updates
# get queued from the UI for the same document
# So freshen up the data before doing anything
instance.refresh_from_db()
# If this was waiting for the lock, the filename or archive_filename
# of this document may have been updated. This happens if multiple updates
# get queued from the UI for the same document
# So freshen up the data before doing anything
instance.refresh_from_db()
try:
old_filename = instance.filename
old_source_path = instance.source_path
move_original = False
+8 -3
View File
@@ -76,9 +76,6 @@ from paperless.logging import consume_task_id
from paperless.parsers import ParserContext
from paperless.parsers.registry import get_parser_registry
from paperless_ai.exceptions import LLMTimeoutError
from paperless_ai.indexing import llm_index_add_or_update_document
from paperless_ai.indexing import llm_index_remove_document
from paperless_ai.indexing import update_llm_index
if settings.AUDIT_LOG_ENABLED:
from auditlog.models import LogEntry
@@ -339,6 +336,8 @@ def bulk_update_documents(document_ids) -> None:
ai_config = AIConfig()
if ai_config.llm_index_enabled:
from paperless_ai.indexing import update_llm_index
update_llm_index(
rebuild=False,
document_ids=document_ids,
@@ -499,6 +498,8 @@ def update_document_content_maybe_archive_file(
ai_config = AIConfig()
if ai_config.llm_index_enabled:
from paperless_ai.indexing import llm_index_add_or_update_document
llm_index_add_or_update_document(document)
clear_document_caches(document.pk)
@@ -800,11 +801,15 @@ def apply_ai_suggestions(self, action_id: int, document_id: int) -> None:
@shared_task
def update_document_in_llm_index(document) -> None:
from paperless_ai.indexing import llm_index_add_or_update_document
llm_index_add_or_update_document(document)
@shared_task
def remove_document_from_llm_index(document) -> None:
from paperless_ai.indexing import llm_index_remove_document
llm_index_remove_document(document)
+4 -1
View File
@@ -44,7 +44,10 @@ def localize_date(value: date | datetime | str, format: str, locale: str) -> str
def format_datetime(value: str | datetime, format: str) -> str:
if isinstance(value, str):
value = parse_date(value)
parsed = parse_datetime(value) or parse_date(value)
if parsed is None:
raise ValueError(f"Invalid date or datetime string: {value!r}")
return parsed.strftime(format=format)
return value.strftime(format=format)
@@ -71,7 +71,7 @@ class TestParseString:
):
# We still need to mock dateparser.parse to force the exception
mocker.patch(
"documents.plugins.date_parsing.base.dateparser.parse",
"dateparser.parse",
side_effect=ValueError(
"Parsing error: 01/01/2024",
),
@@ -260,7 +260,7 @@ class TestRegexDateParser:
parser = RegexDateParserPlugin(base_config)
# Patch the dateparser.parse
target = "documents.plugins.date_parsing.base.dateparser.parse"
target = "dateparser.parse"
def fake_parse(
date_string: str,
@@ -335,7 +335,7 @@ class TestRegexDateParser:
)
parser = RegexDateParserPlugin(cfg)
target = "documents.plugins.date_parsing.base.dateparser.parse"
target = "dateparser.parse"
def fake_parse(
date_string: str,
@@ -400,7 +400,7 @@ class TestRegexDateParser:
parser = RegexDateParserPlugin(cfg)
# Patch the module's dateparser.parse so we can inspect calls
target = "documents.plugins.date_parsing.base.dateparser.parse"
target = "dateparser.parse"
def fake_parse(
date_string: str,
+5 -5
View File
@@ -1070,7 +1070,7 @@ class TestApiAppConfig(DirectoriesMixin, APITestCase):
with (
patch("documents.tasks.llmindex_index.apply_async") as mock_update,
patch("paperless.views.llm_index_exists") as mock_exists,
patch("paperless_ai.indexing.llm_index_exists") as mock_exists,
):
mock_exists.return_value = False
self.client.patch(
@@ -1095,7 +1095,7 @@ class TestApiAppConfig(DirectoriesMixin, APITestCase):
with (
patch("documents.tasks.llmindex_index.apply_async") as mock_update,
patch("paperless.views.llm_index_exists", return_value=False),
patch("paperless_ai.indexing.llm_index_exists", return_value=False),
):
self.client.patch(
f"{self.ENDPOINT}1/",
@@ -1115,7 +1115,7 @@ class TestApiAppConfig(DirectoriesMixin, APITestCase):
with (
patch("documents.tasks.llmindex_index.apply_async") as mock_update,
patch("paperless.views.llm_index_exists") as mock_exists,
patch("paperless_ai.indexing.llm_index_exists") as mock_exists,
):
mock_exists.return_value = True
self.client.patch(
@@ -1136,7 +1136,7 @@ class TestApiAppConfig(DirectoriesMixin, APITestCase):
with (
patch("documents.tasks.llmindex_index.apply_async") as mock_update,
patch("paperless.views.llm_index_exists") as mock_exists,
patch("paperless_ai.indexing.llm_index_exists") as mock_exists,
):
mock_exists.return_value = True
self.client.patch(
@@ -1174,7 +1174,7 @@ class TestApiAppConfig(DirectoriesMixin, APITestCase):
with (
patch("documents.tasks.llmindex_index.apply_async") as mock_update,
patch("paperless.views.llm_index_exists") as mock_exists,
patch("paperless_ai.indexing.llm_index_exists") as mock_exists,
):
mock_exists.return_value = True
self.client.patch(
+2 -2
View File
@@ -61,7 +61,7 @@ class TestChatStreamingViewInputValidation(APITestCase):
return_value=self._mock_ai_enabled(),
),
mock.patch(
"documents.views.stream_chat_with_documents",
"paperless_ai.chat.stream_chat_with_documents",
return_value=iter(chunks),
),
):
@@ -104,7 +104,7 @@ class TestChatStreamingViewUnrestrictedFlag:
"""
mocker.patch("documents.views.AIConfig").return_value.ai_enabled = True
return mocker.patch(
"documents.views.stream_chat_with_documents",
"paperless_ai.chat.stream_chat_with_documents",
return_value=iter(()),
)
@@ -1110,7 +1110,7 @@ class TestVersionActionPermissions(DirectoriesMixin, APITestCase):
self.assertEqual(response.status_code, 403)
with (
mock.patch("documents.views.AIConfig") as ai_config,
mock.patch("documents.views.stream_chat_with_documents") as chat,
mock.patch("paperless_ai.chat.stream_chat_with_documents") as chat,
):
ai_config.return_value.ai_enabled = True
response = self.client.post(
+1 -1
View File
@@ -2686,7 +2686,7 @@ class TestDocumentApi(DirectoriesMixin, ConsumeTaskMixin, APITestCase):
response = self.client.get("/api/documents/34676/suggestions/")
self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
@mock.patch("documents.views.get_ai_document_classification")
@mock.patch("paperless_ai.ai_classifier.get_ai_document_classification")
@override_settings(AI_ENABLED=True)
def test_suggestions_still_uses_classifier_when_ai_enabled(
self,
+29
View File
@@ -308,3 +308,32 @@ class TestBulkDownloadSchema:
def test_bulk_download_response_403(self, api_schema: SchemaGenerator) -> None:
op = api_schema["paths"]["/api/documents/bulk_download/"]["post"]
assert "403" in op["responses"]
class TestDocumentListObjectFilterSchema:
"""documents_list: comma-separated ObjectFilter params must be typed as integer arrays."""
@pytest.mark.parametrize(
"param_name",
[
"tags__id__all",
"tags__id__none",
"tags__id__in",
"correspondent__id__none",
"document_type__id__none",
"storage_path__id__none",
"owner__id__none",
"custom_fields__id__all",
"custom_fields__id__none",
"custom_fields__id__in",
],
)
def test_object_filter_param_is_integer_array(
self,
api_schema: SchemaGenerator,
param_name: str,
) -> None:
params = api_schema["paths"]["/api/documents/"]["get"]["parameters"]
param = next(p for p in params if p["name"] == param_name)
assert param["schema"] == {"type": "array", "items": {"type": "integer"}}
assert param["explode"] is False
+47
View File
@@ -539,3 +539,50 @@ class TestSystemStatus(APITestCase):
self.assertEqual(response.data["tasks"]["summary"]["success_count"], 1)
self.assertEqual(response.data["tasks"]["summary"]["failure_count"], 1)
self.assertEqual(response.data["tasks"]["summary"]["pending_count"], 1)
def test_system_status_reports_database_error(self) -> None:
"""
GIVEN:
- Reading the migration state fails
WHEN:
- The system status is requested
THEN:
- The response reports the database error rather than a server error
"""
self.client.force_login(self.user)
with mock.patch(
"documents.views.MigrationLoader",
side_effect=Exception("database is down"),
):
response = self.client.get(self.ENDPOINT)
self.assertEqual(response.status_code, status.HTTP_200_OK)
database = response.data["database"]
self.assertEqual(database["status"], "ERROR")
self.assertIsNotNone(database["error"])
self.assertEqual(
database["migration_status"],
{"latest_migration": None, "unapplied_migrations": []},
)
def test_system_status_migration_query_error(self) -> None:
"""
GIVEN:
- The migration graph loads but reading the applied migrations fails
WHEN:
- The system status is requested
THEN:
- No migrations are reported as unapplied, since the state is unknown
"""
self.client.force_login(self.user)
with mock.patch("documents.views.MigrationRecorder") as recorder:
recorder.Migration.objects.all.side_effect = Exception("query failed")
response = self.client.get(self.ENDPOINT)
self.assertEqual(response.status_code, status.HTTP_200_OK)
database = response.data["database"]
self.assertEqual(database["status"], "ERROR")
self.assertEqual(
database["migration_status"],
{"latest_migration": None, "unapplied_migrations": []},
)
+26
View File
@@ -31,6 +31,7 @@ from documents.serialisers import DocumentSerializer
from documents.tasks import empty_trash
from paperless_testing.assertions import FileSystemAssertsMixin
from paperless_testing.dirs import DirectoriesMixin
from paperless_testing.dirs import PaperlessDirs
from paperless_testing.factories import DocumentFactory
from paperless_testing.factories import UserFactory
@@ -2134,3 +2135,28 @@ class TestPathDateLocalization:
with override_settings(FILENAME_FORMAT=filename_format):
filename = generate_filename(document)
assert filename == Path(expected_filename)
@pytest.mark.django_db
def test_refresh_failure_surfaces_database_error(
paperless_dirs: PaperlessDirs,
) -> None:
"""
GIVEN:
- A document with a stored filename
WHEN:
- Saving it triggers a filename update and refreshing it from the database fails
THEN:
- The database error is raised, not an unbound variable error from the rollback
"""
document = DocumentFactory(filename="some.pdf")
with (
mock.patch.object(
Document,
"refresh_from_db",
side_effect=DatabaseError("database is locked"),
),
pytest.raises(DatabaseError, match="database is locked"),
):
document.save()
+21
View File
@@ -4,6 +4,7 @@ from typing import Literal
import pytest
from documents.templating.filters import format_datetime
from documents.templating.filters import localize_date
@@ -294,3 +295,23 @@ class TestDateLocalization:
Tests `localize_date` with `date` string across different locales and formats.
"""
assert localize_date(value, format_style, locale_str) == expected_output
class TestFormatDatetime:
@pytest.mark.parametrize(
("value", "expected"),
[
pytest.param("2026-09-21", "2026-09-21 00:00", id="date"),
pytest.param(
"2026-09-21T13:45:00+00:00",
"2026-09-21 13:45",
id="datetime",
),
],
)
def test_parses_iso_strings(self, value: str, expected: str) -> None:
assert format_datetime(value, "%Y-%m-%d %H:%M") == expected
def test_rejects_unparseable_string(self) -> None:
with pytest.raises(ValueError, match="not a date"):
format_datetime("not a date", "%Y")
@@ -572,7 +572,7 @@ class TestAiChatAllDocumentsPermissionBoundary:
ENDPOINT = "/api/documents/chat/"
@override_settings(AI_ENABLED=True)
@patch("documents.views.stream_chat_with_documents")
@patch("paperless_ai.chat.stream_chat_with_documents")
def test_chat_all_documents_excludes_unshared_document(self, mock_stream_chat):
mock_stream_chat.return_value = iter([b"data"])
+62
View File
@@ -12,11 +12,73 @@ from documents.models import WorkflowTrigger
from documents.serialisers import TagSerializer
from documents.signals.handlers import run_workflows
from paperless_testing.dirs import DirectoriesMixin
from paperless_testing.factories import DocumentFactory
from paperless_testing.factories import TagFactory
from paperless_testing.factories import UserFactory
from paperless_testing.permissions import grant_global
from paperless_testing.permissions import grant_object
class TestTagHierarchyPermissions(APITestCase):
def test_delete_checks_descendant_permissions(self) -> None:
for mode in ("detail", "bulk", "all"):
for ownership in ("owned", "unowned", "private", "shared", "superuser"):
with self.subTest(mode=mode, ownership=ownership):
requester = UserFactory(superuser=ownership == "superuser")
grant_global(requester, "view_tag", "delete_tag")
self.client.force_authenticate(user=requester)
if ownership == "owned":
descendant_owner = requester
elif ownership == "unowned":
descendant_owner = None
else:
descendant_owner = UserFactory()
parent = TagFactory(owner=requester)
child = TagFactory(tn_parent=parent)
grandchild = TagFactory(
owner=descendant_owner,
tn_parent=child,
)
if ownership == "shared":
grant_object(requester, grandchild, "delete_tag")
document = DocumentFactory()
document.tags.add(grandchild)
ids = [parent.pk, child.pk, grandchild.pk]
if mode == "detail":
response = self.client.delete(f"/api/tags/{parent.pk}/")
else:
selection = (
{"all": True, "filters": {"id__in": str(parent.pk)}}
if mode == "all"
else {"objects": [parent.pk]}
)
response = self.client.post(
"/api/bulk_edit_objects/",
{"object_type": "tags", "operation": "delete", **selection},
format="json",
)
# Detail deletion accepts explicit delete grants; bulk
# deletion requires ownership (or an unowned object).
allowed = ownership in ("owned", "unowned", "superuser") or (
ownership == "shared" and mode == "detail"
)
expected_status = status.HTTP_403_FORBIDDEN
if allowed:
expected_status = (
status.HTTP_204_NO_CONTENT
if mode == "detail"
else status.HTTP_200_OK
)
assert response.status_code == expected_status
assert Tag.objects.filter(pk__in=ids).count() == (
0 if allowed else 3
)
assert document.tags.filter(pk=grandchild.pk).exists() == (
not allowed
)
def test_children_only_include_visible_tags(self) -> None:
owner = UserFactory(username="owner")
requester = UserFactory(username="requester")
+4 -4
View File
@@ -322,7 +322,7 @@ class TestUpdateContent(DirectoriesMixin, TestCase):
)
@override_settings(AI_ENABLED=True, LLM_EMBEDDING_BACKEND="huggingface")
@mock.patch("documents.tasks.llm_index_add_or_update_document")
@mock.patch("paperless_ai.indexing.llm_index_add_or_update_document")
@mock.patch("documents.search.get_backend")
def test_update_content_version_updates_llm_index(
self,
@@ -450,7 +450,7 @@ class TestAIIndex(DirectoriesMixin, TestCase):
checksum="wow",
)
with mock.patch(
"documents.tasks.llm_index_add_or_update_document",
"paperless_ai.indexing.llm_index_add_or_update_document",
) as llm_index_add_or_update_document:
tasks.update_document_in_llm_index(doc)
llm_index_add_or_update_document.assert_called_once_with(doc)
@@ -470,7 +470,7 @@ class TestAIIndex(DirectoriesMixin, TestCase):
checksum="wow",
)
with mock.patch(
"documents.tasks.llm_index_remove_document",
"paperless_ai.indexing.llm_index_remove_document",
) as llm_index_remove_document:
tasks.remove_document_from_llm_index(doc)
llm_index_remove_document.assert_called_once_with(doc)
@@ -495,7 +495,7 @@ class TestAIIndex(DirectoriesMixin, TestCase):
"documents.tasks.update_document_in_llm_index",
) as update_document_in_llm_index,
mock.patch(
"documents.tasks.update_llm_index",
"paperless_ai.indexing.update_llm_index",
) as update_llm_index,
):
doc_ids = [doc.pk for doc in docs]
+16 -16
View File
@@ -474,7 +474,7 @@ class TestAISuggestions(DirectoriesMixin, TestCase):
self.assertEqual(response.json()["tags"], [])
self.assertEqual(response.json()["suggested_tags"], [])
@patch("documents.views.get_ai_document_classification")
@patch("paperless_ai.ai_classifier.get_ai_document_classification")
@override_settings(
AI_ENABLED=True,
LLM_BACKEND="mock_backend",
@@ -524,7 +524,7 @@ class TestAISuggestions(DirectoriesMixin, TestCase):
None,
)
@patch("documents.views.get_ai_document_classification")
@patch("paperless_ai.ai_classifier.get_ai_document_classification")
@override_settings(
AI_ENABLED=True,
LLM_BACKEND="mock_backend",
@@ -562,7 +562,7 @@ class TestAISuggestions(DirectoriesMixin, TestCase):
"KI Title",
)
@patch("documents.views.get_ai_document_classification")
@patch("paperless_ai.ai_classifier.get_ai_document_classification")
@override_settings(
AI_ENABLED=True,
LLM_BACKEND="mock_backend",
@@ -601,7 +601,7 @@ class TestAISuggestions(DirectoriesMixin, TestCase):
"Titre IA",
)
@patch("documents.views.get_ai_document_classification")
@patch("paperless_ai.ai_classifier.get_ai_document_classification")
@override_settings(
AI_ENABLED=True,
LLM_BACKEND="mock_backend",
@@ -637,7 +637,7 @@ class TestAISuggestions(DirectoriesMixin, TestCase):
),
)
@patch("documents.views.get_ai_document_classification")
@patch("paperless_ai.ai_classifier.get_ai_document_classification")
@override_settings(
AI_ENABLED=True,
LLM_BACKEND="mock_backend",
@@ -709,7 +709,7 @@ class TestAISuggestions(DirectoriesMixin, TestCase):
),
)
@patch("documents.views.get_ai_document_classification")
@patch("paperless_ai.ai_classifier.get_ai_document_classification")
@override_settings(
AI_ENABLED=True,
LLM_BACKEND="openai-like",
@@ -738,7 +738,7 @@ class TestAISuggestions(DirectoriesMixin, TestCase):
get_llm_suggestion_cache(self.document.pk, backend="openai-like"),
)
@patch("documents.views.get_ai_document_classification")
@patch("paperless_ai.ai_classifier.get_ai_document_classification")
@override_settings(
AI_ENABLED=True,
LLM_BACKEND="openai-like",
@@ -765,7 +765,7 @@ class TestAISuggestions(DirectoriesMixin, TestCase):
get_llm_suggestion_cache(self.document.pk, backend="openai-like"),
)
@patch("documents.views.get_ai_document_classification")
@patch("paperless_ai.ai_classifier.get_ai_document_classification")
@override_settings(
AI_ENABLED=True,
LLM_BACKEND="openai-like",
@@ -797,7 +797,7 @@ class TestAISuggestions(DirectoriesMixin, TestCase):
get_llm_suggestion_cache(self.document.pk, backend="openai-like"),
)
@patch("documents.views.get_ai_document_classification")
@patch("paperless_ai.ai_classifier.get_ai_document_classification")
@override_settings(
AI_ENABLED=True,
LLM_BACKEND="mock_backend",
@@ -835,7 +835,7 @@ class TestAISuggestions(DirectoriesMixin, TestCase):
self.assertEqual(response.json()["tags"], [self.tag1.pk])
self.assertEqual(response.json()["suggested_tags"], ["Follow-up"])
@patch("documents.views.get_ai_document_classification")
@patch("paperless_ai.ai_classifier.get_ai_document_classification")
@override_settings(
AI_ENABLED=True,
LLM_BACKEND="mock_backend",
@@ -874,7 +874,7 @@ class TestAISuggestions(DirectoriesMixin, TestCase):
self.assertEqual(response.json()["tags"], [self.tag1.pk])
self.assertEqual(response.json()["suggested_tags"], [])
@patch("documents.views.get_ai_document_classification")
@patch("paperless_ai.ai_classifier.get_ai_document_classification")
@override_settings(
AI_ENABLED=True,
LLM_BACKEND="mock_backend",
@@ -996,7 +996,7 @@ class TestAIChatStreamingView(DirectoriesMixin, TestCase):
self.assertEqual(response.status_code, 400)
self.assertIn(b"AI is required for this feature", response.content)
@patch("documents.views.stream_chat_with_documents")
@patch("paperless_ai.chat.stream_chat_with_documents")
@patch("documents.views.permitted_document_ids")
@override_settings(AI_ENABLED=True)
def test_post_no_document_id(self, mock_permitted_ids, mock_stream_chat) -> None:
@@ -1016,7 +1016,7 @@ class TestAIChatStreamingView(DirectoriesMixin, TestCase):
self.assertEqual(list(call_kwargs["documents"]), [self.document])
self.assertIsNone(call_kwargs["output_language"])
@patch("documents.views.stream_chat_with_documents")
@patch("paperless_ai.chat.stream_chat_with_documents")
@patch("documents.views.permitted_document_ids")
@override_settings(AI_ENABLED=True)
def test_post_uses_user_display_language(
@@ -1042,7 +1042,7 @@ class TestAIChatStreamingView(DirectoriesMixin, TestCase):
self.assertEqual(list(call_kwargs["documents"]), [self.document])
self.assertEqual(call_kwargs["output_language"], "de-de")
@patch("documents.views.stream_chat_with_documents")
@patch("paperless_ai.chat.stream_chat_with_documents")
@override_settings(AI_ENABLED=True)
def test_post_with_document_id(self, mock_stream_chat) -> None:
self.grant_view_document_permission()
@@ -1079,7 +1079,7 @@ class TestAIChatStreamingView(DirectoriesMixin, TestCase):
self.assertEqual(response.status_code, 403)
self.assertIn(b"Insufficient permissions", response.content)
@patch("documents.views.stream_chat_with_documents")
@patch("paperless_ai.chat.stream_chat_with_documents")
@override_settings(AI_ENABLED=True)
def test_post_no_document_id_requires_view_document_permission(
self,
@@ -1093,7 +1093,7 @@ class TestAIChatStreamingView(DirectoriesMixin, TestCase):
self.assertEqual(response.status_code, 403)
mock_stream_chat.assert_not_called()
@patch("documents.views.stream_chat_with_documents")
@patch("paperless_ai.chat.stream_chat_with_documents")
@override_settings(AI_ENABLED=True)
def test_post_with_document_id_requires_view_document_permission(
self,
+56 -28
View File
@@ -250,20 +250,8 @@ from paperless.parsers.remote import RemoteEngineConfig
from paperless.serialisers import GroupSerializer
from paperless.serialisers import UserSerializer
from paperless.views import StandardPagination
from paperless_ai.ai_classifier import get_ai_document_classification
from paperless_ai.ai_classifier import get_llm_output_language
from paperless_ai.chat import stream_chat_with_documents
from paperless_ai.exceptions import LLMProviderError
from paperless_ai.exceptions import LLMTimeoutError
from paperless_ai.matching import extract_unmatched_names
from paperless_ai.matching import match_correspondents_by_name
from paperless_ai.matching import match_document_types_by_name
from paperless_ai.matching import match_storage_paths_by_name
from paperless_ai.matching import match_tags_by_name
from paperless_ai.matching import resolve_correspondent_ids
from paperless_ai.matching import resolve_document_type_ids
from paperless_ai.matching import resolve_storage_path_ids
from paperless_ai.matching import resolve_tag_ids
from paperless_mail.models import MailAccount
from paperless_mail.models import MailRule
from paperless_mail.oauth import PaperlessMailOAuth2Manager
@@ -588,6 +576,15 @@ class CorrespondentViewSet(
return super().retrieve(request, *args, **kwargs)
def _with_tag_descendants(tags: QuerySet[Tag]) -> QuerySet[Tag]:
"""Include every tag that deleting the selected tags will affect."""
tag_ids = set()
for tag in tags:
tag_ids.add(tag.pk)
tag_ids.update(tag.get_descendants_pks())
return Tag.objects.filter(pk__in=tag_ids)
@extend_schema_view(**generate_object_with_permissions_schema(TagSerializer))
class TagViewSet(PermissionsAwareDocumentCountMixin, ModelViewSet[Tag]):
model = Tag
@@ -609,6 +606,14 @@ class TagViewSet(PermissionsAwareDocumentCountMixin, ModelViewSet[Tag]):
filterset_class = TagFilterSet
ordering_fields = ("color", "name", "matching_algorithm", "match", "document_count")
def perform_destroy(self, instance):
tags = _with_tag_descendants(Tag.objects.filter(pk=instance.pk))
if tags.exclude(
pk__in=permitted_object_ids(self.request.user, Tag, "delete_tag"),
).exists():
raise PermissionDenied(_("Insufficient permissions."))
super().perform_destroy(instance)
def get_serializer_context(self):
context = super().get_serializer_context()
context["document_count_filter"] = self.get_document_count_filter()
@@ -699,19 +704,6 @@ class EmailDocumentDetailSchema(EmailSerializer):
@extend_schema_view(
list=extend_schema(
parameters=[
OpenApiParameter(
name=name,
type=OpenApiTypes.INT,
many=True,
style="form",
explode=False,
)
for name, field in DocumentFilterSet.base_filters.items()
if isinstance(field, ObjectFilter)
],
),
retrieve=extend_schema(
description="Retrieve a single document",
responses={
@@ -1613,6 +1605,18 @@ class DocumentViewSet(
if not ai_config.ai_enabled:
return HttpResponseBadRequest("AI is required for this feature")
from paperless_ai.ai_classifier import get_ai_document_classification
from paperless_ai.ai_classifier import get_llm_output_language
from paperless_ai.matching import extract_unmatched_names
from paperless_ai.matching import match_correspondents_by_name
from paperless_ai.matching import match_document_types_by_name
from paperless_ai.matching import match_storage_paths_by_name
from paperless_ai.matching import match_tags_by_name
from paperless_ai.matching import resolve_correspondent_ids
from paperless_ai.matching import resolve_document_type_ids
from paperless_ai.matching import resolve_storage_path_ids
from paperless_ai.matching import resolve_tag_ids
output_language = get_llm_output_language(
ai_config=ai_config,
user=request.user,
@@ -2446,6 +2450,9 @@ class ChatStreamingView(GenericAPIView[Any]):
)
unrestricted = user_is_unrestricted(request.user)
from paperless_ai.ai_classifier import get_llm_output_language
from paperless_ai.chat import stream_chat_with_documents
output_language = get_llm_output_language(
ai_config=ai_config,
user=request.user,
@@ -2467,6 +2474,17 @@ class ChatStreamingView(GenericAPIView[Any]):
list=extend_schema(
description="Document views including search",
parameters=[
*(
OpenApiParameter(
name=name,
type=OpenApiTypes.INT,
many=True,
style="form",
explode=False,
)
for name, field in DocumentFilterSet.base_filters.items()
if isinstance(field, ObjectFilter)
),
OpenApiParameter(
name="text",
type=OpenApiTypes.STR,
@@ -5069,6 +5087,9 @@ class BulkEditObjectsView(PassUserMixin):
pk__in=object_ids,
)
if object_type == "tags" and operation == "delete":
objs = _with_tag_descendants(objs)
if not user.is_superuser:
perm = f"documents.{perm_codename}"
# Limited to the owner (or unowned), same as documents, see BulkEditView
@@ -5262,7 +5283,9 @@ class CustomFieldViewSet(PermissionsAwareDocumentCountMixin, ModelViewSet[Custom
"migration_status": inline_serializer(
name="MigrationStatus",
fields={
"latest_migration": serializers.CharField(),
"latest_migration": serializers.CharField(
allow_null=True,
),
"unapplied_migrations": serializers.ListSerializer(
child=serializers.CharField(),
),
@@ -5337,6 +5360,8 @@ class SystemStatusView(PassUserMixin):
db_conn = connections["default"]
db_url = str(db_conn.settings_dict["NAME"])
db_error = None
all_migrations: list[str] = []
applied_migrations: list[str] = []
try:
db_conn.ensure_connection()
@@ -5347,7 +5372,8 @@ class SystemStatusView(PassUserMixin):
f"{m.app}.{m.name}"
for m in MigrationRecorder.Migration.objects.all().order_by("id")
]
except Exception as e: # pragma: no cover
except Exception as e:
all_migrations = []
applied_migrations = []
db_status = "ERROR"
logger.exception(
@@ -5543,7 +5569,9 @@ class SystemStatusView(PassUserMixin):
"status": db_status,
"error": db_error,
"migration_status": {
"latest_migration": applied_migrations[-1],
"latest_migration": (
applied_migrations[-1] if applied_migrations else None
),
"unapplied_migrations": [
m for m in all_migrations if m not in applied_migrations
],
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Afrikaans\n"
"Language: af_ZA\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Dokumente"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "Waarde moet geldige JSON wees."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Ongeldige gepasmaakte veldnavraaguitdrukking"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Ongeldige uitdrukking lys. Moet nie leeg wees nie."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Ongeldige logiese uitdrukking {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr ""
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr ""
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr ""
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr ""
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr ""
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1680,7 +1680,7 @@ msgstr "Ongeldige veranderlike bespeur."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1920,40 +1920,40 @@ msgstr ""
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2245,151 +2245,151 @@ msgstr ""
msgid "paperless application settings"
msgstr ""
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Engels (VS)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "Arabies"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr ""
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Belorussies"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr ""
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Katalaans"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Tsjeggies"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Deens"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Duits"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr ""
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Engels (GB)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Spaans"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Fins"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Frans"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr ""
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Italiaans"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr ""
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr ""
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Luxemburgs"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr ""
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Nederlands"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Pools"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Portugees (Brasilië)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Portugees"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Roemeens"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Russies"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr ""
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Sloweens"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Serwies"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Sweeds"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Turks"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr ""
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Vereenvoudigde Sjinees"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr ""
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Amharic\n"
"Language: am_ET\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "መዝገባት"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "የሚሰራው እሴት \"JSON\" መሆን አለበት"
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "ልክ ያልሆነ የተወሰነ የቦታ መጠይቅ አገላለጽ"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "ልክ ያልሆነ የመግለጫ ዝርዝር። ባዶ መሆን የለበትም።"
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "ልክ ያልሆነ የሎጂክ ኦፕሬተር {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "ከፍተኛው የጥያቄ ሁኔታዎች/መጠን ብዛት አልፏል።"
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} ይሄ ታዐማኒነት ያለው ልማድ አይደለም።"
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "ጥያቄን አይደግፍም expr {expr!r}."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "ከፍተኛው የጥገኝነት ጥልቀት አልፏል።"
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "ይህ ልማድ አልተገኘም"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1680,7 +1680,7 @@ msgstr ""
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1920,40 +1920,40 @@ msgstr ""
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2245,151 +2245,151 @@ msgstr ""
msgid "paperless application settings"
msgstr ""
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr ""
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr ""
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr ""
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr ""
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr ""
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr ""
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr ""
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr ""
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr ""
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr ""
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr ""
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr ""
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr ""
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr ""
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr ""
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr ""
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr ""
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr ""
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr ""
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr ""
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr ""
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr ""
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr ""
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr ""
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr ""
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr ""
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr ""
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr ""
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr ""
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr ""
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr ""
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr ""
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr ""
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr ""
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Arabic\n"
"Language: ar_SA\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "المستندات"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "يجب أن تكون القيمة JSON."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "تعبير استعلام غير صالح للحقول المخصصة"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "قائمة عبارة خاطئة."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr ""
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "تجاوز الحد الأقصى لعدد شروط الاستعلام."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} حقل مخصص غير صالح."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} لا يدعم تعبير الاستعلام {expr!r}."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr ""
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "لم يتم العثور على حقل مخصص"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1680,7 +1680,7 @@ msgstr "اكتشاف متغير خاطئ."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1921,40 +1921,40 @@ msgstr "كخطوة أخيرة، يرجى ملء النموذج التالي:"
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2246,151 +2246,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "إعدادات التطبيق paperless"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "الإنجليزية (الولايات المتحدة)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "العربية"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "اللغة الأفريقانية"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "البيلاروسية"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "البلغارية"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "اللغة الكتالونية"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "التشيكية"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "الدانماركية"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "الألمانية"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "اليونانية"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "الإنجليزية (المملكة المتحدة)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "الإسبانية"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "الفنلندية"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "الفرنسية"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "المجرية"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "الإيطالية"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "اليابانية"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr ""
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "اللوكسمبرجية"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "النرويجية"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "الهولندية"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "البولندية"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "البرتغالية (البرازيل)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "البرتغالية"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "الرومانية"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "الروسية"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "السلوفاكية"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "السلوفانية"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "الصربية"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "السويدية"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "التركية"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "الأوكرانية"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "الصينية المبسطة"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr ""
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Belarusian\n"
"Language: be_BY\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Дакументы"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr ""
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr ""
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr ""
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr ""
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr ""
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr ""
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr ""
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr ""
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr ""
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1680,7 +1680,7 @@ msgstr "Выяўлена няправільная зменная."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1920,40 +1920,40 @@ msgstr ""
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2245,151 +2245,151 @@ msgstr ""
msgid "paperless application settings"
msgstr ""
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Англійская (ЗША)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr ""
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr ""
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Беларуская"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr ""
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr ""
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Чэшская"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Дацкая"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Нямецкая"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr ""
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Англійская (Вялікабрытанія)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Іспанская"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr ""
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Французская"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr ""
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Італьянская"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr ""
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr ""
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Люксембургская"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr ""
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Нідэрландская"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Польская"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Партугальская (Бразілія)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Партугальская"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Румынская"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Руская"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr ""
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Славенская"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Сербская"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Шведская"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Турэцкая"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr ""
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Кітайская спрошчаная"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr ""
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Bulgarian\n"
"Language: bg_BG\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Документи"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "Стойността трябва да е валидна JSON."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Невалидна заявка на персонализираното полето"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Списък с невалиден израз. Не може да е празно."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Невалиден логически оператор {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "Надвишен е максимален брой за заявки."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} не е валидно персонализирано поле."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} не поддържа заявка expr {expr!r}."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Надвишена е максималната дълбочина на вмъкване."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Персонализирано поле не е намерено"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr "стартиране на работните процеси"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1680,7 +1680,7 @@ msgstr "Засечена е невалидна променлива."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1921,40 +1921,40 @@ msgstr "Като последна стъпка, моля, попълнете с
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2246,151 +2246,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "настройки на софтуера"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Английски (САЩ)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "Арабски"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "Африканс"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Беларуски"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "Български"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Каталунски"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Чешки"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Датски"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Немски"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Гръцки"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Английски (Великобритания)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Испански"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Финландски"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Френски"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "Унгарски"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Италиански"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "Японски"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "Корейски"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Люксембургски"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Норвежки"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Холандски"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Полски"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Португалски (Бразилия)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Португалски"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Румънски"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Руски"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "Словашки"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Словенски"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Сръбски"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Шведски"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Турски"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "Украински"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Китайски опростен"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "Китайски традиционен"
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Catalan\n"
"Language: ca_ES\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Documents "
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "Valor ha de ser un JSON valid."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Expressió de camp de consulta invàlid"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Expressió de llista invàlida. No ha d'estar buida."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Invàlid operand lògic {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "Condicions de consulta excedits."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} no és un camp personalitzat vàlid."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} no suporta expressió de consulta {expr!r}."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Màxima profunditat anidada excedida."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Camp personalitzat no trobat"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr "flux corrents"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Permisos insuficients."
@@ -1680,7 +1680,7 @@ msgstr "Variable detectada invàlida."
msgid "Duplicate document identifiers are not allowed."
msgstr "Duplicat d'identificadors de documents no permès."
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Documents no trobats: %(ids)s"
@@ -1921,40 +1921,40 @@ msgstr "Com a pas final, completa el següent formulari:"
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Especifica només un dels següents valors: text, title_search, query o more_like_id."
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr "Invalid more_like_id"
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr "Configuració AI invàlida."
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Permisos insuficients per compartir document %(id)s."
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr "Paquet ja s'està processant."
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "El paquet de link encarà s'està preparant. Prova de nou més tard."
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "El paquet d'enllaç no està disponible."
@@ -2246,151 +2246,151 @@ msgstr "Estableix temps d'espera en segons"
msgid "paperless application settings"
msgstr "configuració de l'aplicació paperless"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Anglès (US)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "Àrab"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "Africà"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Bielorús"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "Búlgar"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Català"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Txec"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Danès"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Alemany"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Grec"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Anglès (GB)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Espanyol"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr "Persa"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Finès"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Francès"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "Hongarès"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr "Indonesi"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Italià"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "Japonès"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "Coreà"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Luxemburguès"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Noruec"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Holandès"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Polonès"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Portuguès (Brasil)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Portuguès"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Romanès"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Rus"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "Eslovac"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Eslovè"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Serbi"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Suec"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Turc"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "Ucranià"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr "Vietnamita"
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Xinès Simplificat"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "Xinès tradicional"
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Czech\n"
"Language: cs_CZ\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Dokumenty"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "Hodnota musí být platný JSON."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Neplatný výraz dotazu na vlastní pole"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Neplatný seznam výrazů. Nesmí být prázdný."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Neplatný logický operátor {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "Překročen maximální počet podmínek dotazu."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} není platné vlastní pole."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} nepodporuje výraz dotazu {expr!r}."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Překročena maximální hloubka větvení."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Vlastní pole nebylo nalezeno"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr "spuštění pracovních postupů"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Nedostatečná oprávnění."
@@ -1680,7 +1680,7 @@ msgstr "Zjištěna neplatná proměnná."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1921,40 +1921,40 @@ msgstr "Jako poslední krok vyplňte následující formulář:"
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Nedostatečná oprávnění ke sdílení dokumentu %(id)s."
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2246,151 +2246,151 @@ msgstr "Nastaví časový limit LLM v sekundách"
msgid "paperless application settings"
msgstr "nastavení aplikace paperless"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Angličtina (US)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "Arabština"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "Afrikánština"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Běloruština"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "Bulharština"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Katalánština"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Čeština"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Dánština"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Němčina"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Řečtina"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Angličtina (GB)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Španělština"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr "Perština"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Finština"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Francouzština"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "Maďarština"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr "Indonéština"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Italština"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "Japonština"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "Korejština"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Lucemburština"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Norština"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Holandština"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Polština"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Portugalština (Brazílie)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Portugalština"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Rumunština"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Ruština"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "Slovenština"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Slovinština"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Srbština"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Švédština"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Turečtina"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "Ukrajinština"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr "Vietnamština"
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Čínština (zjednodušená)"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "Čínština (tradiční)"
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Danish\n"
"Language: da_DK\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Dokumenter"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "Værdien skal være gyldig JSON."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Ugyldigt tilpasset feltforespørgselsudtryk"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Ugyldig udtryksliste. Må ikke være tom."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Ugyldig logisk operatør {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "Maksimalt antal forespørgselsbetingelser overskredet."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} er ikke et gyldigt tilpasset felt."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} understøtter ikke forespørgsel expr {expr!r}."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Maksimal indlejringsdybde overskredet."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Tilpasset felt ikke fundet"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr "workflow-kørsler"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1680,7 +1680,7 @@ msgstr "Ugyldig variabel fundet."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1921,40 +1921,40 @@ msgstr "Som sidste trin, udfyld venligst flg. formular:"
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2246,151 +2246,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "paperless-applikationsindstillinger"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Engelsk (USA)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr ""
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "Afrikaans"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Hviderussisk"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "Bulgarsk"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Katalansk"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Tjekkisk"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Dansk"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Tysk"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Græsk"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Engelsk (GB)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Spansk"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Finsk"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Fransk"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "Ungarsk"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Italiensk"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "Japansk"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "Koreansk"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Luxemburgsk"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Norsk"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Hollandsk"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Polsk"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Portugisisk (Brasilien)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Portugisisk"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Romansk"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Russisk"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "Slovakisk"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Slovensk"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Serbisk"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Svensk"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Tyrkisk"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "Ukrainsk"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Kinesisk, forenklet"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "Kinesisk, traditionelt"
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: German, Switzerland\n"
"Language: de_CH\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Dokumente"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "Wert muss gültiges JSON sein."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Ungültiger benutzerdefinierter Feldabfrageausdruck"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Ungültige Ausdrucksliste. Darf nicht leer sein."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Ungültiger logischer Operator {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "Maximale Anzahl an Abfragebedingungen überschritten."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} ist kein gültiges Zusatzfeld."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} unterstützt den Abfrageausdruck {expr!r} nicht."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Maximale Verschachtelungstiefe überschritten."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Benutzerdefiniertes Feld nicht gefunden"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr "Arbeitsablauf wird ausgeführt"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Unzureichende Berechtigungen."
@@ -1680,7 +1680,7 @@ msgstr "Ungültige Variable erkannt."
msgid "Duplicate document identifiers are not allowed."
msgstr "Doppelte Dokumentbezeichner sind nicht erlaubt."
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dokumente nicht gefunden: %(ids)s"
@@ -1921,40 +1921,40 @@ msgstr "Bitte füllen Sie zum Abschluss folgendes Formular aus:"
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Geben Sie nur einen von text, title_search, query, oder more_like_id an."
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr "Ungültige more_like_id"
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr "Ungültige KI-Konfiguration."
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Unzureichende Berechtigungen, um Dokument %(id)s zu teilen."
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr "Paket wird bereits verarbeitet."
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Das Freigabelink-Paket wird noch vorbereitet. Bitte versuchen Sie es später erneut."
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "Das Freigabelink-Paket ist nicht verfügbar."
@@ -2246,151 +2246,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "Paperless-ngx-Anwendungseinstellungen"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Englisch (US)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "Arabisch"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "Afrikanisch"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Belarussisch"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "Bulgarisch"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Katalanisch"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Tschechisch"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Dänisch"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Deutsch"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Griechisch"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Englisch (UK)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Spanisch"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr "Persisch"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Finnisch"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Französisch"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "Ungarisch"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr "Indonesisch"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Italienisch"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "Japanisch"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "Koreanisch"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Luxemburgisch"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Norwegisch"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Niederländisch"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Polnisch"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Portugiesisch (Brasilien)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Portugiesisch"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Rumänisch"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Russisch"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "Slowakisch"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Slowenisch"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Serbisch"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Schwedisch"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Türkisch"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "Ukrainisch"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr "Vietnamesisch"
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Chinesisch (vereinfacht)"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "Chinesisch (traditionell)"
+61 -61
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-11-03 00:31\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Language: de_DE\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Dokumente"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
msgstr "Datum oder ein relatives Datum erwartet, wie etwa „heute“ oder „in 30 Tagen“."
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "Wert muss gültiges JSON sein."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Ungültiger Zusatzfeld-Abfrageausdruck"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Ungültige Ausdrucksliste. Darf nicht leer sein."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Ungültiger logischer Operator {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "Maximale Anzahl an Abfragebedingungen überschritten."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} ist kein gültiges Zusatzfeld."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} unterstützt den Abfrageausdruck {expr!r} nicht."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Maximale Verschachtelungstiefe überschritten."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Zusatzfeld nicht gefunden"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr "Arbeitsablauf wird ausgeführt"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Unzureichende Berechtigungen."
@@ -1680,7 +1680,7 @@ msgstr "Ungültige Variable erkannt."
msgid "Duplicate document identifiers are not allowed."
msgstr "Doppelte Dokumentbezeichner sind nicht erlaubt."
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dokumente nicht gefunden: %(ids)s"
@@ -1921,40 +1921,40 @@ msgstr "Bitte füllen Sie zum Abschluss folgendes Formular aus:"
msgid ", "
msgstr ", "
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Geben Sie nur einen von text, title_search, query, oder more_like_id an."
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr "Ungültige more_like_id"
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr "Ungültige KI-Konfiguration."
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr "Zeitüberschreitung bei der KI-Backendanfrage."
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr "Das KI-Backend hat die Anfrage abgelehnt. Details in den Protokollen."
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Unzureichende Berechtigungen, um Dokument %(id)s zu teilen."
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr "Paket wird bereits verarbeitet."
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Das Freigabelink-Paket wird noch vorbereitet. Bitte versuchen Sie es später erneut."
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "Das Freigabelink-Paket ist nicht verfügbar."
@@ -2246,151 +2246,151 @@ msgstr "Legt das LLM-Zeitlimit in Sekunden fest"
msgid "paperless application settings"
msgstr "Paperless-ngx-Anwendungseinstellungen"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Englisch (US)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "Arabisch"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "Afrikanisch"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Belarussisch"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "Bulgarisch"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Katalanisch"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Tschechisch"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Dänisch"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Deutsch"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Griechisch"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Englisch (UK)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Spanisch"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr "Persisch"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Finnisch"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Französisch"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "Ungarisch"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr "Indonesisch"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Italienisch"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "Japanisch"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "Koreanisch"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Luxemburgisch"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Norwegisch"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Niederländisch"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Polnisch"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Portugiesisch (Brasilien)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Portugiesisch"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Rumänisch"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Russisch"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "Slowakisch"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Slowenisch"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Serbisch"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Schwedisch"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Türkisch"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "Ukrainisch"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr "Vietnamesisch"
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Chinesisch (vereinfacht)"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "Chinesisch (traditionell)"
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Greek\n"
"Language: el_GR\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Έγγραφα"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "Η τιμή πρέπει να είναι σε έγκυρη μορφή JSON."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Μη έγκυρη έκφραση προσαρμοσμένου ερωτήματος πεδίου"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Μη έγκυρη λίστα έκφρασης. Πρέπει να είναι μη κενή."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Μη έγκυρος λογικός τελεστής {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "Υπέρβαση μέγιστου αριθμού συνθηκών ερωτήματος."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "Το προσαρμοσμένο πεδίο {name!r} δεν είναι ένα έγκυρο."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "Το {data_type} δεν υποστηρίζει το ερώτημα expr {expr!r}s."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Υπέρβαση μέγιστου βάθους εμφώλευσης."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Το προσαρμοσμένο πεδίο δε βρέθηκε"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr "εκτελέσεις ροής εργασίας"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1680,7 +1680,7 @@ msgstr "Εντοπίστηκε μη έγκυρη μεταβλητή."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1921,40 +1921,40 @@ msgstr "Ως τελικό βήμα, παρακαλούμε να συμπληρώ
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2246,151 +2246,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "ρυθμίσεις εφαρμογής paperless"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Αγγλικά (ΗΠΑ)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "Αραβικά"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "Αφρικανικά"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Λευκορωσικά"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "Βουλγαρικά"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Καταλανικά"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Τσέχικα"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Δανέζικα"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Γερμανικά"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Ελληνικά"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Αγγλικά (Ηνωμένο Βασίλειο)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Ισπανικά"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Φινλανδικά"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Γαλλικά"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "Ουγγρικά"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Ιταλικά"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "Ιαπωνικά"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "Κορεάτικα"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Λουξεμβουργικά"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Νορβηγικά"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Ολλανδικά"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Πολωνικά"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Πορτογαλικά (Βραζιλίας)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Πορτογαλικά"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Ρουμάνικα"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Ρωσικά"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "Σλοβακικά"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Σλοβενικά"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Σερβικά"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Σουηδικά"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Τούρκικα"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "Ουκρανικά"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Κινέζικα Απλοποιημένα"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "Κινεζικά Παραδοσιακά"
+60 -60
View File
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"POT-Creation-Date: 2026-11-04 19:06+0000\n"
"PO-Revision-Date: 2022-02-17 04:17\n"
"Last-Translator: \n"
"Language-Team: English\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr ""
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr ""
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr ""
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr ""
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr ""
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr ""
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr ""
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr ""
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr ""
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr ""
@@ -1657,8 +1657,8 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: paperless_mail/serialisers.py:156
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:614
#: documents/views.py:2748 paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1698,7 +1698,7 @@ msgstr ""
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4798
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1949,40 +1949,40 @@ msgstr ""
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2745
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1665
#: documents/views.py:1669
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1676
#: documents/views.py:1680
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1692
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4814
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4843
#: documents/views.py:4861
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4909
#: documents/views.py:4927
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4923
#: documents/views.py:4941
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2274,151 +2274,151 @@ msgstr ""
msgid "paperless application settings"
msgstr ""
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr ""
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr ""
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr ""
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr ""
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr ""
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr ""
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr ""
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr ""
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr ""
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr ""
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr ""
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr ""
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr ""
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr ""
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr ""
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr ""
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr ""
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr ""
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr ""
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr ""
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr ""
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr ""
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr ""
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr ""
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr ""
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr ""
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr ""
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr ""
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr ""
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr ""
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr ""
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr ""
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr ""
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr ""
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
"Language: es_ES\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Documentos"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "El valor debe ser un JSON válido."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Expresión de consulta de campo personalizado no válida"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Lista de expresiones no válida. No debe estar vacía."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Operador lógico inválido {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "Se ha superado el número máximo de condiciones de consulta."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{nombre!r} no es un campo personalizado válido."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} no admite la consulta expr {expr!r}."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Profundidad máxima de nidificación superada."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Campo personalizado no encontrado"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr "ejecuciones de flujo de trabajo"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Permisos insuficientes."
@@ -1680,7 +1680,7 @@ msgstr "Variable inválida."
msgid "Duplicate document identifiers are not allowed."
msgstr "No se permiten identificadores de documento duplicados."
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Documentos no encontrados: %(ids)s"
@@ -1921,40 +1921,40 @@ msgstr "Como último paso, por favor complete el siguiente formulario:"
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Especifique solo uno entre text, title_search, query, o more_like_id."
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr "Configuración de IA inválida."
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Permisos insuficientes para compartir el documento %(id)s."
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr "El paquete ya está siendo procesado."
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "El paquete de enlace compartido aún está siendo preparado. Por favor, inténtalo de nuevo más tarde."
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "El paquete de enlace compartido no está disponible."
@@ -2246,151 +2246,151 @@ msgstr "Establece el tiempo de espera de LLM en segundos"
msgid "paperless application settings"
msgstr "Ajustes de la aplicación paperless"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Inglés (US)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "Árabe"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "Africano"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Bielorruso"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "Búlgaro"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Catalán"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Checo"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Danés"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Alemán"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Griego"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Inglés (Gran Bretaña)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Español"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr "Persa"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Finlandés"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Francés"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "Húngaro"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr "Indonesio"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Italiano"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "Japonés"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "Coreano"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Luxemburgués"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Noruego"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Alemán"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Polaco"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Portugués (Brasil)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Portugués"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Rumano"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Ruso"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "Eslovaco"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Esloveno"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Serbio"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Sueco"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Turco"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "Ucraniano"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr "Vietnamita"
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Chino simplificado"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "Chino tradicional"
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Estonian\n"
"Language: et_EE\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Dokumendid"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "Väärtus peab olema lubatav JSON."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Vigane kohandatud välja päringu avaldis"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Vigane avaldiste loend. Peab olema mittetühi."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Vigane loogikaoperaator {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "Päringutingimuste suurim hulk on ületatud."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} ei ole lubatud kohandatud väli."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} ei toeta päringu avaldist {expr!r}."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Suurim pesastamis sügavus ületatud."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Kohandatud välja ei leitud"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1680,7 +1680,7 @@ msgstr ""
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1920,40 +1920,40 @@ msgstr ""
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2245,151 +2245,151 @@ msgstr ""
msgid "paperless application settings"
msgstr ""
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr ""
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr ""
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr ""
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr ""
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr ""
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr ""
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr ""
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr ""
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr ""
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr ""
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr ""
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr ""
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr ""
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr ""
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr ""
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr ""
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr ""
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr ""
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr ""
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr ""
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr ""
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr ""
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr ""
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr ""
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr ""
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr ""
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr ""
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr ""
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr ""
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr ""
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr ""
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr ""
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr ""
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr ""
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Persian\n"
"Language: fa_IR\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "اسناد و مدارک"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "مقدار باید JSON معتبر باشد."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Invalid custom field query expression"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "لیست عبارت‌ها نامعتبر است. نباید خالی باشد."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr ""
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "حداکثر تعداد شرایط پرس و جو از آن فراتر رفته است."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{نام! R} یک زمینه سفارشی معتبر نیست."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr ""
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "حداکثر عمق تودرتویی بیش از حد مجاز است."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "زمینه سفارشی یافت نشد"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr "گردش کار اجرا می شود"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1680,7 +1680,7 @@ msgstr "متغیر نامعتبر شناسایی شده است."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1920,40 +1920,40 @@ msgstr "به عنوان مرحله آخر ، لطفاً فرم زیر را تک
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2245,151 +2245,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "تنظیمات برنامه بدون کاغذ"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "انگلیسی (ایالات متحده)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "عربی"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "افریکان"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "وابسته به بلروس"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "وابسته به بلغاری"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "کاتالان"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "وابسته به چک"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "وابسته به دانمارکی"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "آلمانی"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "یونانی"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "انگلیسی (GB)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "اسپانیایی"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr "فارسی"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "فنلاندی"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "فرانسوی"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "مجارستانی"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "ایتالیایی"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "وابسته به ژاپنی"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "کره ای"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "وابسته به لوکس"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "نروژی"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "هلندی"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "صیقل دادن"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "پرتغالی (برزیل)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "وابسته به پرتغالی"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "وابسته به رومانی"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "روسی"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "لگن"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "وابسته به اسلوونی"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "صرب"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "سوئدی"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "ترکی"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "وابسته به اوکراینی"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "چینی ساده شد"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "چینی سنتی"
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Finnish\n"
"Language: fi_FI\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Asiakirjat"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "Arvon on oltava kelvollista JSON:ia."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr ""
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr ""
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr ""
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr ""
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr ""
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr ""
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr ""
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr ""
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1680,7 +1680,7 @@ msgstr "Virheellinen muuttuja havaittu."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1921,40 +1921,40 @@ msgstr ""
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2246,151 +2246,151 @@ msgstr ""
msgid "paperless application settings"
msgstr ""
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Englanti (US)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "Arabialainen"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr ""
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "valkovenäjä"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr ""
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Katalaani"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Tšekki"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Tanska"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Saksa"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Kreikka"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Englanti (US)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Espanja"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Suomi"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Ranska"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr ""
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Italia"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr ""
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr ""
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Luxemburg"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Norja"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Hollanti"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "puola"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "portugali (Brasilia)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "portugali"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "romania"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "venäjä"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "Slovakia"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Slovenia"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Serbia"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "ruotsi"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Turkki"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "Ukraina"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Kiina (yksinkertaistettu)"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr ""
+61 -61
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Language: fr_FR\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Documents"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "La valeur doit être un JSON valide."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Requête de champ personnalisé invalide"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Liste d'expressions invalide. Doit être non vide."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Opérateur logique {op!r} invalide"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "Nombre maximum de conditions dans la requête dépassé."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} n'est pas un champ personnalisé valide."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} ne supporte pas l'expression {expr!r}."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Profondeur de récursion maximale dépassée."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Champ personnalisé non trouvé"
@@ -310,7 +310,7 @@ msgstr "Mallette"
#: documents/models.py:580
msgid "Building"
msgstr "Batîment"
msgstr "Bâtiment"
#: documents/models.py:581
msgid "Calculator"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr "le flux de travail s'exécute"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Droits insuffisants."
@@ -1680,7 +1680,7 @@ msgstr "Variable invalide détectée."
msgid "Duplicate document identifiers are not allowed."
msgstr "Les identificateurs de document en double ne sont pas autorisés."
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Documents introuvables : %(ids)s"
@@ -1920,40 +1920,40 @@ msgstr "Pour finir, veuillez remplir le formulaire suivant :"
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Spécifiez seulement un texte, titre, recherche ou more_like_id."
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr "More_like_id invalide"
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr "Configuration IA invalide."
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr "La requête d'arrière-plan IA a expiré."
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Droits d'accès insuffisant pour partager %(id)s document."
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr "Le paquet est déjà en cours de traitement."
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Le lot de liens de partage est en cours de préparation. Veuillez réessayer plus tard."
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "Le lot de liens de partage n'est pas disponible."
@@ -2245,151 +2245,151 @@ msgstr "Définit le délai d'attente du LLM en secondes"
msgid "paperless application settings"
msgstr "paramètres de l'application paperless"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Anglais (US)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "Arabe"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "Afrikaans"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Biélorusse"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "Bulgare"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Catalan"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Tchèque"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Danois"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Allemand"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Grec"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Anglais (GB)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Espagnol"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr "Persan"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Finnois"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Français"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "Hongrois"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr "Indonésien"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Italien"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "Japonais"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "Coréen"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Luxembourgeois"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Norvégien"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Néerlandais"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Polonais"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Portugais (Brésil)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Portugais"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Roumain"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Russe"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "Solvaque"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Slovène"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Serbe"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Suédois"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Turc"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "Ukrainien"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr "Vietnamien"
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Chinois simplifié"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "Chinois traditionnel"
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Hebrew\n"
"Language: he_IL\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "מסמכים"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "ערך חייב להיות JSON תקין."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "ביטוי שאילתה לא חוקי של שדה מותאם אישית"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "רשימת ביטויים לא חוקית. חייב לכלול ערך."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "סימן פעולה לוגית לא חוקי {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "חריגה ממספר תנאי השאילתה המרבי."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} הוא לא שדה מותאם אישית חוקי."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} לא תומך בביטוי שאילתה {expr!r}."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "חריגה מעומק הקינון המרבי."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "שדה מותאם אישית לא נמצא"
@@ -1641,7 +1641,7 @@ msgid "workflow runs"
msgstr "הרצות זרימת עבודה"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "הרשאות אינן מספיקות."
@@ -1681,7 +1681,7 @@ msgstr "משתנה לא חוקי זוהה."
msgid "Duplicate document identifiers are not allowed."
msgstr "מזהי מסמכים כפולים אינם מורשים."
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "מסמכים לא נמצאו: %(ids)s"
@@ -1922,40 +1922,40 @@ msgstr ": כצעד אחרון, אנא מלא את הטופס הבא:"
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "יש לציין רק אחד מהבאים: text‏, title_search‏, query או more_like_id."
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr "מזהה more_like_id אינו תקין"
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr "הגדרות בינה מלאכותית שגויות."
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "הרשאות לא מספיקות לשיתוף מסמך %(id)s."
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr "החבילה (Bundle) כבר נמצאת בתהליך עיבוד."
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "חבילת קישור השיתוף עדיין בהכנה. נא לנסות שוב מאוחר יותר."
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "חבילת קישור השיתוף אינה זמינה."
@@ -2247,151 +2247,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "הגדרות יישום paperless"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "אנגלית (ארה״ב)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "ערבית"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "אפריקאנס"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "בלרוסית"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "בולגרית"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "קטלאנית"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "צ'כית"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "דנית"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "גרמנית"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "יוונית"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "אנגלית (בריטניה)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "ספרדית"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr "פרסית"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "פינית"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "צרפתית"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "הונגרית"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr "אינדונזית"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "איטלקית"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "יפנית"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "קוריאנית"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "לוקסמבורגית"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "נורווגית"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "הולנדית"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "פולנית"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "פורטוגלית ברזילאית"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "פורטוגלית"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "רומנית"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "רוסית"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "סלובקית"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "סלובנית"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "סרבית"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "שוודית"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "טורקית"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "אוקראינית"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr "ווייטנאמית"
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "סינית מפושטת"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "סינית מסורתית"
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Hindi\n"
"Language: hi_IN\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "दस्तावेज़"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "मान वैध JSON होना चाहिए."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "अमान्य कस्टम फ़ील्ड क्वेरी एक्सप्रेशन"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "अमान्य एक्सप्रेशन सूची। खाली नहीं होनी चाहिए।"
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "अमान्य लॉजिकल ऑपरेटर {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "क्वेरी शर्तों की अधिकतम संख्या पार हो गई है।"
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} यह एक वैध कस्टम फ़ील्ड नहीं है।"
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} क्वेरी एक्सप्रेशन {expr!r} का समर्थन नहीं करता है।"
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "अधिकतम नेस्टिंग डेप्थ पार हो गई है।"
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "कस्टम फ़ील्ड नहीं मिला"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1680,7 +1680,7 @@ msgstr ""
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1920,40 +1920,40 @@ msgstr ""
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2245,151 +2245,151 @@ msgstr ""
msgid "paperless application settings"
msgstr ""
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr ""
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr ""
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr ""
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr ""
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr ""
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr ""
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr ""
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr ""
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr ""
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr ""
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr ""
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr ""
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr ""
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr ""
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr ""
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr ""
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr ""
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr ""
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr ""
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr ""
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr ""
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr ""
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr ""
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr ""
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr ""
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr ""
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr ""
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr ""
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr ""
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr ""
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr ""
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr ""
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr ""
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr ""
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Croatian\n"
"Language: hr_HR\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Dokumenti"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "Vrijednost mora biti važeći JSON."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Nevažeći izraz upita prilagođenog polja"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Nevažeći popis izraza. Ne smije biti prazno."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Nevažeći logički operator {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "Previše uvjeta u upitu."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} nije važeće prilagođeno polje."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} ne podržava upit izraz {expr!r}."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Premašena je najveća razina ugniježđivanja."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Prilagođeno polje nije pronađeno"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr "tijek rada pokrenut"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Nedovoljne ovlasti."
@@ -1680,7 +1680,7 @@ msgstr "Otkrivena je nevaljana vrsta datoteke."
msgid "Duplicate document identifiers are not allowed."
msgstr "Duplicirani identifikatori dokumenata nisu dopušteni."
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dokumenti nisu pronađeni: %(ids)s"
@@ -1921,40 +1921,40 @@ msgstr "Kao posljednji korak ispunite sljedeći obrazac:"
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Navedite samo jedno od: text, title_search, query ili more_like_id."
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr "Nevažeći more_like_id"
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr "Nevažeća AI konfiguracija."
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr "Zahtjev prema AI pozadinskom sustavu je istekao."
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr "AI pozadinski sustav je odbio zahtjev. Provjerite zapise (logs) za više detalja."
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Nedovoljne ovlasti za dijeljenje dokumenta %(id)s."
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr "Paket se već obrađuje."
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Paket linka za dijeljenje se još priprema. Pokušajte ponovo kasnije."
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "Paket linka za dijeljenje nije dostupan."
@@ -2246,151 +2246,151 @@ msgstr "LLM timeout (u sekundama)"
msgid "paperless application settings"
msgstr "postavke paperless aplikacije"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Engleski (US)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "Arapski"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "afrički"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Bjeloruski"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "bugarski"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "katalonski"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Češki"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Danski"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Njemački"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "grčki"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Engleski (GB)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Španjolski"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr "perzijski"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "finski"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Francuski"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "mađarski"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr "Iidonezijski"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Talijanski"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "japanski"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "koreanski"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Luksemburški"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "norveški"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Nizozemski"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Poljski"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Portugalski (Brazil)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Portugalski"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Rumunjski"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Ruski"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "slovački"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Slovenski"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Srpski"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Švedski"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Turski"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "ukrajinski"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr "vijetnamski"
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Pojednostavljeni kineski"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "Kineski tradicionalni"
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Hungarian\n"
"Language: hu_HU\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Dokumentumok"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "Érvényes JSON érték szükséges."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Érvénytelen egyéni mező lekérdezési kifejezés"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Érvénytelen kifejezéslista. Nem lehet üres."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Érvénytelen logikai operátor {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "Maximum lekérdezési feltételszám átlépve."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} nem érvényes egyéni mező."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "A(z) {data_type} nem támogatja a {expr!r} kifejezés lekérdezést."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Maximum beágyazási mélység túllépve."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Az egyéni mező nem található"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr "munkafolyamat futtatások"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Nincs jogosúltsága."
@@ -1680,7 +1680,7 @@ msgstr "Érvénytelen változó észlelve."
msgid "Duplicate document identifiers are not allowed."
msgstr "A dokumentumazonosítók duplikálása nem megengedett."
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dokumentumok nem találhatók: %(ids)s"
@@ -1921,40 +1921,40 @@ msgstr "Utolsó lépésként kérjük válaszoljon az alábbi kérdésekre:"
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "A text, title_search, query, vagy more_like_id közül csak egyet adjon meg."
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr "Érvénytelen more_like_id"
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr "Érvénytelen MI konfiguráció."
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Nincs megfelelő jogosultság a %(id)s dokumentum megosztásához."
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr "A csomag feldolgozása már folyamatban van."
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "A megosztási linkcsomag készítése folyamatban. Kérjük, próbálja meg később."
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "A megosztási linkcsomag nem elérhető."
@@ -2246,151 +2246,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "paperless alkalmazás beállítások"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Angol (US)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "Arab"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "Afrikai"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Fehérorosz"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "Bolgár"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Katalán"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Cseh"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Dán"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Német"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Görög"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Angol (GB)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Spanyol"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr "Perzsa"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Finn"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Francia"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "Magyar"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr "Indonéz"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Olasz"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "Japán"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "Koreai"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Luxemburgi"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Norvég"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Holland"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Lengyel"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Portugál (Brazília)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Portugál"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Román"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Orosz"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "Szlovák"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Szlovén"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Szerb"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Svéd"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Török"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "Ukrán"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr "Vietnámi"
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Kínai egyszerűsített"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "Tradicionális kínai"
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Indonesian\n"
"Language: id_ID\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Dokumen"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "Nilai harus berupa JSON yang valid."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Ekspresi pencarian bidang khusus tidak valid"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Daftar ekspresi tidak valid. Tidak boleh kosong."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Operator logika {op!r} tidak valid"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "Jumlah maksimal kondisi pencarian terlampaui."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} bukan bidang khusus yang valid."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} tidak mendukung ekspresi pencarian expr {expr!r}."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Kedalaman susunan maksimal terlampaui."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Bidang khusus tidak ditemukan"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr "daftar jalankan alur kerja"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Izin tidak mencukupi"
@@ -1680,7 +1680,7 @@ msgstr "Variabel ilegal terdeteksi."
msgid "Duplicate document identifiers are not allowed."
msgstr "Penggunaan pengenal dokumen ganda tidak diperbolehkan."
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dokumen tidak ditemukan: %(ids)s"
@@ -1921,40 +1921,40 @@ msgstr "Sebagai langkah terakhir, mohon formulir berikut:"
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Izin tidak mencukupi untuk berbagi dokumen %(id)s"
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr "Paket sedang diproses."
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Bundel tautan berbagi masih dalam proses persiapan. Silakan coba lagi nanti."
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "Bundel tautan berbagi tidak tersedia."
@@ -2246,151 +2246,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "pengaturan aplikasi paperless"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Inggris (AS)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "Arab"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "Bahasa Afrika"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Belarusia"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "Bahasa Bulgaria"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Katalan"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Bahasa Ceko"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Denmark"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Jerman"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Yunani"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Inggris (GB)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Spanyol"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr "Persia"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Finlandia"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Prancis"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "Hungaria"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr "Indonesia"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Italia"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "Bahasa Jepang"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "Bahasa Korea"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Luksemburg"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Norwegia"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Belanda"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Polandia"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Portugis (Brasil)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Portugis"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Rumania"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Rusia"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "Slovakia"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Slovenia"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Serbia"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Swedia"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Turki"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "Ukraina"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr "Vietnam"
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Mandarin Sederhana"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "Tionghoa Tradisional"
+61 -61
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
"Language: it_IT\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Documenti"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
msgstr "È prevista una data o una data relativa, come \"oggi\" oppure \"tra 30 giorni\"."
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "Il valore deve essere un JSON valido."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Campo personalizzato della query non valido"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Elenco delle espressioni non valido. Deve essere non vuoto."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Operatore logico non valido {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "Numero massimo di condizioni di query superato."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} non è un campo personalizzato valido."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} Non supporta la jQuery Expo {Expo!r}."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Profondità massima di nidificazione superata."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Campo personalizzato non trovato"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr "esecuzioni del flusso di lavoro"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Autorizzazioni insufficienti."
@@ -1680,7 +1680,7 @@ msgstr "Variabile non valida rilevata."
msgid "Duplicate document identifiers are not allowed."
msgstr "Non sono consentiti identificatori di documenti duplicati."
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Documenti non trovati: %(ids)s"
@@ -1921,40 +1921,40 @@ msgstr "Come ultimo passo, compila il seguente modulo:"
msgid ", "
msgstr ", "
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Specificare solo uno tra text, title_search, query o more_like_id."
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr "more_like_id non valido"
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr "Configurazione AI non valida."
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr "Richiesta di backend AI scaduta."
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr "Il backend IA ha rifiutato la richiesta. Controlla i log per i dettagli."
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Autorizzazioni insufficienti per condividere il documento %(id)s."
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr "Il pacchetto è già in fase di elaborazione."
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Il pacchetto di link di condivisione è ancora in fase di preparazione. Riprova più tardi."
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "Il pacchetto di link di condivisione non è disponibile."
@@ -2246,151 +2246,151 @@ msgstr "Impostare il timeout dell’LLM in secondi"
msgid "paperless application settings"
msgstr "impostazioni dell'applicazione paperless"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Inglese (US)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "Arabo"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "Afrikaans"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Bielorusso"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "Bulgaro"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Catalano"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Ceco"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Danese"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Tedesco"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Greco"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Inglese (GB)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Spagnolo"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr "Persiano"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Finlandese"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Francese"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "Ungherese"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr "Indonesiano"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Italiano"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "Giapponese"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "Coreano"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Lussemburghese"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Norvegese"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Olandese"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Polacco"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Portoghese (Brasile)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Portoghese"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Rumeno"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Russo"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "Slovacco"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Sloveno"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Serbo"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Svedese"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Turco"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "Ucraino"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr "Vietnamita"
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Cinese semplificato"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "Cinese tradizionale"
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
"Language: ja_JP\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "ドキュメント"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "値は有効なJSONである必要があります。"
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "無効なカスタムフィールドクエリ式"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "無効な式リストです。空であってはなりません。"
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "無効な論理演算子 {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "クエリ条件の最大数を超えました。"
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} は有効なカスタムフィールドではありません。"
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} はクエリ expr {expr!r} をサポートしていません。"
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "最大ネストの深さを超えました。"
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "カスタムフィールドが見つかりません"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr "ワークフローの実行"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1680,7 +1680,7 @@ msgstr "無効な変数を検出しました"
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1921,40 +1921,40 @@ msgstr "最後のステップとして、以下のフォームに記入してく
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2246,151 +2246,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "Paperless アプリケーションの設定"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "英語 (米国)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "アラビア語"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "アフリカーンス語"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "ベラルーシ語"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "ブルガリア語"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "カタロニア語"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "チェコ語"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "デンマーク語"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "ドイツ語"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "ギリシャ語"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "英語 (英国)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "スペイン語"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "フィンランド語"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "フランス語"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "ハンガリー語"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "イタリア語"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "日本語"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "韓国語"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "ルクセンブルク語"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "ノルウェー語"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "オランダ語"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "ポーランド語"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "ポルトガル語 (ブラジル)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "ポルトガル語"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "ルーマニア語"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "ロシア語"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "スロバキア語"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "スロベニア語"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "セルビア語"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "スウェーデン語"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "トルコ語"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "ウクライナ語"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "中国語 (簡体字)"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "中国語 (繁体)"
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Korean\n"
"Language: ko_KR\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "문서"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "값은 유효한 JSON이어야 합니다."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "잘못된 사용자 정의 필드 쿼리 표현식"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "잘못된 표현식 목록입니다. 비어 있지 않아야 합니다."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "잘못된 논리 연산자 {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "쿼리 조건의 최대 개수를 초과했습니다."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} 은 잘못된 사용자 정의 필드입니다."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type}은 쿼리 표현식 {expr!r}을(를) 지원하지 않습니다."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "최대 중첩 깊이를 초과했습니다."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "사용자 지정 필드를 찾을 수 없음"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr "워크플로우 실행"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1680,7 +1680,7 @@ msgstr "잘못된 변수가 감지되었습니다."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1921,40 +1921,40 @@ msgstr "마지막 단계로 다음 양식을 작성해 주세요:"
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2246,151 +2246,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "페이퍼리스 애플리케이션 설정"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "영어 (미국)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "아랍어"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "아프리칸스어"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "벨라루스어"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "불가리어"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "카탈로니아어"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "체코어"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "덴마크어"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "독일어"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "그리스어"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "영어 (영국)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "스페인어"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr "페르시아어"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "핀란드어"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "프랑스어"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "헝가리어"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "이탈리아어"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "일본어"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "한국어"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "룩셈부르크어"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "노르웨이어"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "네덜란드어"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "폴란드어"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "포르투갈어 (브라질)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "포르투갈어"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "루마니아어"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "러시아어"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "슬로바키아어"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "슬로베니아어"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "세르비아어"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "스웨덴어"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "튀르키예어"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "우크라이나어"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr "베트남어"
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "중국어 간체"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "중국어 번체"
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Luxembourgish\n"
"Language: lb_LU\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Dokumenter"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr ""
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr ""
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr ""
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr ""
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr ""
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr ""
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr ""
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr ""
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr ""
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1680,7 +1680,7 @@ msgstr "Ongëlteg Zeechen detektéiert."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1920,40 +1920,40 @@ msgstr ""
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2245,151 +2245,151 @@ msgstr ""
msgid "paperless application settings"
msgstr ""
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Englesch (USA)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr ""
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr ""
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Belarusesch"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr ""
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr ""
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Tschechesch"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Dänesch"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Däitsch"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr ""
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Englesch (GB)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Spuenesch"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr ""
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Franséisch"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr ""
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Italienesch"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr ""
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr ""
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Lëtzebuergesch"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr ""
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Hollännesch"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Polnesch"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Portugisesch (Brasilien)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Portugisesch"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Rumänesch"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Russesch"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr ""
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Slowenesch"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Serbesch"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Schwedesch"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Tierkesch"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr ""
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Chinesesch (Vereinfacht)"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr ""
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Lithuanian\n"
"Language: lt_LT\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Dokumentai"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "Reikšmė turi būti galiojantis JSON."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Neteisinga pasirinktinio lauko užklausos išraiška"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Neteisingas išraiškos sąrašas. Jis turi būti netuščias."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Neteisingas loginis operatorius {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "Viršytas maksimalus užklausos sąlygų skaičius."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} nėra galiojantis pasirinktas laukas."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} nepalaiko užklausos išraiškos {expr!r}."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Viršytas maksimalus įdėjimo gylis."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Pasirinktinis laukas nerastas"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1680,7 +1680,7 @@ msgstr ""
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1920,40 +1920,40 @@ msgstr "Galiausiai užpildykite šią formą:"
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Nepakanka leidimų bendrinti dokumentą %(id)s."
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr "Rinkinys jau apdorojamas."
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Bendrinimo nuorodų rinkinys vis dar ruošiamas. Bandykite dar kartą vėliau."
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "Dalinimos nuorodų rinkinys yra nepasiekiamas."
@@ -2245,151 +2245,151 @@ msgstr ""
msgid "paperless application settings"
msgstr ""
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr ""
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr ""
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr ""
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr ""
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr ""
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr ""
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr ""
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Daniškai"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Vokiškai"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Graikų"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Anglų (GB)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Ispanų"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr "Persų"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Suomių"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Prancūzų"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "Vengrų"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr "Indoneziečių"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Italų"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "Japonų"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "Korėjiečių"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Liuksemburgiečių"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Norvegų"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Olandų"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Lenkų"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Portugalų (Brazilija)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Portugalų"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Rumunų"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Rusų"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "Slovakų"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Slovėnų"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Serbų"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Švedų"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Turkų"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "Ukrainiečių"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr "Vietnamiečių"
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Kinų supaprastinta"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "Kinų tradicinė"
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Latvian\n"
"Language: lv_LV\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Dokuments"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr ""
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr ""
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr ""
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr ""
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr ""
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr ""
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr ""
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr ""
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr ""
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1680,7 +1680,7 @@ msgstr ""
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1920,40 +1920,40 @@ msgstr ""
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2245,151 +2245,151 @@ msgstr ""
msgid "paperless application settings"
msgstr ""
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Angļu (ASV)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "Arābu"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "Āfrikāņu"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Baltkrievu"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "Bulgāru"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Kataloniešu"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Čehu"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Dāņu"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Vācu"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Grieķu"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Angļu (ASV)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Spāņu"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Somu"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Franču"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "Ungāru"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Itāļu"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "Japāņu"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr ""
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Luksemburgiešu"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Norvēģu"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Holandiešu"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Poļu"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Portugāļu (Brazīlija)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Portugāļu"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Rumāņu"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Krievu"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "Slovāku"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Slovēņu"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Sērbu"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Zviedru"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Turku"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "Ukraiņu"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Ķīniešu (vienkāršota)"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr ""
File diff suppressed because it is too large. Load diff
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Malay\n"
"Language: ms_MY\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Dokumen"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr ""
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr ""
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr ""
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr ""
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr ""
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr ""
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr ""
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr ""
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr ""
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1680,7 +1680,7 @@ msgstr ""
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1920,40 +1920,40 @@ msgstr ""
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2245,151 +2245,151 @@ msgstr ""
msgid "paperless application settings"
msgstr ""
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr ""
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr ""
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr ""
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr ""
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr ""
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr ""
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr ""
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr ""
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr ""
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr ""
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr ""
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr ""
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr ""
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr ""
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr ""
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr ""
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr ""
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr ""
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr ""
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr ""
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr ""
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr ""
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr ""
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr ""
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr ""
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr ""
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr ""
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr ""
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr ""
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr ""
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr ""
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr ""
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr ""
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr ""
+61 -61
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-11-03 17:40\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
"Language: nl_NL\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Documenten"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "Waarde moet een geldige JSON zijn."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Ongeldige aangepaste veld query expressie"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Ongeldige expressielijst mag niet leeg zijn."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Ongeldige logische operator {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "Maximum aantal query voorwaarden overschreden."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} is geen geldig aangepast veld."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} ondersteunt geen query expr {expr!r}."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Maximale nestdiepte overschreden."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Aangepast veld niet gevonden"
@@ -290,7 +290,7 @@ msgstr "Bank"
#: documents/models.py:575
msgid "Basket"
msgstr ""
msgstr "Mandje"
#: documents/models.py:576
msgid "Bell"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1680,7 +1680,7 @@ msgstr "Ongeldige variabele ontdekt."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1921,40 +1921,40 @@ msgstr "Vul als laatste stap het volgende formulier in:"
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2246,151 +2246,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "paperless applicatie instellingen"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Engels (US)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "Arabisch"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "Afrikaans"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Wit-Russisch"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "Bulgaars"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Catalaans"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Tsjechisch"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Deens"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Duits"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Grieks"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Engels (Brits)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Spaans"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr "Perzisch"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Fins"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Frans"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "Hongaars"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Italiaans"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "Japans"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "Koreaans"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Luxemburgs"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Noors"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Nederlands"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Pools"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Portugees (Brazilië)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Portugees"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Roemeens"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Russisch"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "Slowaaks"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Sloveens"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Servisch"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Zweeds"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Turks"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "Oekraïens"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr "Vietnamees"
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Chinees (vereenvoudigd)"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr ""
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Norwegian\n"
"Language: no_NO\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Dokumenter"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "Verdien må være gyldig JSON."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Ugyldig spørringsuttrykk for egendefinerte felt"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Ugyldig uttrykksliste. Kan ikke være tom."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Ugyldig logiske operator {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "Maksimalt antall spørringsbetingelser er overskredet."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} er ikke et gyldig egendefinert felt."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} støtter ikke spørring expr {expr!r}."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "For mange nivåer med nøsting."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Egendefinert felt ble ikke funnet"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr "workflow runs (NO)"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Utilstrekkelige tillatelser."
@@ -1680,7 +1680,7 @@ msgstr "Ugyldig variabel oppdaget."
msgid "Duplicate document identifiers are not allowed."
msgstr "Duplicate document identifiers are not allowed. (NO)"
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Documents not found: %(ids)s (NO)"
@@ -1921,40 +1921,40 @@ msgstr "As a final step, please complete the following form: (NO)"
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Specify only one of text, title_search, query, or more_like_id. (NO)"
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr "Invalid more_like_id (NO)"
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr "Invalid AI configuration. (NO)"
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr "Forespørselen til KI-tjenesten fikk tidsavbrudd."
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Insufficient permissions to share document %(id)s. (NO)"
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr "Bundle is already being processed. (NO)"
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "The share link bundle is still being prepared. Please try again later. (NO)"
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "The share link bundle is unavailable. (NO)"
@@ -2246,151 +2246,151 @@ msgstr "Setter tidsavbrudd for LLM i sekunder"
msgid "paperless application settings"
msgstr "paperless application settings (NO)"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Engelsk (US)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "Arabisk"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "Afrikansk"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Hviterussisk"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "Bulgarian (NO)"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Katalansk"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Tsjekkisk"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Dansk"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Tysk"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Gresk"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Engelsk (GB)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Spansk"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr "Persian (NO)"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Finsk"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Fransk"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "Hungarian (NO)"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr "Indonesian (NO)"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Italiensk"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "Japanese (NO)"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "Korean (NO)"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Luxembourgsk"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Norsk"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Nederlandsk"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Polsk"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Portugisisk (Brasil)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Portugisisk"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Rumensk"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Russisk"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "Slovakisk"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Slovenian (NO)"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Serbisk"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Svensk"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Tyrkisk"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "Ukrainsk"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr "Vietnamese (NO)"
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Kinesisk forenklet"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "Chinese Traditional (NO)"
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
"Language: pl_PL\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Dokumenty"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "Wartość musi być poprawnym JSON-em."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Nieprawidłowe wyrażenie zapytania pola niestandardowego"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Nieprawidłowa lista wyrażeń. Nie może być pusta."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Nieprawidłowy operator logiczny {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "Maksymalna liczba warunków zapytania została przekroczona."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} nie jest prawidłowym polem niestandardowym."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} nie obsługuje wyrażenia zapytania {expr!r}."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Przekroczono maksymalną głębokość zagnieżdżenia."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Nie znaleziono pola niestandardowego"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr "uruchomienia przepływu pracy"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Niewystarczające uprawnienia."
@@ -1680,7 +1680,7 @@ msgstr "Wykryto nieprawidłową zmienną."
msgid "Duplicate document identifiers are not allowed."
msgstr "Nie dopuszcza się powielania identyfikatorów dokumentów."
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Nie znaleziono dokumentów: %(ids)s"
@@ -1921,40 +1921,40 @@ msgstr "Na koniec należy wypełnić poniższy formularz:"
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr "Nieprawidłowy more_like_id"
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Brak uprawnień do udostępnienia dokumentu %(id)s."
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr "Pakiet jest już przetwarzany."
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Pakiet do udostępnienia jest nadal przygotowywany. Spróbuj ponownie później."
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "Pakiet do udostępnienia jest niedostępny."
@@ -2246,151 +2246,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "paperless ustawienia aplikacji"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Angielski (USA)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "arabski"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "Afrykanerski"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Białoruski"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "Bułgarski"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Kataloński"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Czeski"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Duński"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Niemiecki"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Grecki"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Angielski (Wielka Brytania)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Hiszpański"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr "perski"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Fiński"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Francuski"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "Węgierski"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr "Indonezyjski"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Włoski"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "Japoński"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "Koreański"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Luksemburski"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Norweski"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Holenderski"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Polski"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Portugalski (Brazylia)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Portugalski"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Rumuński"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Rosyjski"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "Słowacki"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Słoweński"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Serbski"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Szwedzki"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Turecki"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "Ukraiński"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr "Wietnamski"
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Chiński uproszczony"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "chiński tradycyjny"
+63 -63
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-11-03 17:40\n"
"Last-Translator: \n"
"Language-Team: Portuguese, Brazilian\n"
"Language: pt_BR\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Documentos"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
msgstr "Data ou data relativa esperada como \"hoje\" ou \"em 30 dias\"."
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "O valor deve ser um JSON válido."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Expressão de consulta de campo personalizado inválida"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Lista de expressões inválida. Deve estar não vazia."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Operador lógico inválido {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "Número máximo de condições de consulta excedido."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} não é um campo personalizado válido."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} não suporta a consulta expr {expr!r}."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Profundidade máxima do aninhamento excedida."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Campo personalizado não encontrado"
@@ -1293,11 +1293,11 @@ msgstr "O número de dias entre programas recorrentes."
#: documents/models.py:1666
msgid "schedule date field"
msgstr "programar campo data"
msgstr "agendar campo data"
#: documents/models.py:1671
msgid "The field to check for a schedule trigger."
msgstr "O campo para verificar se há um acionador agendado."
msgstr "O campo para verificar se há um disparador agendado."
#: documents/models.py:1680
msgid "schedule date custom field"
@@ -1641,7 +1641,7 @@ msgid "workflow runs"
msgstr "execução de fluxo de trabalho"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Permissões insuficientes."
@@ -1681,7 +1681,7 @@ msgstr "Variável inválida detectada."
msgid "Duplicate document identifiers are not allowed."
msgstr "Não são permitidos identificadores de documento duplicados."
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Documentos não encontrados: %(ids)s"
@@ -1922,40 +1922,40 @@ msgstr "Como etapa final, por favor preencha o seguinte formulário:"
msgid ", "
msgstr ", "
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Especifique apenas um text, title_search, consulta ou mais_like_id."
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr "more_like_id inválido"
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr "Configuração de IA inválida."
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr "A requisição backend da IA expirou."
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr "O backend da IA rejeitou o pedido. Checar logs para detalhes."
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Permissões insuficientes para compartilhar o documento %(id)s."
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr "Pacote já está sendo processado."
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "O pacote de link de compartilhamento ainda está sendo preparado. Tente novamente mais tarde."
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "O pacote de link de compartilhamento não está disponível."
@@ -2247,151 +2247,151 @@ msgstr "Define o tempo limite do LLM em segundos"
msgid "paperless application settings"
msgstr "configurações do aplicativo paperless"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Inglês (EUA)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "Árabe"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "Africanês"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Bielorrusso"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "Búlgaro"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Catalão"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Tcheco"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Dinamarquês"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Alemão"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Grego"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Inglês (GB)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Espanhol"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr "Persa"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Finlandês"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Francês"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "Húngaro"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr "Indonésio"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Italiano"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "Japonês"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "Coreano"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Luxemburguês"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Norueguês"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Holandês"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Polonês"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Português (Brasil)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Português"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Romeno"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Russo"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "Eslovaco"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Esloveno"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Sérvio"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Sueco"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Turco"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "Ucraniano"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr "vietnamita"
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Chinês Simplificado"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "Chinês Tradicional"
+152 -151
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-11-01 21:44\n"
"Last-Translator: \n"
"Language-Team: Portuguese\n"
"Language: pt_PT\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Documentos"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
msgstr "Esperada uma data ou uma data relativa como \"hoje\" ou \"em 30 dias\"."
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "O valor deve ser JSON válido."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Expressão de consulta de campo personalizado inválido"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Lista de expressões inválida. Não deve estar vazia."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Operador lógico inválido {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "O número máximo de condições de consulta foi excedido."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} não é um campo personalizado válido."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} não aceita a expressão de consulta {expr!r}."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr ""
msgstr "Profundidade máxima de aninhamento excedida."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Campo personalizado não encontrado"
@@ -140,11 +140,11 @@ msgstr "etiquetas"
#: documents/models.py:125
msgid "Cannot set itself as parent."
msgstr ""
msgstr "Impossível definir-se como pai."
#: documents/models.py:127
msgid "Cannot set parent to a descendant."
msgstr ""
msgstr "Não é possível definir o pai para um descendente."
#: documents/models.py:144 documents/models.py:189
msgid "document type"
@@ -253,23 +253,23 @@ msgstr "A posição do documento no seu arquivo físico de documentos."
#: documents/models.py:323
msgid "root document for this version"
msgstr ""
msgstr "documento raiz para esta versão"
#: documents/models.py:327
msgid "version index"
msgstr ""
msgstr "índice da versão"
#: documents/models.py:331
msgid "Index of this version within the root document."
msgstr ""
msgstr "Índice desta versão dentro do documento raiz."
#: documents/models.py:335
msgid "version label"
msgstr ""
msgstr "rótulo da versão"
#: documents/models.py:339
msgid "Optional short label for a document version."
msgstr ""
msgstr "Rótulo curto opcional para uma versão do documento."
#: documents/models.py:344 documents/models.py:972 documents/models.py:1003
#: documents/models.py:1107 documents/models.py:2137
@@ -286,27 +286,27 @@ msgstr "Arquivo"
#: documents/models.py:574
msgid "Bank"
msgstr ""
msgstr "Banco"
#: documents/models.py:575
msgid "Basket"
msgstr ""
msgstr "Cesto"
#: documents/models.py:576
msgid "Bell"
msgstr ""
msgstr "Sino"
#: documents/models.py:577
msgid "Bookmark"
msgstr ""
msgstr "Marcador"
#: documents/models.py:578
msgid "Boxes"
msgstr ""
msgstr "Caixas"
#: documents/models.py:579
msgid "Briefcase"
msgstr ""
msgstr "Mala"
#: documents/models.py:580
msgid "Building"
@@ -314,27 +314,27 @@ msgstr ""
#: documents/models.py:581
msgid "Calculator"
msgstr ""
msgstr "Calculadora"
#: documents/models.py:582
msgid "Calendar"
msgstr ""
msgstr "Calendário"
#: documents/models.py:583
msgid "Camera"
msgstr ""
msgstr "Câmara"
#: documents/models.py:584
msgid "Checklist"
msgstr ""
msgstr "Lista de verificação"
#: documents/models.py:585
msgid "Cash"
msgstr ""
msgstr "Dinheiro"
#: documents/models.py:586
msgid "Chat"
msgstr ""
msgstr "Conversa"
#: documents/models.py:587
msgid "Check"
@@ -342,63 +342,63 @@ msgstr ""
#: documents/models.py:588
msgid "Clipboard"
msgstr ""
msgstr "Área de transferência"
#: documents/models.py:589
msgid "Clock"
msgstr ""
msgstr "Relógio"
#: documents/models.py:590
msgid "Credit card"
msgstr ""
msgstr "Cartão de crédito"
#: documents/models.py:591
msgid "Download"
msgstr ""
msgstr "Descarregar"
#: documents/models.py:592
msgid "Envelope"
msgstr ""
msgstr "Envelope"
#: documents/models.py:593
msgid "Warning"
msgstr ""
msgstr "Aviso"
#: documents/models.py:594
msgid "File"
msgstr ""
msgstr "Ficheiro"
#: documents/models.py:595
msgid "Checked file"
msgstr ""
msgstr "Ficheiro verificado"
#: documents/models.py:596
msgid "Locked file"
msgstr ""
msgstr "Ficheiro bloqueado"
#: documents/models.py:597
msgid "Medical file"
msgstr ""
msgstr "Ficheiro médico"
#: documents/models.py:598
msgid "Person file"
msgstr ""
msgstr "Ficheiro pessoal"
#: documents/models.py:601
msgid "Spreadsheet"
msgstr ""
msgstr "Folha de cálculo"
#: documents/models.py:603
msgid "Text file"
msgstr ""
msgstr "Arquivo de texto"
#: documents/models.py:604
msgid "Files"
msgstr ""
msgstr "Ficheiros"
#: documents/models.py:605
msgid "Folder"
msgstr ""
msgstr "Pasta"
#: documents/models.py:606 paperless_mail/admin.py:58
msgid "Filter"
@@ -410,83 +410,83 @@ msgstr ""
#: documents/models.py:608
msgid "Globe"
msgstr ""
msgstr "Globo"
#: documents/models.py:609
msgid "Hash"
msgstr ""
msgstr "Hash"
#: documents/models.py:610
msgid "Heart"
msgstr ""
msgstr "Coração"
#: documents/models.py:611
msgid "House"
msgstr ""
msgstr "Casa"
#: documents/models.py:612
msgid "Inbox"
msgstr ""
msgstr "Caixa de Entrada"
#: documents/models.py:613
msgid "Journals"
msgstr ""
msgstr "Diários"
#: documents/models.py:614
msgid "Task list"
msgstr ""
msgstr "Lista de tarefas"
#: documents/models.py:615
msgid "Newspaper"
msgstr ""
msgstr "Jornal"
#: documents/models.py:616
msgid "Attachment"
msgstr ""
msgstr "Anexo"
#: documents/models.py:617
msgid "People"
msgstr ""
msgstr "Pessoas"
#: documents/models.py:618
msgid "Person"
msgstr ""
msgstr "Pessoa"
#: documents/models.py:619
msgid "Printer"
msgstr ""
msgstr "Impressora"
#: documents/models.py:620
msgid "Receipt"
msgstr ""
msgstr "Recibo"
#: documents/models.py:621
msgid "Safe"
msgstr ""
msgstr "Seguro"
#: documents/models.py:622
msgid "Search"
msgstr ""
msgstr "Pesquisar"
#: documents/models.py:623
msgid "Send"
msgstr ""
msgstr "Enviar"
#: documents/models.py:624
msgid "Shop"
msgstr ""
msgstr "Loja"
#: documents/models.py:625
msgid "Stack"
msgstr ""
msgstr "Pilha"
#: documents/models.py:626
msgid "Stars"
msgstr ""
msgstr "Estrelas"
#: documents/models.py:627
msgid "Tag"
msgstr ""
msgstr "Rótulo"
#: documents/models.py:628 documents/models.py:643 documents/models.py:1815
msgid "Tags"
@@ -494,19 +494,19 @@ msgstr "Etiquetas"
#: documents/models.py:629
msgid "Telephone"
msgstr ""
msgstr "Telefone"
#: documents/models.py:630
msgid "Truck"
msgstr ""
msgstr "Camião"
#: documents/models.py:631
msgid "Barcode"
msgstr ""
msgstr "Código de barras"
#: documents/models.py:632
msgid "Wallet"
msgstr ""
msgstr "Carteira"
#: documents/models.py:635
msgid "Table"
@@ -566,7 +566,7 @@ msgstr "Páginas"
#: documents/models.py:657
msgid "icon"
msgstr ""
msgstr "ícone"
#: documents/models.py:664
msgid "sort field"
@@ -790,15 +790,15 @@ msgstr "o tipo MIME é"
#: documents/models.py:751
msgid "simple title search"
msgstr ""
msgstr "pesquisa de títulos simples"
#: documents/models.py:752
msgid "simple text search"
msgstr ""
msgstr "pesquisa de texto simples"
#: documents/models.py:753
msgid "has duplicates"
msgstr ""
msgstr "tem duplicados"
#: documents/models.py:763
msgid "rule type"
@@ -822,11 +822,11 @@ msgstr "Pendente"
#: documents/models.py:800 documents/models.py:878
msgid "Started"
msgstr ""
msgstr "Iniciado"
#: documents/models.py:801
msgid "Success"
msgstr ""
msgstr "Sucesso"
#: documents/models.py:802
msgid "Failure"
@@ -966,11 +966,11 @@ msgstr ""
#: documents/models.py:907
msgid "Input Data"
msgstr ""
msgstr "Dados de entrada"
#: documents/models.py:908
msgid "Structured input parameters for the task"
msgstr ""
msgstr "Parâmetros de entrada estruturados para a tarefa"
#: documents/models.py:914
msgid "Result Data"
@@ -978,7 +978,7 @@ msgstr "Resultados"
#: documents/models.py:915
msgid "Structured result data from task execution"
msgstr ""
msgstr "Dados estruturados de resultado da execução da tarefa"
#: documents/models.py:921
msgid "Acknowledged"
@@ -986,11 +986,11 @@ msgstr "Confirmado"
#: documents/models.py:926
msgid "Task"
msgstr ""
msgstr "Tarefa"
#: documents/models.py:927
msgid "Tasks"
msgstr ""
msgstr "Tarefas"
#: documents/models.py:957
msgid "Note for the document"
@@ -1010,23 +1010,23 @@ msgstr "notas"
#: documents/models.py:1007
msgid "page"
msgstr ""
msgstr "página"
#: documents/models.py:1008
msgid "Page of the original file, starting at 1"
msgstr ""
msgstr "Página do arquivo original, iniciando em 1"
#: documents/models.py:1063
msgid "format"
msgstr ""
msgstr "formato"
#: documents/models.py:1067
msgid "document barcode"
msgstr ""
msgstr "código de barras do documento"
#: documents/models.py:1068
msgid "document barcodes"
msgstr ""
msgstr "códigos de barras do documento"
#: documents/models.py:1077
msgid "Original"
@@ -1071,11 +1071,11 @@ msgstr "Último erro"
#: documents/models.py:1199
msgid "file path"
msgstr ""
msgstr "caminho do ficheiro"
#: documents/models.py:1205
msgid "built at"
msgstr ""
msgstr "construído em"
#: documents/models.py:1218
msgid "share link bundle"
@@ -1216,11 +1216,11 @@ msgstr "tem esta(s) tag(s)"
#: documents/models.py:1557
msgid "has all of these tag(s)"
msgstr ""
msgstr "tem todos este(s) rótulos(s)"
#: documents/models.py:1564
msgid "does not have these tag(s)"
msgstr ""
msgstr "não tem este(s) rótulo(s)"
#: documents/models.py:1572
msgid "has this document type"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1680,7 +1680,7 @@ msgstr "Variável inválida detetada."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1911,50 +1911,50 @@ msgstr "Registo de conta social para Perpless-ngx"
#: documents/templates/socialaccount/signup.html:11
#, python-format
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
msgstr "Está prestes a utilizar a sua conta %(provider_name)s para iniciar sessão."
#: documents/templates/socialaccount/signup.html:13
msgid "As a final step, please complete the following form:"
msgstr ""
msgstr "Como passo final, por favor preencha o seguinte formulário:"
#: documents/validators.py:36
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2084,15 +2084,15 @@ msgstr ""
#: paperless/models.py:156
msgid "Sets image DPI fallback value"
msgstr ""
msgstr "Define o valor de reserva do DPI da imagem."
#: paperless/models.py:163
msgid "Controls the unpaper cleaning"
msgstr ""
msgstr "Controla a limpeza do unpaper"
#: paperless/models.py:170
msgid "Enables deskew"
msgstr ""
msgstr "Habilita o deskew"
#: paperless/models.py:173
msgid "Enables page rotation"
@@ -2100,19 +2100,20 @@ msgstr "Ativa a rotação da página"
#: paperless/models.py:178
msgid "Sets the threshold for rotation of pages"
msgstr ""
msgstr "Define o limiar para rotação de páginas"
#: paperless/models.py:184
msgid "Sets the maximum image size for decompression"
msgstr ""
msgstr "Define o tamanho máximo da imagem para descompressão"
#: paperless/models.py:190
msgid "Sets the Ghostscript color conversion strategy"
msgstr ""
msgstr "#: paperless/models.py:190\n"
"Define a estratégia de conversão de cor do Ghostscript"
#: paperless/models.py:198
msgid "Adds additional user arguments for OCRMyPDF"
msgstr ""
msgstr "Adiciona argumentos adicionais do utilizador para o OCRMyPDF"
#: paperless/models.py:207
msgid "Application title"
@@ -2246,151 +2247,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "configurações do paperless"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Inglês (EUA)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "Árabe"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "Africano"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Bielorrusso"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "Búlgaro"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Catalão"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Checo"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Dinamarquês"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Deutsch"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Grego"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Inglês (GB)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Espanhol"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr "Persa"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Finlandês"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Français"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "Húngaro"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Italiano"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "Japonês"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "Coreano"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Luxemburguês"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Norueguês"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Nederlandse"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Polaco"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Português (Brasil)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Português"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Romeno"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Russo"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "Eslovaco"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Esloveno"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Sérvio"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Sueco"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Turco"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "Ucraniano"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr "Vietnamita"
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Chinês Simplificado"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr ""
@@ -2488,7 +2489,7 @@ msgstr "palavra-passe"
#: paperless_mail/models.py:47
msgid "Is token authentication"
msgstr ""
msgstr "É autenticação por token"
#: paperless_mail/models.py:50
msgid "character set"
@@ -2644,7 +2645,7 @@ msgstr "filtrar nome do arquivo anexo"
#: paperless_mail/models.py:212
msgid "Do not consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
msgstr ""
msgstr "Não consumir documentos que correspondam inteiramente a este nome de ficheiro, se especificado. São permitidos asterísticos como *.pdf ou *invoice*. Sem distinção de maiúsculas e minúsculas."
#: paperless_mail/models.py:219
msgid "maximum age"
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Romanian\n"
"Language: ro_RO\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Documente"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "Valoarea trebuie să fie validă JSON."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Expresie de interogare pentru câmp personalizat nevalidă"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Listă de expresii nevalidă. Trebuie să nu fie goală."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Operator logic nevalid {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "Numărul maxim de condiții de interogare a fost depășit."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} nu este un câmp personalizat valid."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} nu acceptă interogare expr {expr!r}."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Adâncimea maximă depășită."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Câmpul personalizat nu a fost găsit"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr "rulări flux de lucru"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1680,7 +1680,7 @@ msgstr "Variabilă nevalidă detectată."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1921,40 +1921,40 @@ msgstr "În etapa finală, vă rugăm să completați următorul formular:"
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2246,151 +2246,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "setări ale aplicației paperless"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Engleză (Americană)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "Arabă"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "Africană"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Bielorusă"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "Bulgară"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Catalană"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Cehă"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Daneză"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Germană"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Greacă"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Engleză (Britanică)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Spaniolă"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr "Persană"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Finlandeză"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Franceză"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "Maghiară"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr "Indoneziană"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Italiană"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "Japoneză"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "Coreeană"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Luxemburgheză"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Norvegiană"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Olandeză"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Poloneză"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Portugheză (Brazilia)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Portugheză"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Română"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Rusă"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "Slovacă"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Slovenă"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Sârbă"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Suedeză"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Turcă"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "Ucrainiană"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr "Vietnameză"
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Chineză simplificată"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "Chineză Tradițională"
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
"Language: ru_RU\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Документы"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "Значение должно быть корректным JSON."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Неверное выражение запроса пользовательского поля"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Недопустимый список выражений. Не может быть пустым."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Недопустимый логический оператор {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "Превышено максимальное количество условий запроса."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} не является допустимым пользовательским полем."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} не поддерживает запрос {expr!r}."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Превышена максимальная глубина вложения."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Пользовательское поле не найдено"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr "запуски рабочего процесса"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Недостаточно прав."
@@ -1680,7 +1680,7 @@ msgstr "Обнаружена неверная переменная."
msgid "Duplicate document identifiers are not allowed."
msgstr "Повторяющиеся идентификаторы документа не допускаются."
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Документы не найдены: %(ids)s"
@@ -1921,40 +1921,40 @@ msgstr "На завершение, пожалуйста заполните сл
msgid ", "
msgstr ", "
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Укажите только одно: текст, title_search, query или more _like_id."
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr "Недопустимый more_like_id"
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr "Неверная конфигурация ИИ."
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr "Таймаут запроса ИИ."
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr "Движок ИИ отклонил запрос. Проверьте логи."
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Недостаточно прав для совместного доступа к документу %(id)s."
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr "Пакет уже обрабатывается."
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Набор ссылок все еще готовится. Пожалуйста, повторите попытку позже."
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "Пакет общих ссылок недоступен."
@@ -2246,151 +2246,151 @@ msgstr "Установить тайм-аут LLM в секундах"
msgid "paperless application settings"
msgstr "настройки приложения paperless"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Английский (США)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "Арабский"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "Африкаанс"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Белорусский"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "Болгарский"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Каталонский"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Чешский"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Датский"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Немецкий"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Греческий"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Английский (Великобритании)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Испанский"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr "Персидский"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Финский"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Французский"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "Венгерский"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr "индонезийский"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Итальянский"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "Японский"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "Корейский"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Люксембургский"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Норвежский"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Датский"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Польский"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Португальский (Бразилия)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Португальский"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Румынский"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Русский"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "Словацкий"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Словенский"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Сербский"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Шведский"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Турецкий"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "Украинский"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr "Вьетнамский"
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Китайский упрощенный"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "Китайский (традиционный)"
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Slovak\n"
"Language: sk_SK\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Dokumenty"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "Hodnota musí byť v platnom formáte JSON."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Neplatný výraz požiadavky na vlastné pole"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Neplatný zoznam výrazov. Nesmie byť prázdny."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Neplatný logický operátor {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "Prekročili ste maximálny počet podmienok požiadavky."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} nie je platné vlastné pole."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} nepodporuje výraz požiadavky {expr!r}."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Bola prekročená maximálna hĺbka vetvenia."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Vlastné pole nebolo nájdené"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr "spustenia pracovných postupov"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Nedostatočné oprávnenia."
@@ -1680,7 +1680,7 @@ msgstr "Zistená neplatná premenná."
msgid "Duplicate document identifiers are not allowed."
msgstr "Duplicitné identifikátory dokumentov nie sú povolené."
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dokumenty sa nenašli: %(ids)s"
@@ -1921,40 +1921,40 @@ msgstr "Ako posledný krok vyplňte nasledujúci formulár:"
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Zadajte iba jednu z možností: text, title_search, query alebo more_like_id."
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr "Neplatné more_like_id"
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr "Neplatná konfigurácia umelej inteligencie."
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr "Vypršal časový limit požiadavky na backend umelej inteligencie."
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr "Backend umelej inteligencie zamietol požiadavku. Podrobnosti nájdete v záznamoch."
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Nedostatočné oprávnenia na zdieľanie dokumentu %(id)s."
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr "Balík sa už spracúva."
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Balík odkazov na zdieľanie sa stále pripravuje. Skúste to znova neskôr."
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "Balík odkazov na zdieľanie nie je k dispozícii."
@@ -2246,151 +2246,151 @@ msgstr "Nastaví časový limit LLM v sekundách"
msgid "paperless application settings"
msgstr "nastavenia aplikácie paperless"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Angličtina (US)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "Arabčina"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "Afrikánčina"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Bieloruština"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "Bulharčina"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Catalan"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Čeština"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Dánčina"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Nemčina"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Gréčtina"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Angličtina (GB)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Španielčina"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr "Perzština"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Finnish"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Francúzština"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "Maďarčina"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr "Indonézština"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Taliančina"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "Japončina"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "Kórejčina"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Luxemburčina"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Nórčina"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Holandčina"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Polština"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Portugalčina (Brazília)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Portugalčina"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Rumunčina"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Ruština"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "Slovenčina"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Slovinčina"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Srbčina"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Švédčina"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Turečtina"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "Ukrainčina"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr "Vietnamčina"
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Čínština (zjednodušená)"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "Čínština (tradičná)"
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Slovenian\n"
"Language: sl_SI\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Dokumenti"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "Vrednost mora biti veljaven JSON."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Neveljaven izraz poizvedbe po polju po meri"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Neveljaven seznam izrazov. Ne sme biti prazen."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Neveljaven logični operator {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "Preseženo je bilo največje dovoljeno število pogojev poizvedbe."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} ni veljavno polje po meri."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} ne podpira izraza poizvedbe {expr!r}."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Presežena je bila največja globina gnezdenja."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Polja po meri ni bilo mogoče najti"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr "poteka dela"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Nezadostna dovoljenja."
@@ -1680,7 +1680,7 @@ msgstr "Zaznani neveljavni znaki."
msgid "Duplicate document identifiers are not allowed."
msgstr "Podvojeni identifikatorji dokumentov niso dovoljeni."
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dokumentov ni bilo mogoče najti: %(ids)s"
@@ -1921,40 +1921,40 @@ msgstr "Kot zadnji korak vas prosimo, da izpolnite naslednji obrazec:"
msgid ", "
msgstr ","
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Navedite samo eno od naslednjih vrednosti: text, title_search, query ali more_like_id."
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr "Neveljaven more_like_id"
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr "Neveljavna konfiguracija umetne inteligence."
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr "Časovna omejitev zahteve za umetno inteligenco je potekla."
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr "Zaledni sistem umetne inteligence je zavrnil zahtevo. Za podrobnosti preverite dnevnike."
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Nezadostna dovoljenja za skupno rabo dokumenta %(id)s."
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr "Paket se že obdeluje."
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Paket povezav za deljenje je še vedno v pripravi. Poskusite znova pozneje."
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "Paket povezav za deljenje ni na voljo."
@@ -2246,151 +2246,151 @@ msgstr "Nastavi časovno omejitev LLM v sekundah"
msgid "paperless application settings"
msgstr "aplikacijske nastavitve paperless"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Angleščina (ZDA)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "Arabščina"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "Afrikanščina"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Beloruščina"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "Bolgarščina"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Katalonščina"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Češčina"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Danščina"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Nemščina"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Grščina"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Angleščina (GB)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Španščina"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr "Perzijščina"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Finščina"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Francoščina"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "Madžarščina"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr "Indonezijščina"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Italijanščina"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "japonščina"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "Korejščina"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Luksemburški"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Norveščina"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Nizozemščina"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Poljščina"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Portugalščina (Brazilija)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Portugalščina"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Romunščina"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Ruščina"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "Slovaščina"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Slovenščina"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Srbščina"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Švedščina"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Turščina"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "Ukrajinščina"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr "Vietnamščina"
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Poenostavljena kitajščina"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "Tradicionalna kitajščina"
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Albanian\n"
"Language: sq_AL\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Documents"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "Vlera duhet të jetë JSON i vlefshëm."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Shprehje e pavlefshme kërkimi për fushë të personalizuar"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Listë shprehjesh e pavlefshme. Nuk duhet të jetë bosh."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Invalid logical operator {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "Është tejkaluar numri maksimal i kushteve të kërkimit."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} nuk është fushë e personalizuar e vlefshme."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} nuk e mbështet shprehjen e kërkimit {expr!r}."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Është tejkaluar thellësia maksimale e ndërfutjes."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Fusha e personalizuar nuk u gjet"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr "ekzekutime rrjedhash pune"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Leje të pamjaftueshme."
@@ -1680,7 +1680,7 @@ msgstr "U zbulua variabël e pavlefshme."
msgid "Duplicate document identifiers are not allowed."
msgstr "Identifikuesit dublikatë të dokumenteve nuk lejohen."
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dokumentet nuk u gjetën: %(ids)s"
@@ -1921,40 +1921,40 @@ msgstr "Si hap i fundit, ju lutemi plotësoni formularin e mëposhtëm:"
msgid ", "
msgstr " ,"
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Specifikoni vetëm njërën prej: text, title_search, query, ose more_like_id."
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr "ID e pavlefshme e \"më shumë ngjashmëri\""
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr "Konfigurim AI i pavlefshëm."
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr "Kërkesa në backend-in e AI-së ka skaduar kohën."
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr "Backend-i i AI-së refuzoi kërkesën. Kontrolloni regjistrimet për detaje."
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Leje të pamjaftueshme për të ndarë dokumentin %(id)s."
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr "Paketa po përpunohet tashmë."
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Paketa e lidhjes së ndarjes ende po përgatitet. Ju lutemi provoni përsëri më vonë."
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "Paketa e lidhjes së ndarjes nuk është e disponueshme."
@@ -2246,151 +2246,151 @@ msgstr "Cakton kohën limit të LLM në sekonda"
msgid "paperless application settings"
msgstr "cilësimet e aplikimit pa përdorim letre"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Anglisht (SHBA)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "Arabisht"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "Afrikanisht"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Bjellorusisht"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "Bullgarisht"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Katalanisht"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Çekisht"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Danisht"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Gjermanisht"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Greqisht"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Anglisht (MB)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Spanjisht"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr "Persisht"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Finlandisht"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Frëngjisht"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "Hungarisht"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr "Indonezisht"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Italisht"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "Japonisht"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "Koreane"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Luksemburgisht"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Norvegjeze"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Holandisht"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Polonisht"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Portugeze (Brazili)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Portugalisht"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Rumanisht"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Rusisht"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "Sllovakisht"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Sllovenisht"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Serbisht"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Suedisht"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Turqisht"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "Ukrainisht"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr "Vietnamisht"
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Kinezisht e thjeshtuar"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "Kinezisht tradicionale"
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Serbian (Latin)\n"
"Language: sr_CS\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Dokumenta"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "Vrednost mora da bude važeći JSON."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Nevažeći izraz upita prilagođen polja"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Nevažeća lista izraza. Ne sme biti prazna."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Nevažeći logični operator {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "Premašen je maksimalni broj uslova u upitu."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} nije validno prilagođeno polje."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} ne podržava izraz u upitu {expr!r}."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Premašena je maksimalna dubina grananja."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Nije pronađeno prilagođeno polje"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr "pokretanje tokova rada"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Nedovoljne dozvole."
@@ -1680,7 +1680,7 @@ msgstr "Otkrivena je nevažeća promenljiva."
msgid "Duplicate document identifiers are not allowed."
msgstr "Duplirani identifikatori dokumenata nisu dozvoljeni."
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dokumenti nisu pronađeni: %(ids)s"
@@ -1921,40 +1921,40 @@ msgstr "Kao poslednji korak, molimo Vas da popunite sledeći obrazac:"
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Navedite samo jedno od sledećeg: text, title_search, query ili more_like_id."
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr "Nevažeći more_like_id"
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr "Nevažeća konfiguracija veštačke inteligencije."
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Nedovoljne dozvole za deljenje dokumenta %(id)s."
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr "Paket se već obrađuje."
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Paket linkova za deljenje se još uvek priprema. Molimo pokušajte ponovo kasnije."
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "Paket linkova za deljenje nije dostupan."
@@ -2246,151 +2246,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "podešavanje paperless aplikacije"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Engleski (US)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "Arapski"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "Afrički"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Beloruski"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "Bugarski"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Katalonski"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Češki"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Danski"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Nemački"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Grčki"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Engleski (UK)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Španski"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr "Persijski"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Finski"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Francuski"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "Mađarski"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr "Indonežanski"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Italijanski"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "Japanski"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "Korejski"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Luksemburški"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Norveški"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Holandski"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Poljski"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Portugalski (Brazil)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Portugalski"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Rumunski"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Ruski"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "Slovački"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Slovenački"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Srpski"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Švedski"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Turski"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "Ukrajinski"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr "Vijetnamski"
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Kineski pojednostavljen"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "Tradicionalni kineski"
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Swedish\n"
"Language: sv_SE\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Dokument"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "Värdet måste vara giltigt JSON."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Ogiltigt sökordsuttryck för anpassade fält"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Ogiltig uttryckslista. Får inte vara tom."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Ogiltig logisk operator {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "Maximalt antal frågevillkor överskrids."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} är inte ett giltigt anpassat fält."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} stöder inte frågan expr {expr!r}."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Maximalt antal nästlade nivåer överskrids."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Anpassat fält hittades inte"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr "arbetsflöde körs"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Otillräckliga behörigheter."
@@ -1680,7 +1680,7 @@ msgstr "Ogiltig variabel upptäckt."
msgid "Duplicate document identifiers are not allowed."
msgstr "Dubbletter av dokumentidentifierare är inte tillåtna."
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dokumenten hittades inte: %(ids)s"
@@ -1921,40 +1921,40 @@ msgstr "Slutför följande formulär som ett sista steg:"
msgid ", "
msgstr ", "
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Ange endast ett av text, title_search, query och more_like_id."
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr "Ogiltig more_like_id"
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr "Ogiltig AI-konfiguration."
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr "Begäran till AI-serverdelen tog för lång tid."
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr "AI-serverdelen avvisade begäran. Kontrollera loggarna för detaljer."
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Otillräckliga behörigheter för att dela dokument %(id)s."
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr "Paketet behandlas redan."
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Delningslänkpaketet förbereds fortfarande. Försök igen senare."
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "Delningslänkpaketet är inte tillgängligt."
@@ -2246,151 +2246,151 @@ msgstr "Anger tidsgränsen för LLM i sekunder"
msgid "paperless application settings"
msgstr "programinställningar för Paperless"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Engelska (USA)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "Arabiska"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "Afrikaans"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Belarusiska"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "Bulgariska"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Kataloniska"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Tjeckiska"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Danska"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Tyska"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Grekiska"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Engelska (GB)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Spanska"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr "Persiska"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Finska"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Franska"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "Ungerska"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr "Indonesiska"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Italienska"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "Japanska"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "Koreanska"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Luxemburgiska"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Norska"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Holländska"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Polska"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Portugisiska (Brasilien)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Portugisiska"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Rumänska"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Ryska"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "Slovakiska"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Slovenska"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Serbiska"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Svenska"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Turkiska"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "Ukrainiska"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr "Vietnamesiska"
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Kinesiska (förenklad)"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "Kinesiska traditionell"
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Thai\n"
"Language: th_TH\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "เอกสาร"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "ค่า ต้องอยู่ในรูปแบบ JSON ที่ถูกต้อง"
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "รูปแบบการค้นหาฟิลด์ที่กำหนดเองไม่ถูกต้อง"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "รายการคำสั่งไม่ถูกต้อง ต้องไม่เว้นว่าง"
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "ตัวดำเนินการเชิงตรรกะ {op!r} ไม่ถูกต้อง"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "จำนวนเงื่อนไขในการค้นหาเกินกำหนด"
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} ไม่ใช่ฟิลด์ที่กำหนดเองที่ถูกต้อง"
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} ไม่รองรับรูปแบบการค้นหา {expr!r}"
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "จำนวนการซ้อนเงื่อนไขสูงสุดเกินขีดจำกัด"
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "ไม่พบฟิลด์ที่กำหนด"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1680,7 +1680,7 @@ msgstr "ตรวจพบตัวแปรไม่ถูกต้อง"
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1920,40 +1920,40 @@ msgstr ""
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2245,151 +2245,151 @@ msgstr ""
msgid "paperless application settings"
msgstr ""
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "ภาษาอังกฤษ (สหรัฐฯ)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "ภาษาอาหรับ"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "ภาษาอาฟรีกานส์"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "ภาษาเบลารุส"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr ""
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "ภาษาคาตาลัน"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "ภาษาเช็ก"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "ภาษาเดนมาร์ก"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "ภาษาเยอรมัน"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "ภาษากรีก"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "ภาษาอังกฤษ (สหราชอาณาจักร)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "ภาษาสเปน"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "ภาษาฟินแลนด์"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "ภาษาฝรั่งเศส"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr ""
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "ภาษาอิตาลี"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr ""
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr ""
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "ภาษาลักเซมเบิร์ก"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "ภาษานอร์เวย์"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "ภาษาดัตช์"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "ภาษาโปแลนด์"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "ภาษาโปรตุเกส (บราซิล)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "ภาษาโปรตุเกส"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "ภาษาโรมาเนีย"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "ภาษารัสเซีย"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "ภาษาสโลวาเกีย"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "ภาษาสโลเวเนีย"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "ภาษาเซอร์เบีย"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "ภาษาสวีเดน"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "ภาษาตุรกี"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "ภาษายูเครน"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "ภาษาจีน (ตัวย่อ)"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr ""
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
"Language: tr_TR\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Belgeler"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "Değer geçerli bir JSON olmalıdır."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Geçersiz özel alan sorgu ifadesi"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Geçersiz ifade listesi. Boş olmamalıdır."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Geçersiz mantıksal işleç {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "En çok sorgu koşulu sayısı aşıldı."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} geçerli bir özel alan değil."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type}, {expr!r} sorgu ifadesini desteklemiyor."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "En çok iç içe geçme izni aşıldı."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Özel alan bulunamadı"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr "iş akışı çalıştırma"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Yetersiz izin."
@@ -1680,7 +1680,7 @@ msgstr "Geçersiz değişken algılandı."
msgid "Duplicate document identifiers are not allowed."
msgstr "Doküman kimliği çakışmasına izin verilmiyor."
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Dosyalar bulunamadı: %(ids)s"
@@ -1921,40 +1921,40 @@ msgstr "Son adım olarak, lütfen aşağıdaki formu doldurun:"
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "Yalnızca bir metin, title_search, sorgu veya more_like_id"
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr "Geçersiz more_like_id"
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr "Geçersiz yapay zeka konfigürasyonu."
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr "Yapay zeka isteği zaman aşımına uğradı."
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "%(id)s dosyasını paylaşmak için yetkiniz yok."
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr "Paket zaten işlemede."
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2246,151 +2246,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "paperless uygulama ayarları"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "İngilizce (Birleşik Devletler)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "Arapça"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "Afrika dili"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Belarusça"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "Bulgarca"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Katalanca"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Çekçe"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Danca"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Almanca"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Yunanca"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "İngilizce (GB)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "İspanyolca"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr "Farsça"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Fince"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Fransızca"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "Macarca"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "İtalyanca"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "Japonca"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "Korece"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Lüksemburgca"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Norveçce"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Hollandaca"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Polonyaca"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Portekizce (Brezilya)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Portekizce"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Romence"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Rusça"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "Slovakça"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Slovakça"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Sırpça"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "İsveççe"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Türkçe"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "Ukraynaca"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr "Vietnamca"
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Basitleştirilmiş Çince"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "Geleneksel Çince"
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Ukrainian\n"
"Language: uk_UA\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Документи"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "Значення має бути коректним JSON."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Хибний вираз запиту користувацького поля"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Недопустимий список виразів. Має бути непустим."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Неприпустимий логічний оператор {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "Перевищено максимальну кількість умов запиту."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} не є дійсним користувацьким полем."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} не підтримує вираз {expr!r}."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Перевищена максимальна глибина вкладення."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Не знайдено користувацьке поле"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr ""
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr ""
@@ -1680,7 +1680,7 @@ msgstr "Виявлено неправильну змінну."
msgid "Duplicate document identifiers are not allowed."
msgstr ""
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr ""
@@ -1921,40 +1921,40 @@ msgstr "Як останній крок, будь ласка, заповніть
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr ""
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr ""
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr ""
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr ""
@@ -2246,151 +2246,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "налаштування програми документообігу"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Англійська (США)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "Арабська"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "Африкаанс"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Білоруська"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "Болгарська"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Каталонська"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Чеська"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Данська"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Німецька"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Грецька"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Англійська (Велика Британія)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Іспанська"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr ""
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Фінська"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Французька"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "Угорська"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr ""
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Італійська"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "Японська"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "Корейська"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Люксембурзька"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Норвезька"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Нідерландська"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Польська"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Португальська (Бразилія)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Португальська"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Румунська"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Російська"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "Словацька"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Словенська"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Сербська"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Шведська"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Турецька"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "Українська"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr ""
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Китайська спрощена"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr ""
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Vietnamese\n"
"Language: vi_VN\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "Tài liệu"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "."
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "Biểu thức truy vấn trường tùy chỉnh không hợp lệ"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "Danh sách biểu thức không hợp lệ. Phải không rỗng."
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "Toán tử lô-gic không hợp lệ {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "Đã vượt quá số điều kiện truy vấn tối đa."
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} không phải là trường tùy chỉnh hợp lệ."
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} không hỗ trợ expr truy vấn{expr!r}."
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "Đã vượt quá độ sâu lồng nhau tối đa."
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Không tìm thấy trường tùy chỉnh"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr "các lần chạy quy trình"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "Không có đủ quyền."
@@ -1680,7 +1680,7 @@ msgstr "Đã phát hiện biến số không hợp lệ."
msgid "Duplicate document identifiers are not allowed."
msgstr "Không cho phép các định danh tài liệu trùng lặp"
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "Không tìm thấy tài liệu: %(ids)s"
@@ -1921,40 +1921,40 @@ msgstr "Là bước cuối cùng, vui lòng hoàn thành mẫu đơn sau:"
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr ""
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr ""
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr ""
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr ""
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr ""
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "Không đủ quyền để chia sẻ tài liệu %(id)s"
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr "Gói đang được xử lý"
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "Liên kết chia sẻ gói vẫn đang được chuẩn bị. Vui lòng thử lại sau."
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "Không tồn tại liên kết chia sẻ gói"
@@ -2246,151 +2246,151 @@ msgstr ""
msgid "paperless application settings"
msgstr "thiết đặt ứng dụng không cần giấy tờ"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "Tiếng Anh (Hoa Kỳ)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "Tiếng Ả Rập"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "Tiếng Afrikaans"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "Tiếng Belarus"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "Tiếng Bulgaria"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Tiếng Catalan"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "Séc"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "Đan Mạch"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "Tiếng Đức"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Tiếng Hy Lạp"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "Tiếng Anh (GB)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "Tiếng Tây Ban Nha"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr "Tiếng Ba Tư"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "Tiếng Phần Lan"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "Tiếng Pháp"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "Tiếng Hungary"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr "Tiếng Indonesia"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "Tiếng Ý"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "Tiếng Nhật"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "Tiếng Hàn"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "Luxembourgish"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Tiếng Na Uy"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "Tiếng Hà Lan"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "Tiếng Ba Lan"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "Tiếng Bồ Đào Nha (Brazil)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "Tiếng Bồ Đào Nha"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "Tiếng Romania"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "Tiếng Nga"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "Tiếng Slovakia"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "Tiếng Slovenia"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "Tiếng Serbia"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "Tiếng Thụy Điển"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "Thổ Nhĩ Kỳ"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "Ukraine"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr "Tiếng Việt"
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "Tiếng Trung Giản thể"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "Tiếng Trung (Phồn thể)"
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "文档"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "值必须是有效的 JSON 格式。"
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "无效的自定义字段查询表达式"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "无效的表达式列表。必须不为空。"
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "无效的逻辑运算符 {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "超出查询条件的最大数量。"
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} 不是一个有效的自定义字段。"
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} 不支持查询表达式 {expr!r}。"
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "超出最大嵌套深度。"
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "Custom field not found"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr "工作流运行"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "权限不足。"
@@ -1680,7 +1680,7 @@ msgstr "检测到无效变量。"
msgid "Duplicate document identifiers are not allowed."
msgstr "不允许重复文档标识符。"
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "未找到文档:%(ids)s"
@@ -1921,40 +1921,40 @@ msgstr "作为最后一步,请填写以下表格:"
msgid ", "
msgstr ","
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "只能指定 text、title_search、query 或 more_like_id 中的一项。"
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr "无效的more_like_id"
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr "无效的 AI 配置。"
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr "AI 后端请求超时。"
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr "AI 后端拒绝了请求。请检查日志的详细信息。"
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "权限不足以分享文件:%(id)s。"
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr "捆绑包已在处理中。"
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "分享链接包仍在准备中,请稍后再试。"
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "分享链接包不可用。"
@@ -2246,151 +2246,151 @@ msgstr "设置 LLM 超时时间(秒)"
msgid "paperless application settings"
msgstr "paperless 应用设置"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "英语(美国)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "阿拉伯语"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "Afrikaans 荷兰语"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "白俄罗斯语"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "保加利亚语"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "Catalan 加泰罗尼亚语"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "捷克语"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "丹麦语"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "德语"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "Greek 希腊语"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "英语(英国)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "西班牙语"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr "波斯文"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "已完成"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "法语"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "匈牙利语"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr "印度尼西亚语"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "意大利语"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "日语"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "韩语"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "卢森堡语"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "Norwegian 挪威语"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "荷兰语"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "波兰语"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "葡萄牙语 (巴西)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "葡萄牙语"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "罗马尼亚语"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "俄语"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "斯洛伐克语"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "斯洛语尼亚语"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "塞尔维亚语"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "瑞典语"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "土耳其语"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "乌克兰语"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr "越南语"
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "简体中文"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "繁体中文"
+60 -60
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-29 17:25+0000\n"
"PO-Revision-Date: 2026-10-29 17:27\n"
"POT-Creation-Date: 2026-10-31 16:33+0000\n"
"PO-Revision-Date: 2026-10-31 16:34\n"
"Last-Translator: \n"
"Language-Team: Chinese Traditional\n"
"Language: zh_TW\n"
@@ -21,43 +21,43 @@ msgstr ""
msgid "Documents"
msgstr "文件"
#: documents/filters.py:337
#: documents/filters.py:336
msgid "Expected a date or a relative date such as \"today\" or \"in 30 days\"."
msgstr ""
#: documents/filters.py:513
#: documents/filters.py:514
msgid "Value must be valid JSON."
msgstr "參數值必須是有效的 JSON。"
#: documents/filters.py:534
#: documents/filters.py:535
msgid "Invalid custom field query expression"
msgstr "無效的自訂欄位查詢表達式"
#: documents/filters.py:544
#: documents/filters.py:545
msgid "Invalid expression list. Must be nonempty."
msgstr "無效的表達式列表,不能為空。"
#: documents/filters.py:565
#: documents/filters.py:566
msgid "Invalid logical operator {op!r}"
msgstr "無效的邏輯運算符 {op!r}"
#: documents/filters.py:579
#: documents/filters.py:580
msgid "Maximum number of query conditions exceeded."
msgstr "超過查詢條件的最大數量。"
#: documents/filters.py:643
#: documents/filters.py:644
msgid "{name!r} is not a valid custom field."
msgstr "{name!r} 不是有效的自訂欄位。"
#: documents/filters.py:680
#: documents/filters.py:681
msgid "{data_type} does not support query expr {expr!r}."
msgstr "{data_type} 不支援查詢表達式 {expr!r}。"
#: documents/filters.py:801 documents/models.py:137
#: documents/filters.py:802 documents/models.py:137
msgid "Maximum nesting depth exceeded."
msgstr "超過最大巢狀深度。"
#: documents/filters.py:1178
#: documents/filters.py:1179
msgid "Custom field not found"
msgstr "找不到自訂欄位"
@@ -1640,7 +1640,7 @@ msgid "workflow runs"
msgstr "執行工作流程"
#: documents/serialisers.py:483 documents/serialisers.py:840
#: documents/serialisers.py:2872 documents/views.py:360 documents/views.py:2730
#: documents/serialisers.py:2872 documents/views.py:348 documents/views.py:2731
#: paperless_mail/serialisers.py:156
msgid "Insufficient permissions."
msgstr "權限不足。"
@@ -1680,7 +1680,7 @@ msgstr "偵測到無效的變數。"
msgid "Duplicate document identifiers are not allowed."
msgstr "文件識別碼不得重複。"
#: documents/serialisers.py:2958 documents/views.py:4780
#: documents/serialisers.py:2958 documents/views.py:4781
#, python-format
msgid "Documents not found: %(ids)s"
msgstr "找不到文件:%(ids)s"
@@ -1921,40 +1921,40 @@ msgstr "最後一步,請填寫以下表單:"
msgid ", "
msgstr ""
#: documents/views.py:315
#: documents/views.py:303
msgid "Specify only one of text, title_search, query, or more_like_id."
msgstr "只能指定 text、title_search、query 或 more_like_id 的其中一項。"
#: documents/views.py:353 documents/views.py:2727
#: documents/views.py:341 documents/views.py:2728
msgid "Invalid more_like_id"
msgstr "無效的 more_like_id"
#: documents/views.py:1665
#: documents/views.py:1652
msgid "Invalid AI configuration."
msgstr "無效的 AI 配置。"
#: documents/views.py:1676
#: documents/views.py:1663
msgid "AI backend request timed out."
msgstr "AI 後端請求逾時。"
#: documents/views.py:1688
#: documents/views.py:1675
msgid "AI backend rejected the request. Check logs for details."
msgstr "AI 後端拒絕了請求。請檢查日誌以取得詳細資訊。"
#: documents/views.py:4796
#: documents/views.py:4797
#, python-format
msgid "Insufficient permissions to share document %(id)s."
msgstr "權限不足,無法共用文件:%(id)s"
#: documents/views.py:4843
#: documents/views.py:4844
msgid "Bundle is already being processed."
msgstr "組合已在處理中。"
#: documents/views.py:4909
#: documents/views.py:4910
msgid "The share link bundle is still being prepared. Please try again later."
msgstr "共用連結組合仍在準備中,請稍後再試。"
#: documents/views.py:4923
#: documents/views.py:4924
msgid "The share link bundle is unavailable."
msgstr "共用連結組合無法使用。"
@@ -2246,151 +2246,151 @@ msgstr "設定 LLM 逾時秒數"
msgid "paperless application settings"
msgstr "Paperless 應用程式設定"
#: paperless/settings/__init__.py:566
#: paperless/settings/__init__.py:571
msgid "English (US)"
msgstr "英文(美國)"
#: paperless/settings/__init__.py:567
#: paperless/settings/__init__.py:572
msgid "Arabic"
msgstr "阿拉伯文"
#: paperless/settings/__init__.py:568
#: paperless/settings/__init__.py:573
msgid "Afrikaans"
msgstr "南非荷蘭文"
#: paperless/settings/__init__.py:569
#: paperless/settings/__init__.py:574
msgid "Belarusian"
msgstr "白俄羅斯文"
#: paperless/settings/__init__.py:570
#: paperless/settings/__init__.py:575
msgid "Bulgarian"
msgstr "保加利亞文"
#: paperless/settings/__init__.py:571
#: paperless/settings/__init__.py:576
msgid "Catalan"
msgstr "加泰羅尼亞文"
#: paperless/settings/__init__.py:572
#: paperless/settings/__init__.py:577
msgid "Czech"
msgstr "捷克文"
#: paperless/settings/__init__.py:573
#: paperless/settings/__init__.py:578
msgid "Danish"
msgstr "丹麥文"
#: paperless/settings/__init__.py:574
#: paperless/settings/__init__.py:579
msgid "German"
msgstr "德文"
#: paperless/settings/__init__.py:575
#: paperless/settings/__init__.py:580
msgid "Greek"
msgstr "希臘文"
#: paperless/settings/__init__.py:576
#: paperless/settings/__init__.py:581
msgid "English (GB)"
msgstr "英文(英國)"
#: paperless/settings/__init__.py:577
#: paperless/settings/__init__.py:582
msgid "Spanish"
msgstr "西班牙文"
#: paperless/settings/__init__.py:578
#: paperless/settings/__init__.py:583
msgid "Persian"
msgstr "波斯文"
#: paperless/settings/__init__.py:579
#: paperless/settings/__init__.py:584
msgid "Finnish"
msgstr "芬蘭文"
#: paperless/settings/__init__.py:580
#: paperless/settings/__init__.py:585
msgid "French"
msgstr "法文"
#: paperless/settings/__init__.py:581
#: paperless/settings/__init__.py:586
msgid "Hungarian"
msgstr "匈牙利文"
#: paperless/settings/__init__.py:582
#: paperless/settings/__init__.py:587
msgid "Indonesian"
msgstr "印尼文"
#: paperless/settings/__init__.py:583
#: paperless/settings/__init__.py:588
msgid "Italian"
msgstr "義大利文"
#: paperless/settings/__init__.py:584
#: paperless/settings/__init__.py:589
msgid "Japanese"
msgstr "日文"
#: paperless/settings/__init__.py:585
#: paperless/settings/__init__.py:590
msgid "Korean"
msgstr "韓文"
#: paperless/settings/__init__.py:586
#: paperless/settings/__init__.py:591
msgid "Luxembourgish"
msgstr "盧森堡文"
#: paperless/settings/__init__.py:587
#: paperless/settings/__init__.py:592
msgid "Norwegian"
msgstr "挪威文"
#: paperless/settings/__init__.py:588
#: paperless/settings/__init__.py:593
msgid "Dutch"
msgstr "荷蘭文"
#: paperless/settings/__init__.py:589
#: paperless/settings/__init__.py:594
msgid "Polish"
msgstr "波蘭文"
#: paperless/settings/__init__.py:590
#: paperless/settings/__init__.py:595
msgid "Portuguese (Brazil)"
msgstr "葡萄牙文(巴西)"
#: paperless/settings/__init__.py:591
#: paperless/settings/__init__.py:596
msgid "Portuguese"
msgstr "葡萄牙文"
#: paperless/settings/__init__.py:592
#: paperless/settings/__init__.py:597
msgid "Romanian"
msgstr "羅馬尼亞文"
#: paperless/settings/__init__.py:593
#: paperless/settings/__init__.py:598
msgid "Russian"
msgstr "俄文"
#: paperless/settings/__init__.py:594
#: paperless/settings/__init__.py:599
msgid "Slovak"
msgstr "斯洛伐克文"
#: paperless/settings/__init__.py:595
#: paperless/settings/__init__.py:600
msgid "Slovenian"
msgstr "斯洛維尼亞文"
#: paperless/settings/__init__.py:596
#: paperless/settings/__init__.py:601
msgid "Serbian"
msgstr "塞爾維亞文"
#: paperless/settings/__init__.py:597
#: paperless/settings/__init__.py:602
msgid "Swedish"
msgstr "瑞典文"
#: paperless/settings/__init__.py:598
#: paperless/settings/__init__.py:603
msgid "Turkish"
msgstr "土耳其文"
#: paperless/settings/__init__.py:599
#: paperless/settings/__init__.py:604
msgid "Ukrainian"
msgstr "烏克蘭文"
#: paperless/settings/__init__.py:600
#: paperless/settings/__init__.py:605
msgid "Vietnamese"
msgstr "越南文"
#: paperless/settings/__init__.py:601
#: paperless/settings/__init__.py:606
msgid "Chinese Simplified"
msgstr "簡體中文"
#: paperless/settings/__init__.py:602
#: paperless/settings/__init__.py:607
msgid "Chinese Traditional"
msgstr "繁體中文"
+10 -1
View File
@@ -9,6 +9,8 @@ from allauth.socialaccount.adapter import DefaultSocialAccountAdapter
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.db import transaction
from django.forms import ValidationError
from django.http import HttpRequest
from django.urls import reverse
@@ -111,13 +113,20 @@ class CustomAccountAdapter(DefaultAccountAdapter):
path = path.replace("UID-KEY", quote(key))
return settings.PAPERLESS_URL + path
@transaction.atomic
def save_user(self, request, user, form, commit=True): # noqa: FBT002
"""
Save the user instance. Default groups are assigned to the user, if
specified in the settings.
"""
if (
if commit:
ContentType.objects.select_for_update().get(
app_label=User._meta.app_label,
model=User._meta.model_name,
)
if commit and (
User.objects.exclude(username__in=["consumer", "AnonymousUser"]).count()
== 0
and Document.global_objects.count() == 0
+1 -1
View File
@@ -17,7 +17,7 @@ from paperless.urls import websocket_urlpatterns # noqa: E402
application = ProtocolTypeRouter(
{
"http": get_asgi_application(),
"http": django_asgi_app,
"websocket": AuthMiddlewareStack(URLRouter(websocket_urlpatterns)),
},
)
+4 -3
View File
@@ -36,9 +36,6 @@ from humanize import naturalsize
from imap_tools import MailAttachment
from imap_tools import MailMessage
from tika_client import TikaClient
from turbohtml.clean import Linkify
from turbohtml.clean import linkify
from turbohtml.migration.bleach import clean
from documents.parsers import ParseError
from documents.parsers import make_thumbnail_from_pdf
@@ -622,6 +619,10 @@ class MailDocumentParser:
def clean_html(text: str) -> str:
"""Attempt to clean, escape, and linkify the given HTML string."""
from turbohtml.clean import Linkify
from turbohtml.clean import linkify
from turbohtml.migration.bleach import clean
if isinstance(text, list):
text = "\n".join([str(e) for e in text])
if not isinstance(text, str):
+8 -4
View File
@@ -1,5 +1,6 @@
from __future__ import annotations
import functools
import importlib.resources
import logging
import os
@@ -39,9 +40,12 @@ if TYPE_CHECKING:
logger = logging.getLogger("paperless.parsing.tesseract")
_SRGB_ICC_DATA: Final[bytes] = (
importlib.resources.files("ocrmypdf.data").joinpath("sRGB.icc").read_bytes()
)
@functools.cache
def _srgb_icc_data() -> bytes:
# Read on first use, importing ocrmypdf.data pulls in the whole ocrmypdf package
return importlib.resources.files("ocrmypdf.data").joinpath("sRGB.icc").read_bytes()
_SUPPORTED_MIME_TYPES: Final[dict[str, str]] = {
"application/pdf": ".pdf",
@@ -403,7 +407,7 @@ class RasterisedDocumentParser:
pdfa_path = Path(self.tempdir) / "archive.pdf"
try:
with pikepdf.open(plain_pdf_path) as pdf:
cs = pdf.make_stream(_SRGB_ICC_DATA)
cs = pdf.make_stream(_srgb_icc_data())
cs["/N"] = 3
output_intent = pikepdf.Dictionary(
Type=pikepdf.Name("/OutputIntent"),
+9 -1
View File
@@ -460,9 +460,14 @@ def _parse_paperless_url():
global CSRF_TRUSTED_ORIGINS, CORS_ALLOWED_ORIGINS, ALLOWED_HOSTS
url = os.getenv("PAPERLESS_URL")
if url:
hostname = urlparse(url).hostname
if not hostname:
raise ImproperlyConfigured(
f"PAPERLESS_URL {url!r} has no hostname, expected a URL like https://example.com",
)
CSRF_TRUSTED_ORIGINS.append(url)
CORS_ALLOWED_ORIGINS.append(url)
ALLOWED_HOSTS.append(urlparse(url).hostname)
ALLOWED_HOSTS.append(hostname)
return url
@@ -684,6 +689,9 @@ logging.config.dictConfig(LOGGING)
# https://docs.celeryq.dev/en/stable/userguide/configuration.html
# Tasks outside tasks.py must be loaded even when Django skips checks
CELERY_IMPORTS = ("documents.bulk_edit",)
CELERY_BROKER_URL = _CELERY_REDIS_URL
CELERY_RESULT_BACKEND = _CELERY_REDIS_URL
CELERY_RESULT_SERIALIZER = "signed-pickle"
+2 -1
View File
@@ -6,7 +6,6 @@ from pathlib import Path
from typing import Any
from celery.schedules import crontab
from dateparser.languages.loader import LocaleDataLoader
from paperless.settings.parsers import get_choice_from_env
from paperless.settings.parsers import get_int_from_env
@@ -352,6 +351,8 @@ def parse_dateparser_languages(languages: str | None) -> list[str]:
)
language_list.append("zh")
from dateparser.languages.loader import LocaleDataLoader
return list(LocaleDataLoader().get_locale_map(locales=language_list))
@@ -166,3 +166,22 @@ class TestPaperlessURLSettings(TestCase):
self.assertIn(url, settings.CSRF_TRUSTED_ORIGINS)
self.assertIn(url, settings.CORS_ALLOWED_ORIGINS)
@pytest.mark.parametrize("url", ["example.com", "https://", "/just/a/path"])
def test_paperless_url_without_hostname_is_rejected(
monkeypatch: pytest.MonkeyPatch,
url: str,
) -> None:
"""
GIVEN:
- PAPERLESS_URL is set to a value with no hostname
WHEN:
- The URL is parsed
THEN:
- A configuration error is raised instead of adding None to ALLOWED_HOSTS
"""
monkeypatch.setenv("PAPERLESS_URL", url)
with pytest.raises(ImproperlyConfigured, match="no hostname"):
_parse_paperless_url()
+69 -16
View File
@@ -1,6 +1,11 @@
import logging
import time
from concurrent.futures import ThreadPoolExecutor
from threading import Barrier
from types import SimpleNamespace
import pytest
from allauth.account.adapter import DefaultAccountAdapter
from allauth.account.adapter import get_adapter
from allauth.account.models import Login
from allauth.core import context
@@ -12,6 +17,8 @@ from allauth.socialaccount.models import SocialLogin
from django.contrib.auth.models import AnonymousUser
from django.contrib.auth.models import Group
from django.contrib.auth.models import User
from django.db import connection
from django.db import connections
from django.forms import ValidationError
from django.http import HttpRequest
from django.test import RequestFactory
@@ -115,25 +122,71 @@ class TestCustomAccountAdapter:
assert user.groups.filter(name="group1").exists()
assert not user.groups.filter(name="group2").exists()
def test_fresh_install_save_creates_superuser(self, mocker: MockerFixture) -> None:
def test_fresh_install_save_creates_superuser(self, settings: Settings) -> None:
settings.ACCOUNT_DEFAULT_GROUPS = []
adapter = get_adapter()
form = mocker.MagicMock(
cleaned_data={
"username": "testuser",
"email": "user@paperless-ngx.com",
},
deferred = adapter.save_user(
HttpRequest(),
User(),
SimpleNamespace(cleaned_data={"username": "deferred"}),
commit=False,
)
user = adapter.save_user(HttpRequest(), User(), form, commit=True)
assert user.is_superuser
assert deferred.pk is None
assert not deferred.is_superuser and not deferred.is_staff
form = mocker.MagicMock(
cleaned_data={
"username": "testuser2",
"email": "user2@paperless-ngx.com",
},
)
user2 = adapter.save_user(HttpRequest(), User(), form, commit=True)
assert not user2.is_superuser
for username, expected_superuser in (("first", True), ("second", False)):
user = adapter.save_user(
HttpRequest(),
User(),
SimpleNamespace(cleaned_data={"username": username}),
)
assert user.is_superuser == expected_superuser
assert user.is_staff == expected_superuser
deferred.save()
assert User.objects.filter(is_superuser=True).count() == 1
assert User.objects.filter(is_staff=True).count() == 1
@pytest.mark.django_db(transaction=True)
def test_concurrent_bootstrap_signups_create_only_one_superuser(
settings: Settings,
mocker: MockerFixture,
) -> None:
if connection.vendor == "sqlite" and connection.is_in_memory_db():
pytest.skip("Concurrent SQLite writers require a file-backed test database")
settings.ACCOUNT_DEFAULT_GROUPS = []
settings.ACCOUNT_ALLOW_SIGNUPS = False
admitted = Barrier(2)
save_user = DefaultAccountAdapter.save_user
def delayed_save(*args, **kwargs):
# Widen the gap between the bootstrap decision and the actual insert.
time.sleep(0.1)
return save_user(*args, **kwargs)
mocker.patch.object(DefaultAccountAdapter, "save_user", delayed_save)
def signup(index):
try:
adapter = get_adapter()
request = HttpRequest()
assert adapter.is_open_for_signup(request)
admitted.wait(timeout=5)
adapter.save_user(
request,
User(),
SimpleNamespace(cleaned_data={"username": f"signup{index}"}),
)
finally:
connections.close_all()
with ThreadPoolExecutor(max_workers=2) as workers:
list(workers.map(signup, range(2)))
assert User.objects.filter(username__startswith="signup").count() == 2
assert User.objects.filter(is_superuser=True).count() == 1
assert User.objects.filter(is_staff=True).count() == 1
@pytest.mark.django_db
+39
View File
@@ -1,5 +1,8 @@
import hmac
import os
import pickle
import subprocess
import sys
from hashlib import sha256
from pathlib import Path
@@ -11,6 +14,42 @@ from paperless.celery import signed_pickle_loads
from paperless.signed_pickle import HMAC_SIZE
def test_tasks_registered_without_system_checks() -> None:
# Use a fresh interpreter: Django checks and other tests can import views,
# hiding tasks that the worker would otherwise never register.
result = subprocess.run(
[
sys.executable,
"-c",
"""
import sys
from paperless.celery import app
app.loader.import_default_modules()
expected = {
"documents.bulk_edit.delete",
"documents.bulk_edit.restore_archive_serial_numbers_task",
"documents.signals.handlers.process_cf_select_update",
"documents.workflows.webhooks.send_webhook",
"paperless_mail.mail.apply_mail_action",
"paperless_mail.mail.error_callback",
}
missing = expected - set(app.tasks)
assert not missing, f"Unregistered tasks: {sorted(missing)}"
assert "paperless.urls" not in sys.modules
""",
],
env={**os.environ, "CELERY_SKIP_CHECKS": "1"},
cwd=Path(__file__).resolve().parents[2],
capture_output=True,
text=True,
timeout=60,
check=False,
)
assert result.returncode == 0, result.stdout + result.stderr
class TestSignedPickleSerializer:
def test_roundtrip_simple_types(self) -> None:
"""Signed pickle can round-trip basic JSON-like types."""
+4 -1
View File
@@ -59,7 +59,10 @@ def test_ocr_to_dateparser_languages_exception(
raise RuntimeError("Simulated error")
with caplog.at_level(logging.WARNING):
monkeypatch.setattr(utils, "LocaleDataLoader", lambda: DummyLoader())
monkeypatch.setattr(
"dateparser.languages.loader.LocaleDataLoader",
lambda: DummyLoader(),
)
result = utils.ocr_to_dateparser_languages("eng+fra")
assert result == []
assert (
+2 -2
View File
@@ -1,7 +1,5 @@
import logging
from dateparser.languages.loader import LocaleDataLoader
logger = logging.getLogger("paperless.utils")
OCR_TO_DATEPARSER_LANGUAGES = {
@@ -125,6 +123,8 @@ def ocr_to_dateparser_languages(ocr_languages: str) -> list[str]:
- If a language cannot be mapped or validated, it is skipped with a warning.
- Returns a list of valid locales, or an empty list if none could be converted.
"""
from dateparser.languages.loader import LocaleDataLoader
loader = LocaleDataLoader()
result = []
try:
+1 -1
View File
@@ -3,7 +3,6 @@ from io import BytesIO
from django.conf import settings
from django.core.exceptions import ValidationError
from django.core.files.uploadedfile import UploadedFile
from lxml import etree
from PIL import Image
ALLOWED_SVG_TAGS: set[str] = {
@@ -186,6 +185,7 @@ def reject_dangerous_svg(file: UploadedFile) -> None:
Raises ValidationError if unsafe content is found.
See GHSA-6p53-hqqw-8j62
"""
from lxml import etree
try:
parser = etree.XMLParser(resolve_entities=False)
+1 -1
View File
@@ -1,6 +1,6 @@
from typing import Final
__version__: Final[tuple[int, int, int]] = (3, 4, 0)
__version__: Final[tuple[int, int, int]] = (3, 4, 2)
# Version string like X.Y.Z
__full_version_str__: Final[str] = ".".join(map(str, __version__))
# Version string like X.Y
+2 -1
View File
@@ -49,7 +49,6 @@ from paperless.serialisers import GroupSerializer
from paperless.serialisers import PaperlessAuthTokenSerializer
from paperless.serialisers import ProfileSerializer
from paperless.serialisers import UserSerializer
from paperless_ai.indexing import llm_index_exists
class PaperlessObtainAuthTokenView(ObtainAuthToken):
@@ -471,6 +470,8 @@ class ApplicationConfigurationViewSet(ModelViewSet[ApplicationConfiguration]):
or old_llm_embedding_model != new_llm_embedding_model
or old_llm_context_size != new_llm_context_size
)
from paperless_ai.indexing import llm_index_exists
rebuild_needed = new_ai_index_enabled and (
not llm_index_exists() or embedding_config_changed
)
+2 -2
View File
@@ -169,9 +169,9 @@ class TagMailAction(BaseMailAction):
# The custom tag should look like "apple:<color>"
if "apple:" in parameter.lower():
_, self.color = parameter.split(":")
self.color = self.color.strip()
self.color = self.color.strip().lower()
if self.color.lower() not in APPLE_MAIL_TAG_COLORS:
if self.color not in APPLE_MAIL_TAG_COLORS:
raise MailError("Not a valid AppleMail tag color.")
self.keyword = None
+6
View File
@@ -89,6 +89,9 @@ class PaperlessMailOAuth2Manager:
"""
logger = logging.getLogger("paperless_mail")
logger.debug(f"Attempting to refresh oauth token for account {account}")
if account.refresh_token is None:
logger.error(f"Account {account} has no refresh token to use")
return False
try:
result: OAuth2Token
if account.account_type == MailAccount.MailAccountType.GMAIL_OAUTH:
@@ -103,6 +106,9 @@ class PaperlessMailOAuth2Manager:
refresh_token=account.refresh_token,
),
)
else:
logger.error(f"Account {account} does not use OAuth")
return False
if "refresh_token" in result:
# Outlook returns a new refresh token on refresh, Gmail does not
account.refresh_token = result["refresh_token"]
+27
View File
@@ -23,6 +23,7 @@ from rest_framework.test import APITestCase
from documents.models import Correspondent
from documents.models import MatchingModel
from paperless_mail import tasks
from paperless_mail.mail import APPLE_MAIL_TAG_COLORS
from paperless_mail.mail import MailAccountHandler
from paperless_mail.mail import MailError
from paperless_mail.mail import TagMailAction
@@ -1873,6 +1874,32 @@ class TestErrorCallback:
assert processed_mails.get().owner == owner
class TestTagMailActionColor:
@pytest.mark.parametrize(
"parameter",
["apple:green", "apple:Green", "APPLE: GREEN "],
)
def test_color_case_is_ignored(self, parameter: str) -> None:
"""
GIVEN:
- An Apple Mail tag parameter in any letter case
WHEN:
- The action tags a message
THEN:
- The lowercase color's flag bits are set on the message
"""
action = TagMailAction(parameter, supports_gmail_labels=False)
mailbox = mock.Mock()
action.post_consume(mailbox, "1", parameter)
assert mailbox.flag.call_args_list[1] == mock.call(
"1",
APPLE_MAIL_TAG_COLORS["green"],
value=True,
)
class TestManagementCommand(TestCase):
@mock.patch(
"paperless_mail.management.commands.mail_fetcher.tasks.process_mail_accounts",
@@ -264,6 +264,28 @@ class TestMailOAuth(
MailAccount.objects.filter(imap_server="outlook.office365.com").exists(),
)
def test_oauth_callback_view_unrecognized_scope(self) -> None:
"""
GIVEN:
- A valid OAuth state and a callback scope that is not Google's
WHEN:
- OAuth callback is called
THEN:
- 400 is returned instead of a server error and no account is created
"""
session = self.client.session
session["oauth_state"] = "test_state"
session.save()
for scope in ("", "openid", "https://example.com/other"):
with self.subTest(scope=scope):
response = self.client.get(
"/api/oauth/callback/",
{"code": "test_code", "scope": scope, "state": "test_state"},
)
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
self.assertFalse(MailAccount.objects.exists())
@mock.patch("paperless_mail.mail.get_mailbox")
@mock.patch(
"httpx_oauth.oauth2.BaseOAuth2.refresh_token",
@@ -366,3 +388,39 @@ class TestMailOAuth(
f"Failed to refresh oauth token for account {mail_account}: test_error",
cm.output[0],
)
def test_refresh_account_oauth_token_non_oauth_account(self) -> None:
"""
GIVEN:
- A mail account which does not use OAuth
WHEN:
- A token refresh is requested
THEN:
- False is returned rather than an unbound variable error
"""
account = MailAccountFactory(
account_type=MailAccount.MailAccountType.IMAP,
refresh_token="token",
)
self.assertFalse(
PaperlessMailOAuth2Manager().refresh_account_oauth_token(account),
)
def test_refresh_account_oauth_token_without_refresh_token(self) -> None:
"""
GIVEN:
- An OAuth mail account with no refresh token stored
WHEN:
- A token refresh is requested
THEN:
- False is returned
"""
account = MailAccountFactory(
account_type=MailAccount.MailAccountType.GMAIL_OAUTH,
refresh_token=None,
)
self.assertFalse(
PaperlessMailOAuth2Manager().refresh_account_oauth_token(account),
)
+8
View File
@@ -319,6 +319,14 @@ class OauthCallbackView(GenericAPIView[Any]):
result = oauth_manager.get_outlook_access_token(code)
else:
logger.error(
f"Invalid oauth callback request: unrecognized scope {scope!r}",
)
return HttpResponseBadRequest(
"Invalid request, see logs for more detail",
)
access_token = result["access_token"]
refresh_token = result["refresh_token"]
expires_in = result["expires_in"]