mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-10-28 03:46:06 -05:00
Merge branch 'dev'
This commit is contained in:
@@ -9,8 +9,11 @@ class DocumentsConfig(AppConfig):
|
||||
|
||||
def ready(self):
|
||||
from documents.signals import document_consumption_finished
|
||||
from documents.signals import document_updated
|
||||
from documents.signals.handlers import add_inbox_tags
|
||||
from documents.signals.handlers import add_to_index
|
||||
from documents.signals.handlers import run_workflow_added
|
||||
from documents.signals.handlers import run_workflow_updated
|
||||
from documents.signals.handlers import set_correspondent
|
||||
from documents.signals.handlers import set_document_type
|
||||
from documents.signals.handlers import set_log_entry
|
||||
@@ -24,5 +27,7 @@ class DocumentsConfig(AppConfig):
|
||||
document_consumption_finished.connect(set_storage_path)
|
||||
document_consumption_finished.connect(set_log_entry)
|
||||
document_consumption_finished.connect(add_to_index)
|
||||
document_consumption_finished.connect(run_workflow_added)
|
||||
document_updated.connect(run_workflow_updated)
|
||||
|
||||
AppConfig.ready(self)
|
||||
|
||||
@@ -90,6 +90,9 @@ class BarcodeReader:
|
||||
"""
|
||||
asn = None
|
||||
|
||||
if not self.supported_mime_type:
|
||||
return None
|
||||
|
||||
# Ensure the barcodes have been read
|
||||
self.detect()
|
||||
|
||||
@@ -215,7 +218,7 @@ class BarcodeReader:
|
||||
# This file is really borked, allow the consumption to continue
|
||||
# but it may fail further on
|
||||
except Exception as e: # pragma: no cover
|
||||
logger.warning(
|
||||
logger.exception(
|
||||
f"Exception during barcode scanning: {e}",
|
||||
)
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ def load_classifier() -> Optional["DocumentClassifier"]:
|
||||
except OSError:
|
||||
logger.exception("IO error while loading document classification model")
|
||||
classifier = None
|
||||
except Exception: # pragma: nocover
|
||||
except Exception: # pragma: no cover
|
||||
logger.exception("Unknown error while loading document classification model")
|
||||
classifier = None
|
||||
|
||||
@@ -318,7 +318,7 @@ class DocumentClassifier:
|
||||
|
||||
return True
|
||||
|
||||
def preprocess_content(self, content: str) -> str: # pragma: nocover
|
||||
def preprocess_content(self, content: str) -> str: # pragma: no cover
|
||||
"""
|
||||
Process to contents of a document, distilling it down into
|
||||
words which are meaningful to the content
|
||||
|
||||
@@ -26,8 +26,7 @@ from documents.data_models import DocumentMetadataOverrides
|
||||
from documents.file_handling import create_source_path_directory
|
||||
from documents.file_handling import generate_unique_filename
|
||||
from documents.loggers import LoggingMixin
|
||||
from documents.matching import document_matches_template
|
||||
from documents.models import ConsumptionTemplate
|
||||
from documents.matching import document_matches_workflow
|
||||
from documents.models import Correspondent
|
||||
from documents.models import CustomField
|
||||
from documents.models import CustomFieldInstance
|
||||
@@ -36,6 +35,8 @@ from documents.models import DocumentType
|
||||
from documents.models import FileInfo
|
||||
from documents.models import StoragePath
|
||||
from documents.models import Tag
|
||||
from documents.models import Workflow
|
||||
from documents.models import WorkflowTrigger
|
||||
from documents.parsers import DocumentParser
|
||||
from documents.parsers import ParseError
|
||||
from documents.parsers import get_parser_class_for_mime_type
|
||||
@@ -134,24 +135,24 @@ class Consumer(LoggingMixin):
|
||||
"""
|
||||
Confirm the input file still exists where it should
|
||||
"""
|
||||
if not os.path.isfile(self.path):
|
||||
if not os.path.isfile(self.original_path):
|
||||
self._fail(
|
||||
ConsumerStatusShortMessage.FILE_NOT_FOUND,
|
||||
f"Cannot consume {self.path}: File not found.",
|
||||
f"Cannot consume {self.original_path}: File not found.",
|
||||
)
|
||||
|
||||
def pre_check_duplicate(self):
|
||||
"""
|
||||
Using the MD5 of the file, check this exact file doesn't already exist
|
||||
"""
|
||||
with open(self.path, "rb") as f:
|
||||
with open(self.original_path, "rb") as f:
|
||||
checksum = hashlib.md5(f.read()).hexdigest()
|
||||
existing_doc = Document.objects.filter(
|
||||
Q(checksum=checksum) | Q(archive_checksum=checksum),
|
||||
)
|
||||
if existing_doc.exists():
|
||||
if settings.CONSUMER_DELETE_DUPLICATES:
|
||||
os.unlink(self.path)
|
||||
os.unlink(self.original_path)
|
||||
self._fail(
|
||||
ConsumerStatusShortMessage.DOCUMENT_ALREADY_EXISTS,
|
||||
f"Not consuming {self.filename}: It is a duplicate of"
|
||||
@@ -210,7 +211,7 @@ class Consumer(LoggingMixin):
|
||||
|
||||
self.log.info(f"Executing pre-consume script {settings.PRE_CONSUME_SCRIPT}")
|
||||
|
||||
working_file_path = str(self.path)
|
||||
working_file_path = str(self.working_copy)
|
||||
original_file_path = str(self.original_path)
|
||||
|
||||
script_env = os.environ.copy()
|
||||
@@ -342,8 +343,8 @@ class Consumer(LoggingMixin):
|
||||
Return the document object if it was successfully created.
|
||||
"""
|
||||
|
||||
self.path = Path(path).resolve()
|
||||
self.filename = override_filename or self.path.name
|
||||
self.original_path = Path(path).resolve()
|
||||
self.filename = override_filename or self.original_path.name
|
||||
self.override_title = override_title
|
||||
self.override_correspondent_id = override_correspondent_id
|
||||
self.override_document_type_id = override_document_type_id
|
||||
@@ -376,17 +377,16 @@ class Consumer(LoggingMixin):
|
||||
self.log.info(f"Consuming {self.filename}")
|
||||
|
||||
# For the actual work, copy the file into a tempdir
|
||||
self.original_path = self.path
|
||||
tempdir = tempfile.TemporaryDirectory(
|
||||
prefix="paperless-ngx",
|
||||
dir=settings.SCRATCH_DIR,
|
||||
)
|
||||
self.path = Path(tempdir.name) / Path(self.filename)
|
||||
copy_file_with_basic_stats(self.original_path, self.path)
|
||||
self.working_copy = Path(tempdir.name) / Path(self.filename)
|
||||
copy_file_with_basic_stats(self.original_path, self.working_copy)
|
||||
|
||||
# Determine the parser class.
|
||||
|
||||
mime_type = magic.from_file(self.path, mime=True)
|
||||
mime_type = magic.from_file(self.working_copy, mime=True)
|
||||
|
||||
self.log.debug(f"Detected mime type: {mime_type}")
|
||||
|
||||
@@ -405,7 +405,7 @@ class Consumer(LoggingMixin):
|
||||
|
||||
document_consumption_started.send(
|
||||
sender=self.__class__,
|
||||
filename=self.path,
|
||||
filename=self.working_copy,
|
||||
logging_group=self.logging_group,
|
||||
)
|
||||
|
||||
@@ -420,7 +420,7 @@ class Consumer(LoggingMixin):
|
||||
|
||||
document_parser: DocumentParser = parser_class(
|
||||
self.logging_group,
|
||||
progress_callback,
|
||||
progress_callback=progress_callback,
|
||||
)
|
||||
|
||||
self.log.debug(f"Parser: {type(document_parser).__name__}")
|
||||
@@ -443,7 +443,7 @@ class Consumer(LoggingMixin):
|
||||
ConsumerStatusShortMessage.PARSING_DOCUMENT,
|
||||
)
|
||||
self.log.debug(f"Parsing {self.filename}...")
|
||||
document_parser.parse(self.path, mime_type, self.filename)
|
||||
document_parser.parse(self.working_copy, mime_type, self.filename)
|
||||
|
||||
self.log.debug(f"Generating thumbnail for {self.filename}...")
|
||||
self._send_progress(
|
||||
@@ -453,7 +453,7 @@ class Consumer(LoggingMixin):
|
||||
ConsumerStatusShortMessage.GENERATING_THUMBNAIL,
|
||||
)
|
||||
thumbnail = document_parser.get_thumbnail(
|
||||
self.path,
|
||||
self.working_copy,
|
||||
mime_type,
|
||||
self.filename,
|
||||
)
|
||||
@@ -526,7 +526,7 @@ class Consumer(LoggingMixin):
|
||||
|
||||
self._write(
|
||||
document.storage_type,
|
||||
self.original_path,
|
||||
self.working_copy,
|
||||
document.source_path,
|
||||
)
|
||||
|
||||
@@ -559,9 +559,9 @@ class Consumer(LoggingMixin):
|
||||
document.save()
|
||||
|
||||
# Delete the file only if it was successfully consumed
|
||||
self.log.debug(f"Deleting file {self.path}")
|
||||
os.unlink(self.path)
|
||||
self.log.debug(f"Deleting file {self.working_copy}")
|
||||
self.original_path.unlink()
|
||||
self.working_copy.unlink()
|
||||
|
||||
# https://github.com/jonaswinkler/paperless-ng/discussions/1037
|
||||
shadow_file = os.path.join(
|
||||
@@ -602,66 +602,71 @@ class Consumer(LoggingMixin):
|
||||
|
||||
return document
|
||||
|
||||
def get_template_overrides(
|
||||
def get_workflow_overrides(
|
||||
self,
|
||||
input_doc: ConsumableDocument,
|
||||
) -> DocumentMetadataOverrides:
|
||||
"""
|
||||
Match consumption templates to a document based on source and
|
||||
file name filters, path filters or mail rule filter if specified
|
||||
Get overrides from matching workflows
|
||||
"""
|
||||
overrides = DocumentMetadataOverrides()
|
||||
for template in ConsumptionTemplate.objects.all().order_by("order"):
|
||||
for workflow in Workflow.objects.filter(enabled=True).order_by("order"):
|
||||
template_overrides = DocumentMetadataOverrides()
|
||||
|
||||
if document_matches_template(input_doc, template):
|
||||
if template.assign_title is not None:
|
||||
template_overrides.title = template.assign_title
|
||||
if template.assign_tags is not None:
|
||||
template_overrides.tag_ids = [
|
||||
tag.pk for tag in template.assign_tags.all()
|
||||
]
|
||||
if template.assign_correspondent is not None:
|
||||
template_overrides.correspondent_id = (
|
||||
template.assign_correspondent.pk
|
||||
if document_matches_workflow(
|
||||
input_doc,
|
||||
workflow,
|
||||
WorkflowTrigger.WorkflowTriggerType.CONSUMPTION,
|
||||
):
|
||||
for action in workflow.actions.all():
|
||||
self.log.info(
|
||||
f"Applying overrides in {action} from {workflow}",
|
||||
)
|
||||
if template.assign_document_type is not None:
|
||||
template_overrides.document_type_id = (
|
||||
template.assign_document_type.pk
|
||||
)
|
||||
if template.assign_storage_path is not None:
|
||||
template_overrides.storage_path_id = template.assign_storage_path.pk
|
||||
if template.assign_owner is not None:
|
||||
template_overrides.owner_id = template.assign_owner.pk
|
||||
if template.assign_view_users is not None:
|
||||
template_overrides.view_users = [
|
||||
user.pk for user in template.assign_view_users.all()
|
||||
]
|
||||
if template.assign_view_groups is not None:
|
||||
template_overrides.view_groups = [
|
||||
group.pk for group in template.assign_view_groups.all()
|
||||
]
|
||||
if template.assign_change_users is not None:
|
||||
template_overrides.change_users = [
|
||||
user.pk for user in template.assign_change_users.all()
|
||||
]
|
||||
if template.assign_change_groups is not None:
|
||||
template_overrides.change_groups = [
|
||||
group.pk for group in template.assign_change_groups.all()
|
||||
]
|
||||
if template.assign_custom_fields is not None:
|
||||
template_overrides.custom_field_ids = [
|
||||
field.pk for field in template.assign_custom_fields.all()
|
||||
]
|
||||
if action.assign_title is not None:
|
||||
template_overrides.title = action.assign_title
|
||||
if action.assign_tags is not None:
|
||||
template_overrides.tag_ids = [
|
||||
tag.pk for tag in action.assign_tags.all()
|
||||
]
|
||||
if action.assign_correspondent is not None:
|
||||
template_overrides.correspondent_id = (
|
||||
action.assign_correspondent.pk
|
||||
)
|
||||
if action.assign_document_type is not None:
|
||||
template_overrides.document_type_id = (
|
||||
action.assign_document_type.pk
|
||||
)
|
||||
if action.assign_storage_path is not None:
|
||||
template_overrides.storage_path_id = (
|
||||
action.assign_storage_path.pk
|
||||
)
|
||||
if action.assign_owner is not None:
|
||||
template_overrides.owner_id = action.assign_owner.pk
|
||||
if action.assign_view_users is not None:
|
||||
template_overrides.view_users = [
|
||||
user.pk for user in action.assign_view_users.all()
|
||||
]
|
||||
if action.assign_view_groups is not None:
|
||||
template_overrides.view_groups = [
|
||||
group.pk for group in action.assign_view_groups.all()
|
||||
]
|
||||
if action.assign_change_users is not None:
|
||||
template_overrides.change_users = [
|
||||
user.pk for user in action.assign_change_users.all()
|
||||
]
|
||||
if action.assign_change_groups is not None:
|
||||
template_overrides.change_groups = [
|
||||
group.pk for group in action.assign_change_groups.all()
|
||||
]
|
||||
if action.assign_custom_fields is not None:
|
||||
template_overrides.custom_field_ids = [
|
||||
field.pk for field in action.assign_custom_fields.all()
|
||||
]
|
||||
|
||||
overrides.update(template_overrides)
|
||||
overrides.update(template_overrides)
|
||||
return overrides
|
||||
|
||||
def _parse_title_placeholders(self, title: str) -> str:
|
||||
"""
|
||||
Consumption template title placeholders can only include items that are
|
||||
assigned as part of this template (since auto-matching hasnt happened yet)
|
||||
"""
|
||||
local_added = timezone.localtime(timezone.now())
|
||||
|
||||
correspondent_name = (
|
||||
@@ -680,20 +685,14 @@ class Consumer(LoggingMixin):
|
||||
else None
|
||||
)
|
||||
|
||||
return title.format(
|
||||
correspondent=correspondent_name,
|
||||
document_type=doc_type_name,
|
||||
added=local_added.isoformat(),
|
||||
added_year=local_added.strftime("%Y"),
|
||||
added_year_short=local_added.strftime("%y"),
|
||||
added_month=local_added.strftime("%m"),
|
||||
added_month_name=local_added.strftime("%B"),
|
||||
added_month_name_short=local_added.strftime("%b"),
|
||||
added_day=local_added.strftime("%d"),
|
||||
owner_username=owner_username,
|
||||
original_filename=Path(self.filename).stem,
|
||||
added_time=local_added.strftime("%H:%M"),
|
||||
).strip()
|
||||
return parse_doc_title_w_placeholders(
|
||||
title,
|
||||
correspondent_name,
|
||||
doc_type_name,
|
||||
owner_username,
|
||||
local_added,
|
||||
self.filename,
|
||||
)
|
||||
|
||||
def _store(
|
||||
self,
|
||||
@@ -735,7 +734,7 @@ class Consumer(LoggingMixin):
|
||||
)[:127],
|
||||
content=text,
|
||||
mime_type=mime_type,
|
||||
checksum=hashlib.md5(self.original_path.read_bytes()).hexdigest(),
|
||||
checksum=hashlib.md5(self.working_copy.read_bytes()).hexdigest(),
|
||||
created=create_date,
|
||||
modified=create_date,
|
||||
storage_type=storage_type,
|
||||
@@ -846,3 +845,47 @@ class Consumer(LoggingMixin):
|
||||
self.log.warning("Script stderr:")
|
||||
for line in stderr_str:
|
||||
self.log.warning(line)
|
||||
|
||||
|
||||
def parse_doc_title_w_placeholders(
|
||||
title: str,
|
||||
correspondent_name: str,
|
||||
doc_type_name: str,
|
||||
owner_username: str,
|
||||
local_added: datetime.datetime,
|
||||
original_filename: str,
|
||||
created: Optional[datetime.datetime] = None,
|
||||
) -> str:
|
||||
"""
|
||||
Available title placeholders for Workflows depend on what has already been assigned,
|
||||
e.g. for pre-consumption triggers created will not have been parsed yet, but it will
|
||||
for added / updated triggers
|
||||
"""
|
||||
formatting = {
|
||||
"correspondent": correspondent_name,
|
||||
"document_type": doc_type_name,
|
||||
"added": local_added.isoformat(),
|
||||
"added_year": local_added.strftime("%Y"),
|
||||
"added_year_short": local_added.strftime("%y"),
|
||||
"added_month": local_added.strftime("%m"),
|
||||
"added_month_name": local_added.strftime("%B"),
|
||||
"added_month_name_short": local_added.strftime("%b"),
|
||||
"added_day": local_added.strftime("%d"),
|
||||
"added_time": local_added.strftime("%H:%M"),
|
||||
"owner_username": owner_username,
|
||||
"original_filename": Path(original_filename).stem,
|
||||
}
|
||||
if created is not None:
|
||||
formatting.update(
|
||||
{
|
||||
"created": created.isoformat(),
|
||||
"created_year": created.strftime("%Y"),
|
||||
"created_year_short": created.strftime("%y"),
|
||||
"created_month": created.strftime("%m"),
|
||||
"created_month_name": created.strftime("%B"),
|
||||
"created_month_name_short": created.strftime("%b"),
|
||||
"created_day": created.strftime("%d"),
|
||||
"created_time": created.strftime("%H:%M"),
|
||||
},
|
||||
)
|
||||
return title.format(**formatting).strip()
|
||||
|
||||
@@ -33,21 +33,20 @@ class DocumentMetadataOverrides:
|
||||
def update(self, other: "DocumentMetadataOverrides") -> "DocumentMetadataOverrides":
|
||||
"""
|
||||
Merges two DocumentMetadataOverrides objects such that object B's overrides
|
||||
are only applied if the property is empty in object A or merged if multiple
|
||||
are accepted.
|
||||
are applied to object A or merged if multiple are accepted.
|
||||
|
||||
The update is an in-place modification of self
|
||||
"""
|
||||
# only if empty
|
||||
if self.title is None:
|
||||
if other.title is not None:
|
||||
self.title = other.title
|
||||
if self.correspondent_id is None:
|
||||
if other.correspondent_id is not None:
|
||||
self.correspondent_id = other.correspondent_id
|
||||
if self.document_type_id is None:
|
||||
if other.document_type_id is not None:
|
||||
self.document_type_id = other.document_type_id
|
||||
if self.storage_path_id is None:
|
||||
if other.storage_path_id is not None:
|
||||
self.storage_path_id = other.storage_path_id
|
||||
if self.owner_id is None:
|
||||
if other.owner_id is not None:
|
||||
self.owner_id = other.owner_id
|
||||
|
||||
# merge
|
||||
|
||||
@@ -222,7 +222,7 @@ def generate_filename(
|
||||
).strip()
|
||||
|
||||
if settings.FILENAME_FORMAT_REMOVE_NONE:
|
||||
path = path.replace("-none-/", "") # remove empty directories
|
||||
path = path.replace("/-none-/", "/") # remove empty directories
|
||||
path = path.replace(" -none-", "") # remove when spaced, with space
|
||||
path = path.replace("-none-", "") # remove rest of the occurences
|
||||
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.db.models import CharField
|
||||
from django.db.models import Count
|
||||
from django.db.models import OuterRef
|
||||
from django.db.models import Q
|
||||
from django.db.models.functions import Cast
|
||||
from django_filters.rest_framework import BooleanFilter
|
||||
from django_filters.rest_framework import Filter
|
||||
from django_filters.rest_framework import FilterSet
|
||||
@@ -10,6 +12,7 @@ from guardian.utils import get_user_obj_perms_model
|
||||
from rest_framework_guardian.filters import ObjectPermissionsFilter
|
||||
|
||||
from documents.models import Correspondent
|
||||
from documents.models import CustomField
|
||||
from documents.models import Document
|
||||
from documents.models import DocumentType
|
||||
from documents.models import Log
|
||||
@@ -119,7 +122,7 @@ class SharedByUser(Filter):
|
||||
num_shared_users=Count(
|
||||
UserObjectPermission.objects.filter(
|
||||
content_type=ctype,
|
||||
object_pk=OuterRef("pk"),
|
||||
object_pk=Cast(OuterRef("pk"), CharField()),
|
||||
).values("user_id"),
|
||||
),
|
||||
)
|
||||
@@ -127,7 +130,7 @@ class SharedByUser(Filter):
|
||||
num_shared_groups=Count(
|
||||
GroupObjectPermission.objects.filter(
|
||||
content_type=ctype,
|
||||
object_pk=OuterRef("pk"),
|
||||
object_pk=Cast(OuterRef("pk"), CharField()),
|
||||
).values("group_id"),
|
||||
),
|
||||
)
|
||||
@@ -139,6 +142,15 @@ class SharedByUser(Filter):
|
||||
)
|
||||
|
||||
|
||||
class CustomFieldFilterSet(FilterSet):
|
||||
class Meta:
|
||||
model = CustomField
|
||||
fields = {
|
||||
"id": ID_KWARGS,
|
||||
"name": CHAR_KWARGS,
|
||||
}
|
||||
|
||||
|
||||
class CustomFieldsFilter(Filter):
|
||||
def filter(self, qs, value):
|
||||
if value:
|
||||
|
||||
@@ -4,11 +4,12 @@ import os
|
||||
from collections import Counter
|
||||
from contextlib import contextmanager
|
||||
from datetime import datetime
|
||||
from datetime import timezone
|
||||
from typing import Optional
|
||||
|
||||
from dateutil.parser import isoparse
|
||||
from django.conf import settings
|
||||
from django.utils import timezone
|
||||
from django.utils import timezone as django_timezone
|
||||
from guardian.shortcuts import get_users_with_perms
|
||||
from whoosh import classify
|
||||
from whoosh import highlight
|
||||
@@ -370,7 +371,7 @@ class DelayedQuery:
|
||||
|
||||
class LocalDateParser(English):
|
||||
def reverse_timezone_offset(self, d):
|
||||
return (d.replace(tzinfo=timezone.get_current_timezone())).astimezone(
|
||||
return (d.replace(tzinfo=django_timezone.get_current_timezone())).astimezone(
|
||||
timezone.utc,
|
||||
)
|
||||
|
||||
@@ -401,7 +402,7 @@ class DelayedFullTextQuery(DelayedQuery):
|
||||
)
|
||||
qp.add_plugin(
|
||||
DateParserPlugin(
|
||||
basedate=timezone.now(),
|
||||
basedate=django_timezone.now(),
|
||||
dateparser=LocalDateParser(),
|
||||
),
|
||||
)
|
||||
|
||||
@@ -26,7 +26,7 @@ from documents.tasks import consume_file
|
||||
try:
|
||||
from inotifyrecursive import INotify
|
||||
from inotifyrecursive import flags
|
||||
except ImportError: # pragma: nocover
|
||||
except ImportError: # pragma: no cover
|
||||
INotify = flags = None
|
||||
|
||||
logger = logging.getLogger("paperless.management.consumer")
|
||||
|
||||
@@ -5,6 +5,7 @@ import shutil
|
||||
import tempfile
|
||||
import time
|
||||
from pathlib import Path
|
||||
from typing import Optional
|
||||
|
||||
import tqdm
|
||||
from django.conf import settings
|
||||
@@ -23,7 +24,6 @@ from guardian.models import UserObjectPermission
|
||||
|
||||
from documents.file_handling import delete_empty_directories
|
||||
from documents.file_handling import generate_filename
|
||||
from documents.models import ConsumptionTemplate
|
||||
from documents.models import Correspondent
|
||||
from documents.models import CustomField
|
||||
from documents.models import CustomFieldInstance
|
||||
@@ -35,12 +35,16 @@ from documents.models import SavedViewFilterRule
|
||||
from documents.models import StoragePath
|
||||
from documents.models import Tag
|
||||
from documents.models import UiSettings
|
||||
from documents.models import Workflow
|
||||
from documents.models import WorkflowAction
|
||||
from documents.models import WorkflowTrigger
|
||||
from documents.settings import EXPORTER_ARCHIVE_NAME
|
||||
from documents.settings import EXPORTER_FILE_NAME
|
||||
from documents.settings import EXPORTER_THUMBNAIL_NAME
|
||||
from documents.utils import copy_file_with_basic_stats
|
||||
from paperless import version
|
||||
from paperless.db import GnuPG
|
||||
from paperless.models import ApplicationConfiguration
|
||||
from paperless_mail.models import MailAccount
|
||||
from paperless_mail.models import MailRule
|
||||
|
||||
@@ -169,14 +173,14 @@ class Command(BaseCommand):
|
||||
self.delete: bool = options["delete"]
|
||||
self.no_archive: bool = options["no_archive"]
|
||||
self.no_thumbnail: bool = options["no_thumbnail"]
|
||||
zip_export: bool = options["zip"]
|
||||
self.zip_export: bool = options["zip"]
|
||||
|
||||
# If zipping, save the original target for later and
|
||||
# get a temporary directory for the target instead
|
||||
temp_dir = None
|
||||
original_target = None
|
||||
if zip_export:
|
||||
original_target = self.target
|
||||
self.original_target: Optional[Path] = None
|
||||
if self.zip_export:
|
||||
self.original_target = self.target
|
||||
|
||||
os.makedirs(settings.SCRATCH_DIR, exist_ok=True)
|
||||
temp_dir = tempfile.TemporaryDirectory(
|
||||
@@ -200,10 +204,10 @@ class Command(BaseCommand):
|
||||
|
||||
# We've written everything to the temporary directory in this case,
|
||||
# now make an archive in the original target, with all files stored
|
||||
if zip_export:
|
||||
if self.zip_export:
|
||||
shutil.make_archive(
|
||||
os.path.join(
|
||||
original_target,
|
||||
self.original_target,
|
||||
options["zip_name"],
|
||||
),
|
||||
format="zip",
|
||||
@@ -212,7 +216,7 @@ class Command(BaseCommand):
|
||||
|
||||
finally:
|
||||
# Always cleanup the temporary directory, if one was created
|
||||
if zip_export and temp_dir is not None:
|
||||
if self.zip_export and temp_dir is not None:
|
||||
temp_dir.cleanup()
|
||||
|
||||
def dump(self, progress_bar_disable=False):
|
||||
@@ -284,13 +288,25 @@ class Command(BaseCommand):
|
||||
)
|
||||
|
||||
manifest += json.loads(
|
||||
serializers.serialize("json", ConsumptionTemplate.objects.all()),
|
||||
serializers.serialize("json", WorkflowTrigger.objects.all()),
|
||||
)
|
||||
|
||||
manifest += json.loads(
|
||||
serializers.serialize("json", WorkflowAction.objects.all()),
|
||||
)
|
||||
|
||||
manifest += json.loads(
|
||||
serializers.serialize("json", Workflow.objects.all()),
|
||||
)
|
||||
|
||||
manifest += json.loads(
|
||||
serializers.serialize("json", CustomField.objects.all()),
|
||||
)
|
||||
|
||||
manifest += json.loads(
|
||||
serializers.serialize("json", ApplicationConfiguration.objects.all()),
|
||||
)
|
||||
|
||||
# These are treated specially and included in the per-document manifest
|
||||
# if that setting is enabled. Otherwise, they are just exported to the bulk
|
||||
# manifest
|
||||
@@ -451,14 +467,21 @@ class Command(BaseCommand):
|
||||
|
||||
if self.delete:
|
||||
# 5. Remove files which we did not explicitly export in this run
|
||||
if not self.zip_export:
|
||||
for f in self.files_in_export_dir:
|
||||
f.unlink()
|
||||
|
||||
for f in self.files_in_export_dir:
|
||||
f.unlink()
|
||||
|
||||
delete_empty_directories(
|
||||
f.parent,
|
||||
self.target,
|
||||
)
|
||||
delete_empty_directories(
|
||||
f.parent,
|
||||
self.target,
|
||||
)
|
||||
else:
|
||||
# 5. Remove anything in the original location (before moving the zip)
|
||||
for item in self.original_target.glob("*"):
|
||||
if item.is_dir():
|
||||
shutil.rmtree(item)
|
||||
else:
|
||||
item.unlink()
|
||||
|
||||
def check_and_copy(self, source, source_checksum, target: Path):
|
||||
if target in self.files_in_export_dir:
|
||||
|
||||
@@ -5,7 +5,7 @@ from django.core.management.commands.loaddata import Command as LoadDataCommand
|
||||
|
||||
# This class is used to migrate data between databases
|
||||
# That's difficult to test
|
||||
class Command(LoadDataCommand): # pragma: nocover
|
||||
class Command(LoadDataCommand): # pragma: no cover
|
||||
"""
|
||||
Allow the loading of data from standard in. Sourced originally from:
|
||||
https://gist.github.com/bmispelon/ad5a2c333443b3a1d051 (MIT licensed)
|
||||
|
||||
@@ -1,27 +1,35 @@
|
||||
import logging
|
||||
import re
|
||||
from fnmatch import fnmatch
|
||||
from typing import Union
|
||||
|
||||
from documents.classifier import DocumentClassifier
|
||||
from documents.data_models import ConsumableDocument
|
||||
from documents.data_models import DocumentSource
|
||||
from documents.models import ConsumptionTemplate
|
||||
from documents.models import Correspondent
|
||||
from documents.models import Document
|
||||
from documents.models import DocumentType
|
||||
from documents.models import MatchingModel
|
||||
from documents.models import StoragePath
|
||||
from documents.models import Tag
|
||||
from documents.models import Workflow
|
||||
from documents.models import WorkflowTrigger
|
||||
from documents.permissions import get_objects_for_user_owner_aware
|
||||
|
||||
logger = logging.getLogger("paperless.matching")
|
||||
|
||||
|
||||
def log_reason(matching_model: MatchingModel, document: Document, reason: str):
|
||||
def log_reason(
|
||||
matching_model: Union[MatchingModel, WorkflowTrigger],
|
||||
document: Document,
|
||||
reason: str,
|
||||
):
|
||||
class_name = type(matching_model).__name__
|
||||
name = (
|
||||
matching_model.name if hasattr(matching_model, "name") else str(matching_model)
|
||||
)
|
||||
logger.debug(
|
||||
f"{class_name} {matching_model.name} matched on document "
|
||||
f"{document} because {reason}",
|
||||
f"{class_name} {name} matched on document {document} because {reason}",
|
||||
)
|
||||
|
||||
|
||||
@@ -237,65 +245,185 @@ def _split_match(matching_model):
|
||||
]
|
||||
|
||||
|
||||
def document_matches_template(
|
||||
def consumable_document_matches_workflow(
|
||||
document: ConsumableDocument,
|
||||
template: ConsumptionTemplate,
|
||||
) -> bool:
|
||||
trigger: WorkflowTrigger,
|
||||
) -> tuple[bool, str]:
|
||||
"""
|
||||
Returns True if the incoming document matches all filters and
|
||||
settings from the template, False otherwise
|
||||
Returns True if the ConsumableDocument matches all filters from the workflow trigger,
|
||||
False otherwise. Includes a reason if doesn't match
|
||||
"""
|
||||
|
||||
def log_match_failure(reason: str):
|
||||
logger.info(f"Document did not match template {template.name}")
|
||||
logger.debug(reason)
|
||||
trigger_matched = True
|
||||
reason = ""
|
||||
|
||||
# Document source vs template source
|
||||
if document.source not in [int(x) for x in list(template.sources)]:
|
||||
log_match_failure(
|
||||
# Document source vs trigger source
|
||||
if document.source not in [int(x) for x in list(trigger.sources)]:
|
||||
reason = (
|
||||
f"Document source {document.source.name} not in"
|
||||
f" {[DocumentSource(int(x)).name for x in template.sources]}",
|
||||
f" {[DocumentSource(int(x)).name for x in trigger.sources]}",
|
||||
)
|
||||
return False
|
||||
trigger_matched = False
|
||||
|
||||
# Document mail rule vs template mail rule
|
||||
# Document mail rule vs trigger mail rule
|
||||
if (
|
||||
document.mailrule_id is not None
|
||||
and template.filter_mailrule is not None
|
||||
and document.mailrule_id != template.filter_mailrule.pk
|
||||
and trigger.filter_mailrule is not None
|
||||
and document.mailrule_id != trigger.filter_mailrule.pk
|
||||
):
|
||||
log_match_failure(
|
||||
reason = (
|
||||
f"Document mail rule {document.mailrule_id}"
|
||||
f" != {template.filter_mailrule.pk}",
|
||||
f" != {trigger.filter_mailrule.pk}",
|
||||
)
|
||||
return False
|
||||
trigger_matched = False
|
||||
|
||||
# Document filename vs template filename
|
||||
# Document filename vs trigger filename
|
||||
if (
|
||||
template.filter_filename is not None
|
||||
and len(template.filter_filename) > 0
|
||||
trigger.filter_filename is not None
|
||||
and len(trigger.filter_filename) > 0
|
||||
and not fnmatch(
|
||||
document.original_file.name.lower(),
|
||||
template.filter_filename.lower(),
|
||||
trigger.filter_filename.lower(),
|
||||
)
|
||||
):
|
||||
log_match_failure(
|
||||
reason = (
|
||||
f"Document filename {document.original_file.name} does not match"
|
||||
f" {template.filter_filename.lower()}",
|
||||
f" {trigger.filter_filename.lower()}",
|
||||
)
|
||||
return False
|
||||
trigger_matched = False
|
||||
|
||||
# Document path vs template path
|
||||
# Document path vs trigger path
|
||||
if (
|
||||
template.filter_path is not None
|
||||
and len(template.filter_path) > 0
|
||||
and not document.original_file.match(template.filter_path)
|
||||
):
|
||||
log_match_failure(
|
||||
f"Document path {document.original_file}"
|
||||
f" does not match {template.filter_path}",
|
||||
trigger.filter_path is not None
|
||||
and len(trigger.filter_path) > 0
|
||||
and not fnmatch(
|
||||
document.original_file,
|
||||
trigger.filter_path,
|
||||
)
|
||||
return False
|
||||
):
|
||||
reason = (
|
||||
f"Document path {document.original_file}"
|
||||
f" does not match {trigger.filter_path}",
|
||||
)
|
||||
trigger_matched = False
|
||||
|
||||
logger.info(f"Document matched template {template.name}")
|
||||
return True
|
||||
return (trigger_matched, reason)
|
||||
|
||||
|
||||
def existing_document_matches_workflow(
|
||||
document: Document,
|
||||
trigger: WorkflowTrigger,
|
||||
) -> tuple[bool, str]:
|
||||
"""
|
||||
Returns True if the Document matches all filters from the workflow trigger,
|
||||
False otherwise. Includes a reason if doesn't match
|
||||
"""
|
||||
|
||||
trigger_matched = True
|
||||
reason = ""
|
||||
|
||||
if trigger.matching_algorithm > MatchingModel.MATCH_NONE and not matches(
|
||||
trigger,
|
||||
document,
|
||||
):
|
||||
reason = (
|
||||
f"Document content matching settings for algorithm '{trigger.matching_algorithm}' did not match",
|
||||
)
|
||||
trigger_matched = False
|
||||
|
||||
# Document tags vs trigger has_tags
|
||||
if (
|
||||
trigger.filter_has_tags.all().count() > 0
|
||||
and document.tags.filter(
|
||||
id__in=trigger.filter_has_tags.all().values_list("id"),
|
||||
).count()
|
||||
== 0
|
||||
):
|
||||
reason = (
|
||||
f"Document tags {document.tags.all()} do not include"
|
||||
f" {trigger.filter_has_tags.all()}",
|
||||
)
|
||||
trigger_matched = False
|
||||
|
||||
# Document correpondent vs trigger has_correspondent
|
||||
if (
|
||||
trigger.filter_has_correspondent is not None
|
||||
and document.correspondent != trigger.filter_has_correspondent
|
||||
):
|
||||
reason = (
|
||||
f"Document correspondent {document.correspondent} does not match {trigger.filter_has_correspondent}",
|
||||
)
|
||||
trigger_matched = False
|
||||
|
||||
# Document document_type vs trigger has_document_type
|
||||
if (
|
||||
trigger.filter_has_document_type is not None
|
||||
and document.document_type != trigger.filter_has_document_type
|
||||
):
|
||||
reason = (
|
||||
f"Document doc type {document.document_type} does not match {trigger.filter_has_document_type}",
|
||||
)
|
||||
trigger_matched = False
|
||||
|
||||
# Document original_filename vs trigger filename
|
||||
if (
|
||||
trigger.filter_filename is not None
|
||||
and len(trigger.filter_filename) > 0
|
||||
and document.original_filename is not None
|
||||
and not fnmatch(
|
||||
document.original_filename.lower(),
|
||||
trigger.filter_filename.lower(),
|
||||
)
|
||||
):
|
||||
reason = (
|
||||
f"Document filename {document.original_filename} does not match"
|
||||
f" {trigger.filter_filename.lower()}",
|
||||
)
|
||||
trigger_matched = False
|
||||
|
||||
return (trigger_matched, reason)
|
||||
|
||||
|
||||
def document_matches_workflow(
|
||||
document: Union[ConsumableDocument, Document],
|
||||
workflow: Workflow,
|
||||
trigger_type: WorkflowTrigger.WorkflowTriggerType,
|
||||
) -> bool:
|
||||
"""
|
||||
Returns True if the ConsumableDocument or Document matches all filters and
|
||||
settings from the workflow trigger, False otherwise
|
||||
"""
|
||||
|
||||
trigger_matched = True
|
||||
if workflow.triggers.filter(type=trigger_type).count() == 0:
|
||||
trigger_matched = False
|
||||
logger.info(f"Document did not match {workflow}")
|
||||
logger.debug(f"No matching triggers with type {trigger_type} found")
|
||||
else:
|
||||
for trigger in workflow.triggers.filter(type=trigger_type):
|
||||
if trigger_type == WorkflowTrigger.WorkflowTriggerType.CONSUMPTION:
|
||||
trigger_matched, reason = consumable_document_matches_workflow(
|
||||
document,
|
||||
trigger,
|
||||
)
|
||||
elif (
|
||||
trigger_type == WorkflowTrigger.WorkflowTriggerType.DOCUMENT_ADDED
|
||||
or trigger_type == WorkflowTrigger.WorkflowTriggerType.DOCUMENT_UPDATED
|
||||
):
|
||||
trigger_matched, reason = existing_document_matches_workflow(
|
||||
document,
|
||||
trigger,
|
||||
)
|
||||
else:
|
||||
# New trigger types need to be explicitly checked above
|
||||
raise Exception(f"Trigger type {trigger_type} not yet supported")
|
||||
|
||||
if trigger_matched:
|
||||
logger.info(f"Document matched {trigger} from {workflow}")
|
||||
# matched, bail early
|
||||
return True
|
||||
else:
|
||||
logger.info(f"Document did not match {workflow}")
|
||||
logger.debug(reason)
|
||||
|
||||
return trigger_matched
|
||||
|
||||
@@ -0,0 +1,513 @@
|
||||
# Generated by Django 4.2.7 on 2023-12-23 22:51
|
||||
|
||||
import django.db.models.deletion
|
||||
import multiselectfield.db.fields
|
||||
from django.conf import settings
|
||||
from django.contrib.auth.management import create_permissions
|
||||
from django.contrib.auth.models import Group
|
||||
from django.contrib.auth.models import Permission
|
||||
from django.contrib.auth.models import User
|
||||
from django.db import migrations
|
||||
from django.db import models
|
||||
from django.db import transaction
|
||||
from django.db.models import Q
|
||||
|
||||
from documents.models import Correspondent
|
||||
from documents.models import CustomField
|
||||
from documents.models import DocumentType
|
||||
from documents.models import StoragePath
|
||||
from documents.models import Tag
|
||||
from documents.models import Workflow
|
||||
from documents.models import WorkflowAction
|
||||
from documents.models import WorkflowTrigger
|
||||
from paperless_mail.models import MailRule
|
||||
|
||||
|
||||
def add_workflow_permissions(apps, schema_editor):
|
||||
# create permissions without waiting for post_migrate signal
|
||||
for app_config in apps.get_app_configs():
|
||||
app_config.models_module = True
|
||||
create_permissions(app_config, apps=apps, verbosity=0)
|
||||
app_config.models_module = None
|
||||
|
||||
add_permission = Permission.objects.get(codename="add_document")
|
||||
workflow_permissions = Permission.objects.filter(
|
||||
codename__contains="workflow",
|
||||
)
|
||||
|
||||
for user in User.objects.filter(Q(user_permissions=add_permission)).distinct():
|
||||
user.user_permissions.add(*workflow_permissions)
|
||||
|
||||
for group in Group.objects.filter(Q(permissions=add_permission)).distinct():
|
||||
group.permissions.add(*workflow_permissions)
|
||||
|
||||
|
||||
def remove_workflow_permissions(apps, schema_editor):
|
||||
workflow_permissions = Permission.objects.filter(
|
||||
codename__contains="workflow",
|
||||
)
|
||||
|
||||
for user in User.objects.all():
|
||||
user.user_permissions.remove(*workflow_permissions)
|
||||
|
||||
for group in Group.objects.all():
|
||||
group.permissions.remove(*workflow_permissions)
|
||||
|
||||
|
||||
def migrate_consumption_templates(apps, schema_editor):
|
||||
"""
|
||||
Migrate consumption templates to workflows. At this point ConsumptionTemplate still exists
|
||||
but objects are not returned as their true model so we have to manually do that
|
||||
"""
|
||||
model_name = "ConsumptionTemplate"
|
||||
app_name = "documents"
|
||||
|
||||
ConsumptionTemplate = apps.get_model(app_label=app_name, model_name=model_name)
|
||||
|
||||
with transaction.atomic():
|
||||
for template in ConsumptionTemplate.objects.all():
|
||||
trigger = WorkflowTrigger(
|
||||
type=WorkflowTrigger.WorkflowTriggerType.CONSUMPTION,
|
||||
sources=template.sources,
|
||||
filter_path=template.filter_path,
|
||||
filter_filename=template.filter_filename,
|
||||
)
|
||||
if template.filter_mailrule is not None:
|
||||
trigger.filter_mailrule = MailRule.objects.get(
|
||||
id=template.filter_mailrule.id,
|
||||
)
|
||||
trigger.save()
|
||||
|
||||
action = WorkflowAction.objects.create(
|
||||
assign_title=template.assign_title,
|
||||
)
|
||||
if template.assign_document_type is not None:
|
||||
action.assign_document_type = DocumentType.objects.get(
|
||||
id=template.assign_document_type.id,
|
||||
)
|
||||
if template.assign_correspondent is not None:
|
||||
action.assign_correspondent = Correspondent.objects.get(
|
||||
id=template.assign_correspondent.id,
|
||||
)
|
||||
if template.assign_storage_path is not None:
|
||||
action.assign_storage_path = StoragePath.objects.get(
|
||||
id=template.assign_storage_path.id,
|
||||
)
|
||||
if template.assign_owner is not None:
|
||||
action.assign_owner = User.objects.get(id=template.assign_owner.id)
|
||||
if template.assign_tags is not None:
|
||||
action.assign_tags.set(
|
||||
Tag.objects.filter(
|
||||
id__in=[t.id for t in template.assign_tags.all()],
|
||||
).all(),
|
||||
)
|
||||
if template.assign_view_users is not None:
|
||||
action.assign_view_users.set(
|
||||
User.objects.filter(
|
||||
id__in=[u.id for u in template.assign_view_users.all()],
|
||||
).all(),
|
||||
)
|
||||
if template.assign_view_groups is not None:
|
||||
action.assign_view_groups.set(
|
||||
Group.objects.filter(
|
||||
id__in=[g.id for g in template.assign_view_groups.all()],
|
||||
).all(),
|
||||
)
|
||||
if template.assign_change_users is not None:
|
||||
action.assign_change_users.set(
|
||||
User.objects.filter(
|
||||
id__in=[u.id for u in template.assign_change_users.all()],
|
||||
).all(),
|
||||
)
|
||||
if template.assign_change_groups is not None:
|
||||
action.assign_change_groups.set(
|
||||
Group.objects.filter(
|
||||
id__in=[g.id for g in template.assign_change_groups.all()],
|
||||
).all(),
|
||||
)
|
||||
if template.assign_custom_fields is not None:
|
||||
action.assign_custom_fields.set(
|
||||
CustomField.objects.filter(
|
||||
id__in=[cf.id for cf in template.assign_custom_fields.all()],
|
||||
).all(),
|
||||
)
|
||||
action.save()
|
||||
|
||||
workflow = Workflow.objects.create(
|
||||
name=template.name,
|
||||
order=template.order,
|
||||
)
|
||||
workflow.triggers.set([trigger])
|
||||
workflow.actions.set([action])
|
||||
workflow.save()
|
||||
|
||||
|
||||
def unmigrate_consumption_templates(apps, schema_editor):
|
||||
model_name = "ConsumptionTemplate"
|
||||
app_name = "documents"
|
||||
|
||||
ConsumptionTemplate = apps.get_model(app_label=app_name, model_name=model_name)
|
||||
|
||||
for workflow in Workflow.objects.all():
|
||||
template = ConsumptionTemplate.objects.create(
|
||||
name=workflow.name,
|
||||
order=workflow.order,
|
||||
sources=workflow.triggers.first().sources,
|
||||
filter_path=workflow.triggers.first().filter_path,
|
||||
filter_filename=workflow.triggers.first().filter_filename,
|
||||
filter_mailrule=workflow.triggers.first().filter_mailrule,
|
||||
assign_title=workflow.actions.first().assign_title,
|
||||
assign_document_type=workflow.actions.first().assign_document_type,
|
||||
assign_correspondent=workflow.actions.first().assign_correspondent,
|
||||
assign_storage_path=workflow.actions.first().assign_storage_path,
|
||||
assign_owner=workflow.actions.first().assign_owner,
|
||||
)
|
||||
template.assign_tags.set(workflow.actions.first().assign_tags.all())
|
||||
template.assign_view_users.set(workflow.actions.first().assign_view_users.all())
|
||||
template.assign_view_groups.set(
|
||||
workflow.actions.first().assign_view_groups.all(),
|
||||
)
|
||||
template.assign_change_users.set(
|
||||
workflow.actions.first().assign_change_users.all(),
|
||||
)
|
||||
template.assign_change_groups.set(
|
||||
workflow.actions.first().assign_change_groups.all(),
|
||||
)
|
||||
template.assign_custom_fields.set(
|
||||
workflow.actions.first().assign_custom_fields.all(),
|
||||
)
|
||||
template.save()
|
||||
|
||||
|
||||
def delete_consumption_template_content_type(apps, schema_editor):
|
||||
with transaction.atomic():
|
||||
apps.get_model("contenttypes", "ContentType").objects.filter(
|
||||
app_label="documents",
|
||||
model="consumptiontemplate",
|
||||
).delete()
|
||||
|
||||
|
||||
def undelete_consumption_template_content_type(apps, schema_editor):
|
||||
apps.get_model("contenttypes", "ContentType").objects.create(
|
||||
app_label="documents",
|
||||
model="consumptiontemplate",
|
||||
)
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
dependencies = [
|
||||
("paperless_mail", "0023_remove_mailrule_filter_attachment_filename_and_more"),
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
("auth", "0012_alter_user_first_name_max_length"),
|
||||
("documents", "1043_alter_savedviewfilterrule_rule_type"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name="Workflow",
|
||||
fields=[
|
||||
(
|
||||
"id",
|
||||
models.AutoField(
|
||||
auto_created=True,
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
verbose_name="ID",
|
||||
),
|
||||
),
|
||||
(
|
||||
"name",
|
||||
models.CharField(max_length=256, unique=True, verbose_name="name"),
|
||||
),
|
||||
("order", models.IntegerField(default=0, verbose_name="order")),
|
||||
(
|
||||
"enabled",
|
||||
models.BooleanField(default=True, verbose_name="enabled"),
|
||||
),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="WorkflowAction",
|
||||
fields=[
|
||||
(
|
||||
"id",
|
||||
models.AutoField(
|
||||
auto_created=True,
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
verbose_name="ID",
|
||||
),
|
||||
),
|
||||
(
|
||||
"type",
|
||||
models.PositiveIntegerField(
|
||||
choices=[(1, "Assignment")],
|
||||
default=1,
|
||||
verbose_name="Workflow Action Type",
|
||||
),
|
||||
),
|
||||
(
|
||||
"assign_title",
|
||||
models.CharField(
|
||||
blank=True,
|
||||
help_text="Assign a document title, can include some placeholders, see documentation.",
|
||||
max_length=256,
|
||||
null=True,
|
||||
verbose_name="assign title",
|
||||
),
|
||||
),
|
||||
(
|
||||
"assign_change_groups",
|
||||
models.ManyToManyField(
|
||||
blank=True,
|
||||
related_name="+",
|
||||
to="auth.group",
|
||||
verbose_name="grant change permissions to these groups",
|
||||
),
|
||||
),
|
||||
(
|
||||
"assign_change_users",
|
||||
models.ManyToManyField(
|
||||
blank=True,
|
||||
related_name="+",
|
||||
to=settings.AUTH_USER_MODEL,
|
||||
verbose_name="grant change permissions to these users",
|
||||
),
|
||||
),
|
||||
(
|
||||
"assign_correspondent",
|
||||
models.ForeignKey(
|
||||
blank=True,
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.SET_NULL,
|
||||
to="documents.correspondent",
|
||||
verbose_name="assign this correspondent",
|
||||
),
|
||||
),
|
||||
(
|
||||
"assign_custom_fields",
|
||||
models.ManyToManyField(
|
||||
blank=True,
|
||||
related_name="+",
|
||||
to="documents.customfield",
|
||||
verbose_name="assign these custom fields",
|
||||
),
|
||||
),
|
||||
(
|
||||
"assign_document_type",
|
||||
models.ForeignKey(
|
||||
blank=True,
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.SET_NULL,
|
||||
to="documents.documenttype",
|
||||
verbose_name="assign this document type",
|
||||
),
|
||||
),
|
||||
(
|
||||
"assign_owner",
|
||||
models.ForeignKey(
|
||||
blank=True,
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.SET_NULL,
|
||||
related_name="+",
|
||||
to=settings.AUTH_USER_MODEL,
|
||||
verbose_name="assign this owner",
|
||||
),
|
||||
),
|
||||
(
|
||||
"assign_storage_path",
|
||||
models.ForeignKey(
|
||||
blank=True,
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.SET_NULL,
|
||||
to="documents.storagepath",
|
||||
verbose_name="assign this storage path",
|
||||
),
|
||||
),
|
||||
(
|
||||
"assign_tags",
|
||||
models.ManyToManyField(
|
||||
blank=True,
|
||||
to="documents.tag",
|
||||
verbose_name="assign this tag",
|
||||
),
|
||||
),
|
||||
(
|
||||
"assign_view_groups",
|
||||
models.ManyToManyField(
|
||||
blank=True,
|
||||
related_name="+",
|
||||
to="auth.group",
|
||||
verbose_name="grant view permissions to these groups",
|
||||
),
|
||||
),
|
||||
(
|
||||
"assign_view_users",
|
||||
models.ManyToManyField(
|
||||
blank=True,
|
||||
related_name="+",
|
||||
to=settings.AUTH_USER_MODEL,
|
||||
verbose_name="grant view permissions to these users",
|
||||
),
|
||||
),
|
||||
],
|
||||
options={
|
||||
"verbose_name": "workflow action",
|
||||
"verbose_name_plural": "workflow actions",
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name="WorkflowTrigger",
|
||||
fields=[
|
||||
(
|
||||
"id",
|
||||
models.AutoField(
|
||||
auto_created=True,
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
verbose_name="ID",
|
||||
),
|
||||
),
|
||||
(
|
||||
"type",
|
||||
models.PositiveIntegerField(
|
||||
choices=[
|
||||
(1, "Consumption Started"),
|
||||
(2, "Document Added"),
|
||||
(3, "Document Updated"),
|
||||
],
|
||||
default=1,
|
||||
verbose_name="Workflow Trigger Type",
|
||||
),
|
||||
),
|
||||
(
|
||||
"sources",
|
||||
multiselectfield.db.fields.MultiSelectField(
|
||||
choices=[
|
||||
(1, "Consume Folder"),
|
||||
(2, "Api Upload"),
|
||||
(3, "Mail Fetch"),
|
||||
],
|
||||
default="1,2,3",
|
||||
max_length=5,
|
||||
),
|
||||
),
|
||||
(
|
||||
"filter_path",
|
||||
models.CharField(
|
||||
blank=True,
|
||||
help_text="Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive.",
|
||||
max_length=256,
|
||||
null=True,
|
||||
verbose_name="filter path",
|
||||
),
|
||||
),
|
||||
(
|
||||
"filter_filename",
|
||||
models.CharField(
|
||||
blank=True,
|
||||
help_text="Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive.",
|
||||
max_length=256,
|
||||
null=True,
|
||||
verbose_name="filter filename",
|
||||
),
|
||||
),
|
||||
(
|
||||
"filter_mailrule",
|
||||
models.ForeignKey(
|
||||
blank=True,
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.SET_NULL,
|
||||
to="paperless_mail.mailrule",
|
||||
verbose_name="filter documents from this mail rule",
|
||||
),
|
||||
),
|
||||
(
|
||||
"matching_algorithm",
|
||||
models.PositiveIntegerField(
|
||||
choices=[
|
||||
(0, "None"),
|
||||
(1, "Any word"),
|
||||
(2, "All words"),
|
||||
(3, "Exact match"),
|
||||
(4, "Regular expression"),
|
||||
(5, "Fuzzy word"),
|
||||
],
|
||||
default=0,
|
||||
verbose_name="matching algorithm",
|
||||
),
|
||||
),
|
||||
(
|
||||
"match",
|
||||
models.CharField(blank=True, max_length=256, verbose_name="match"),
|
||||
),
|
||||
(
|
||||
"is_insensitive",
|
||||
models.BooleanField(default=True, verbose_name="is insensitive"),
|
||||
),
|
||||
(
|
||||
"filter_has_tags",
|
||||
models.ManyToManyField(
|
||||
blank=True,
|
||||
to="documents.tag",
|
||||
verbose_name="has these tag(s)",
|
||||
),
|
||||
),
|
||||
(
|
||||
"filter_has_document_type",
|
||||
models.ForeignKey(
|
||||
blank=True,
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.SET_NULL,
|
||||
to="documents.documenttype",
|
||||
verbose_name="has this document type",
|
||||
),
|
||||
),
|
||||
(
|
||||
"filter_has_correspondent",
|
||||
models.ForeignKey(
|
||||
blank=True,
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.SET_NULL,
|
||||
to="documents.correspondent",
|
||||
verbose_name="has this correspondent",
|
||||
),
|
||||
),
|
||||
],
|
||||
options={
|
||||
"verbose_name": "workflow trigger",
|
||||
"verbose_name_plural": "workflow triggers",
|
||||
},
|
||||
),
|
||||
migrations.RunPython(
|
||||
add_workflow_permissions,
|
||||
remove_workflow_permissions,
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="workflow",
|
||||
name="actions",
|
||||
field=models.ManyToManyField(
|
||||
related_name="workflows",
|
||||
to="documents.workflowaction",
|
||||
verbose_name="actions",
|
||||
),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="workflow",
|
||||
name="triggers",
|
||||
field=models.ManyToManyField(
|
||||
related_name="workflows",
|
||||
to="documents.workflowtrigger",
|
||||
verbose_name="triggers",
|
||||
),
|
||||
),
|
||||
migrations.RunPython(
|
||||
migrate_consumption_templates,
|
||||
unmigrate_consumption_templates,
|
||||
),
|
||||
migrations.DeleteModel("ConsumptionTemplate"),
|
||||
migrations.RunPython(
|
||||
delete_consumption_template_content_type,
|
||||
undelete_consumption_template_content_type,
|
||||
),
|
||||
]
|
||||
@@ -888,15 +888,31 @@ if settings.AUDIT_LOG_ENABLED:
|
||||
auditlog.register(CustomFieldInstance)
|
||||
|
||||
|
||||
class ConsumptionTemplate(models.Model):
|
||||
class WorkflowTrigger(models.Model):
|
||||
class WorkflowTriggerMatching(models.IntegerChoices):
|
||||
# No auto matching
|
||||
NONE = MatchingModel.MATCH_NONE, _("None")
|
||||
ANY = MatchingModel.MATCH_ANY, _("Any word")
|
||||
ALL = MatchingModel.MATCH_ALL, _("All words")
|
||||
LITERAL = MatchingModel.MATCH_LITERAL, _("Exact match")
|
||||
REGEX = MatchingModel.MATCH_REGEX, _("Regular expression")
|
||||
FUZZY = MatchingModel.MATCH_FUZZY, _("Fuzzy word")
|
||||
|
||||
class WorkflowTriggerType(models.IntegerChoices):
|
||||
CONSUMPTION = 1, _("Consumption Started")
|
||||
DOCUMENT_ADDED = 2, _("Document Added")
|
||||
DOCUMENT_UPDATED = 3, _("Document Updated")
|
||||
|
||||
class DocumentSourceChoices(models.IntegerChoices):
|
||||
CONSUME_FOLDER = DocumentSource.ConsumeFolder.value, _("Consume Folder")
|
||||
API_UPLOAD = DocumentSource.ApiUpload.value, _("Api Upload")
|
||||
MAIL_FETCH = DocumentSource.MailFetch.value, _("Mail Fetch")
|
||||
|
||||
name = models.CharField(_("name"), max_length=256, unique=True)
|
||||
|
||||
order = models.IntegerField(_("order"), default=0)
|
||||
type = models.PositiveIntegerField(
|
||||
_("Workflow Trigger Type"),
|
||||
choices=WorkflowTriggerType.choices,
|
||||
default=WorkflowTriggerType.CONSUMPTION,
|
||||
)
|
||||
|
||||
sources = MultiSelectField(
|
||||
max_length=5,
|
||||
@@ -936,6 +952,56 @@ class ConsumptionTemplate(models.Model):
|
||||
verbose_name=_("filter documents from this mail rule"),
|
||||
)
|
||||
|
||||
match = models.CharField(_("match"), max_length=256, blank=True)
|
||||
|
||||
matching_algorithm = models.PositiveIntegerField(
|
||||
_("matching algorithm"),
|
||||
choices=WorkflowTriggerMatching.choices,
|
||||
default=WorkflowTriggerMatching.NONE,
|
||||
)
|
||||
|
||||
is_insensitive = models.BooleanField(_("is insensitive"), default=True)
|
||||
|
||||
filter_has_tags = models.ManyToManyField(
|
||||
Tag,
|
||||
blank=True,
|
||||
verbose_name=_("has these tag(s)"),
|
||||
)
|
||||
|
||||
filter_has_document_type = models.ForeignKey(
|
||||
DocumentType,
|
||||
null=True,
|
||||
blank=True,
|
||||
on_delete=models.SET_NULL,
|
||||
verbose_name=_("has this document type"),
|
||||
)
|
||||
|
||||
filter_has_correspondent = models.ForeignKey(
|
||||
Correspondent,
|
||||
null=True,
|
||||
blank=True,
|
||||
on_delete=models.SET_NULL,
|
||||
verbose_name=_("has this correspondent"),
|
||||
)
|
||||
|
||||
class Meta:
|
||||
verbose_name = _("workflow trigger")
|
||||
verbose_name_plural = _("workflow triggers")
|
||||
|
||||
def __str__(self):
|
||||
return f"WorkflowTrigger {self.pk}"
|
||||
|
||||
|
||||
class WorkflowAction(models.Model):
|
||||
class WorkflowActionType(models.IntegerChoices):
|
||||
ASSIGNMENT = 1, _("Assignment")
|
||||
|
||||
type = models.PositiveIntegerField(
|
||||
_("Workflow Action Type"),
|
||||
choices=WorkflowActionType.choices,
|
||||
default=WorkflowActionType.ASSIGNMENT,
|
||||
)
|
||||
|
||||
assign_title = models.CharField(
|
||||
_("assign title"),
|
||||
max_length=256,
|
||||
@@ -1022,8 +1088,33 @@ class ConsumptionTemplate(models.Model):
|
||||
)
|
||||
|
||||
class Meta:
|
||||
verbose_name = _("consumption template")
|
||||
verbose_name_plural = _("consumption templates")
|
||||
verbose_name = _("workflow action")
|
||||
verbose_name_plural = _("workflow actions")
|
||||
|
||||
def __str__(self):
|
||||
return f"{self.name}"
|
||||
return f"WorkflowAction {self.pk}"
|
||||
|
||||
|
||||
class Workflow(models.Model):
|
||||
name = models.CharField(_("name"), max_length=256, unique=True)
|
||||
|
||||
order = models.IntegerField(_("order"), default=0)
|
||||
|
||||
triggers = models.ManyToManyField(
|
||||
WorkflowTrigger,
|
||||
related_name="workflows",
|
||||
blank=False,
|
||||
verbose_name=_("triggers"),
|
||||
)
|
||||
|
||||
actions = models.ManyToManyField(
|
||||
WorkflowAction,
|
||||
related_name="workflows",
|
||||
blank=False,
|
||||
verbose_name=_("actions"),
|
||||
)
|
||||
|
||||
enabled = models.BooleanField(_("enabled"), default=True)
|
||||
|
||||
def __str__(self):
|
||||
return f"Workflow: {self.name}"
|
||||
|
||||
@@ -125,8 +125,10 @@ def get_parser_class_for_mime_type(mime_type: str) -> Optional[type["DocumentPar
|
||||
if not options:
|
||||
return None
|
||||
|
||||
best_parser = sorted(options, key=lambda _: _["weight"], reverse=True)[0]
|
||||
|
||||
# Return the parser with the highest weight.
|
||||
return sorted(options, key=lambda _: _["weight"], reverse=True)[0]["parser"]
|
||||
return best_parser["parser"]
|
||||
|
||||
|
||||
def run_convert(
|
||||
@@ -318,8 +320,11 @@ class DocumentParser(LoggingMixin):
|
||||
def __init__(self, logging_group, progress_callback=None):
|
||||
super().__init__()
|
||||
self.logging_group = logging_group
|
||||
self.settings = self.get_settings()
|
||||
os.makedirs(settings.SCRATCH_DIR, exist_ok=True)
|
||||
self.tempdir = tempfile.mkdtemp(prefix="paperless-", dir=settings.SCRATCH_DIR)
|
||||
self.tempdir = Path(
|
||||
tempfile.mkdtemp(prefix="paperless-", dir=settings.SCRATCH_DIR),
|
||||
)
|
||||
|
||||
self.archive_path = None
|
||||
self.text = None
|
||||
@@ -330,6 +335,12 @@ class DocumentParser(LoggingMixin):
|
||||
if self.progress_callback:
|
||||
self.progress_callback(current_progress, max_progress)
|
||||
|
||||
def get_settings(self): # pragma: no cover
|
||||
"""
|
||||
A parser must implement this
|
||||
"""
|
||||
raise NotImplementedError
|
||||
|
||||
def read_file_handle_unicode_errors(self, filepath: Path) -> str:
|
||||
"""
|
||||
Helper utility for reading from a file, and handling a problem with its
|
||||
|
||||
@@ -2,6 +2,7 @@ import datetime
|
||||
import math
|
||||
import re
|
||||
import zoneinfo
|
||||
from decimal import Decimal
|
||||
|
||||
import magic
|
||||
from celery import states
|
||||
@@ -9,7 +10,9 @@ from django.conf import settings
|
||||
from django.contrib.auth.models import Group
|
||||
from django.contrib.auth.models import User
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.core.validators import URLValidator
|
||||
from django.core.validators import DecimalValidator
|
||||
from django.core.validators import MaxLengthValidator
|
||||
from django.core.validators import integer_validator
|
||||
from django.utils.crypto import get_random_string
|
||||
from django.utils.text import slugify
|
||||
from django.utils.translation import gettext as _
|
||||
@@ -24,7 +27,6 @@ from rest_framework.fields import SerializerMethodField
|
||||
|
||||
from documents import bulk_edit
|
||||
from documents.data_models import DocumentSource
|
||||
from documents.models import ConsumptionTemplate
|
||||
from documents.models import Correspondent
|
||||
from documents.models import CustomField
|
||||
from documents.models import CustomFieldInstance
|
||||
@@ -38,9 +40,13 @@ from documents.models import ShareLink
|
||||
from documents.models import StoragePath
|
||||
from documents.models import Tag
|
||||
from documents.models import UiSettings
|
||||
from documents.models import Workflow
|
||||
from documents.models import WorkflowAction
|
||||
from documents.models import WorkflowTrigger
|
||||
from documents.parsers import is_mime_type_supported
|
||||
from documents.permissions import get_groups_with_only_permission
|
||||
from documents.permissions import set_permissions_for_object
|
||||
from documents.validators import uri_validator
|
||||
|
||||
|
||||
# https://www.django-rest-framework.org/api-guide/serializers/#example
|
||||
@@ -489,13 +495,29 @@ class CustomFieldInstanceSerializer(serializers.ModelSerializer):
|
||||
|
||||
def validate(self, data):
|
||||
"""
|
||||
For some reason, URLField validation is not run against the value
|
||||
automatically. Force it to run against the value
|
||||
Probably because we're kind of doing it odd, validation from the model
|
||||
doesn't run against the field "value", so we have to re-create it here.
|
||||
|
||||
Don't like it, but it is better than returning an HTTP 500 when the database
|
||||
hates the value
|
||||
"""
|
||||
data = super().validate(data)
|
||||
field: CustomField = data["field"]
|
||||
if field.data_type == CustomField.FieldDataType.URL:
|
||||
URLValidator()(data["value"])
|
||||
if "value" in data and data["value"] is not None:
|
||||
if (
|
||||
field.data_type == CustomField.FieldDataType.URL
|
||||
and len(data["value"]) > 0
|
||||
):
|
||||
uri_validator(data["value"])
|
||||
elif field.data_type == CustomField.FieldDataType.INT:
|
||||
integer_validator(data["value"])
|
||||
elif field.data_type == CustomField.FieldDataType.MONETARY:
|
||||
DecimalValidator(max_digits=12, decimal_places=2)(
|
||||
Decimal(str(data["value"])),
|
||||
)
|
||||
elif field.data_type == CustomField.FieldDataType.STRING:
|
||||
MaxLengthValidator(limit_value=128)(data["value"])
|
||||
|
||||
return data
|
||||
|
||||
def reflect_doclinks(
|
||||
@@ -507,6 +529,10 @@ class CustomFieldInstanceSerializer(serializers.ModelSerializer):
|
||||
"""
|
||||
Add or remove 'symmetrical' links to `document` on all `target_doc_ids`
|
||||
"""
|
||||
|
||||
if target_doc_ids is None:
|
||||
target_doc_ids = []
|
||||
|
||||
# Check if any documents are going to be removed from the current list of links and remove the symmetrical links
|
||||
current_field_instance = CustomFieldInstance.objects.filter(
|
||||
field=field,
|
||||
@@ -520,9 +546,6 @@ class CustomFieldInstanceSerializer(serializers.ModelSerializer):
|
||||
if doc_id not in target_doc_ids:
|
||||
self.remove_doclink(document, field, doc_id)
|
||||
|
||||
if target_doc_ids is None:
|
||||
target_doc_ids = []
|
||||
|
||||
# Create an instance if target doc doesnt have this field or append it to an existing one
|
||||
existing_custom_field_instances = {
|
||||
custom_field.document_id: custom_field
|
||||
@@ -545,6 +568,9 @@ class CustomFieldInstanceSerializer(serializers.ModelSerializer):
|
||||
value_document_ids=[document.id],
|
||||
),
|
||||
)
|
||||
elif target_doc_field_instance.value is None:
|
||||
target_doc_field_instance.value_document_ids = [document.id]
|
||||
custom_field_instances_to_update.append(target_doc_field_instance)
|
||||
elif document.id not in target_doc_field_instance.value:
|
||||
target_doc_field_instance.value_document_ids.append(document.id)
|
||||
custom_field_instances_to_update.append(target_doc_field_instance)
|
||||
@@ -940,6 +966,14 @@ class PostDocumentSerializer(serializers.Serializer):
|
||||
required=False,
|
||||
)
|
||||
|
||||
storage_path = serializers.PrimaryKeyRelatedField(
|
||||
queryset=StoragePath.objects.all(),
|
||||
label="Storage path",
|
||||
allow_null=True,
|
||||
write_only=True,
|
||||
required=False,
|
||||
)
|
||||
|
||||
tags = serializers.PrimaryKeyRelatedField(
|
||||
many=True,
|
||||
queryset=Tag.objects.all(),
|
||||
@@ -979,6 +1013,12 @@ class PostDocumentSerializer(serializers.Serializer):
|
||||
else:
|
||||
return None
|
||||
|
||||
def validate_storage_path(self, storage_path):
|
||||
if storage_path:
|
||||
return storage_path.id
|
||||
else:
|
||||
return None
|
||||
|
||||
def validate_tags(self, tags):
|
||||
if tags:
|
||||
return [tag.id for tag in tags]
|
||||
@@ -1254,43 +1294,38 @@ class BulkEditObjectPermissionsSerializer(serializers.Serializer, SetPermissions
|
||||
return attrs
|
||||
|
||||
|
||||
class ConsumptionTemplateSerializer(serializers.ModelSerializer):
|
||||
order = serializers.IntegerField(required=False)
|
||||
class WorkflowTriggerSerializer(serializers.ModelSerializer):
|
||||
id = serializers.IntegerField(required=False, allow_null=True)
|
||||
sources = fields.MultipleChoiceField(
|
||||
choices=ConsumptionTemplate.DocumentSourceChoices.choices,
|
||||
allow_empty=False,
|
||||
choices=WorkflowTrigger.DocumentSourceChoices.choices,
|
||||
allow_empty=True,
|
||||
default={
|
||||
DocumentSource.ConsumeFolder,
|
||||
DocumentSource.ApiUpload,
|
||||
DocumentSource.MailFetch,
|
||||
},
|
||||
)
|
||||
assign_correspondent = CorrespondentField(allow_null=True, required=False)
|
||||
assign_tags = TagsField(many=True, allow_null=True, required=False)
|
||||
assign_document_type = DocumentTypeField(allow_null=True, required=False)
|
||||
assign_storage_path = StoragePathField(allow_null=True, required=False)
|
||||
|
||||
type = serializers.ChoiceField(
|
||||
choices=WorkflowTrigger.WorkflowTriggerType.choices,
|
||||
label="Trigger Type",
|
||||
)
|
||||
|
||||
class Meta:
|
||||
model = ConsumptionTemplate
|
||||
model = WorkflowTrigger
|
||||
fields = [
|
||||
"id",
|
||||
"name",
|
||||
"order",
|
||||
"sources",
|
||||
"type",
|
||||
"filter_path",
|
||||
"filter_filename",
|
||||
"filter_mailrule",
|
||||
"assign_title",
|
||||
"assign_tags",
|
||||
"assign_correspondent",
|
||||
"assign_document_type",
|
||||
"assign_storage_path",
|
||||
"assign_owner",
|
||||
"assign_view_users",
|
||||
"assign_view_groups",
|
||||
"assign_change_users",
|
||||
"assign_change_groups",
|
||||
"assign_custom_fields",
|
||||
"matching_algorithm",
|
||||
"match",
|
||||
"is_insensitive",
|
||||
"filter_has_tags",
|
||||
"filter_has_correspondent",
|
||||
"filter_has_document_type",
|
||||
]
|
||||
|
||||
def validate(self, attrs):
|
||||
@@ -1298,12 +1333,6 @@ class ConsumptionTemplateSerializer(serializers.ModelSerializer):
|
||||
attrs["sources"] = {DocumentSource.MailFetch.value}
|
||||
|
||||
# Empty strings treated as None to avoid unexpected behavior
|
||||
if (
|
||||
"assign_title" in attrs
|
||||
and attrs["assign_title"] is not None
|
||||
and len(attrs["assign_title"]) == 0
|
||||
):
|
||||
attrs["assign_title"] = None
|
||||
if (
|
||||
"filter_filename" in attrs
|
||||
and attrs["filter_filename"] is not None
|
||||
@@ -1318,7 +1347,8 @@ class ConsumptionTemplateSerializer(serializers.ModelSerializer):
|
||||
attrs["filter_path"] = None
|
||||
|
||||
if (
|
||||
"filter_mailrule" not in attrs
|
||||
attrs["type"] == WorkflowTrigger.WorkflowTriggerType.CONSUMPTION
|
||||
and "filter_mailrule" not in attrs
|
||||
and ("filter_filename" not in attrs or attrs["filter_filename"] is None)
|
||||
and ("filter_path" not in attrs or attrs["filter_path"] is None)
|
||||
):
|
||||
@@ -1327,3 +1357,144 @@ class ConsumptionTemplateSerializer(serializers.ModelSerializer):
|
||||
)
|
||||
|
||||
return attrs
|
||||
|
||||
|
||||
class WorkflowActionSerializer(serializers.ModelSerializer):
|
||||
id = serializers.IntegerField(required=False, allow_null=True)
|
||||
assign_correspondent = CorrespondentField(allow_null=True, required=False)
|
||||
assign_tags = TagsField(many=True, allow_null=True, required=False)
|
||||
assign_document_type = DocumentTypeField(allow_null=True, required=False)
|
||||
assign_storage_path = StoragePathField(allow_null=True, required=False)
|
||||
|
||||
class Meta:
|
||||
model = WorkflowAction
|
||||
fields = [
|
||||
"id",
|
||||
"type",
|
||||
"assign_title",
|
||||
"assign_tags",
|
||||
"assign_correspondent",
|
||||
"assign_document_type",
|
||||
"assign_storage_path",
|
||||
"assign_owner",
|
||||
"assign_view_users",
|
||||
"assign_view_groups",
|
||||
"assign_change_users",
|
||||
"assign_change_groups",
|
||||
"assign_custom_fields",
|
||||
]
|
||||
|
||||
def validate(self, attrs):
|
||||
# Empty strings treated as None to avoid unexpected behavior
|
||||
if (
|
||||
"assign_title" in attrs
|
||||
and attrs["assign_title"] is not None
|
||||
and len(attrs["assign_title"]) == 0
|
||||
):
|
||||
attrs["assign_title"] = None
|
||||
|
||||
return attrs
|
||||
|
||||
|
||||
class WorkflowSerializer(serializers.ModelSerializer):
|
||||
order = serializers.IntegerField(required=False)
|
||||
|
||||
triggers = WorkflowTriggerSerializer(many=True)
|
||||
actions = WorkflowActionSerializer(many=True)
|
||||
|
||||
class Meta:
|
||||
model = Workflow
|
||||
fields = [
|
||||
"id",
|
||||
"name",
|
||||
"order",
|
||||
"enabled",
|
||||
"triggers",
|
||||
"actions",
|
||||
]
|
||||
|
||||
def update_triggers_and_actions(self, instance: Workflow, triggers, actions):
|
||||
set_triggers = []
|
||||
set_actions = []
|
||||
|
||||
if triggers is not None:
|
||||
for trigger in triggers:
|
||||
filter_has_tags = trigger.pop("filter_has_tags", None)
|
||||
trigger_instance, _ = WorkflowTrigger.objects.update_or_create(
|
||||
id=trigger["id"] if "id" in trigger else None,
|
||||
defaults=trigger,
|
||||
)
|
||||
if filter_has_tags is not None:
|
||||
trigger_instance.filter_has_tags.set(filter_has_tags)
|
||||
set_triggers.append(trigger_instance)
|
||||
|
||||
if actions is not None:
|
||||
for action in actions:
|
||||
assign_tags = action.pop("assign_tags", None)
|
||||
assign_view_users = action.pop("assign_view_users", None)
|
||||
assign_view_groups = action.pop("assign_view_groups", None)
|
||||
assign_change_users = action.pop("assign_change_users", None)
|
||||
assign_change_groups = action.pop("assign_change_groups", None)
|
||||
assign_custom_fields = action.pop("assign_custom_fields", None)
|
||||
action_instance, _ = WorkflowAction.objects.update_or_create(
|
||||
id=action["id"] if "id" in action else None,
|
||||
defaults=action,
|
||||
)
|
||||
if assign_tags is not None:
|
||||
action_instance.assign_tags.set(assign_tags)
|
||||
if assign_view_users is not None:
|
||||
action_instance.assign_view_users.set(assign_view_users)
|
||||
if assign_view_groups is not None:
|
||||
action_instance.assign_view_groups.set(assign_view_groups)
|
||||
if assign_change_users is not None:
|
||||
action_instance.assign_change_users.set(assign_change_users)
|
||||
if assign_change_groups is not None:
|
||||
action_instance.assign_change_groups.set(assign_change_groups)
|
||||
if assign_custom_fields is not None:
|
||||
action_instance.assign_custom_fields.set(assign_custom_fields)
|
||||
set_actions.append(action_instance)
|
||||
|
||||
instance.triggers.set(set_triggers)
|
||||
instance.actions.set(set_actions)
|
||||
instance.save()
|
||||
|
||||
def prune_triggers_and_actions(self):
|
||||
"""
|
||||
ManyToMany fields dont support e.g. on_delete so we need to discard unattached
|
||||
triggers and actionas manually
|
||||
"""
|
||||
for trigger in WorkflowTrigger.objects.all():
|
||||
if trigger.workflows.all().count() == 0:
|
||||
trigger.delete()
|
||||
|
||||
for action in WorkflowAction.objects.all():
|
||||
if action.workflows.all().count() == 0:
|
||||
action.delete()
|
||||
|
||||
def create(self, validated_data) -> Workflow:
|
||||
if "triggers" in validated_data:
|
||||
triggers = validated_data.pop("triggers")
|
||||
|
||||
if "actions" in validated_data:
|
||||
actions = validated_data.pop("actions")
|
||||
|
||||
instance = super().create(validated_data)
|
||||
|
||||
self.update_triggers_and_actions(instance, triggers, actions)
|
||||
|
||||
return instance
|
||||
|
||||
def update(self, instance: Workflow, validated_data) -> Workflow:
|
||||
if "triggers" in validated_data:
|
||||
triggers = validated_data.pop("triggers")
|
||||
|
||||
if "actions" in validated_data:
|
||||
actions = validated_data.pop("actions")
|
||||
|
||||
instance = super().update(instance, validated_data)
|
||||
|
||||
self.update_triggers_and_actions(instance, triggers, actions)
|
||||
|
||||
self.prune_triggers_and_actions()
|
||||
|
||||
return instance
|
||||
|
||||
@@ -3,3 +3,4 @@ from django.dispatch import Signal
|
||||
document_consumption_started = Signal()
|
||||
document_consumption_finished = Signal()
|
||||
document_consumer_declaration = Signal()
|
||||
document_updated = Signal()
|
||||
|
||||
@@ -24,14 +24,19 @@ from filelock import FileLock
|
||||
|
||||
from documents import matching
|
||||
from documents.classifier import DocumentClassifier
|
||||
from documents.consumer import parse_doc_title_w_placeholders
|
||||
from documents.file_handling import create_source_path_directory
|
||||
from documents.file_handling import delete_empty_directories
|
||||
from documents.file_handling import generate_unique_filename
|
||||
from documents.models import CustomFieldInstance
|
||||
from documents.models import Document
|
||||
from documents.models import MatchingModel
|
||||
from documents.models import PaperlessTask
|
||||
from documents.models import Tag
|
||||
from documents.models import Workflow
|
||||
from documents.models import WorkflowTrigger
|
||||
from documents.permissions import get_objects_for_user_owner_aware
|
||||
from documents.permissions import set_permissions_for_object
|
||||
|
||||
logger = logging.getLogger("paperless.handlers")
|
||||
|
||||
@@ -514,6 +519,105 @@ def add_to_index(sender, document, **kwargs):
|
||||
index.add_or_update_document(document)
|
||||
|
||||
|
||||
def run_workflow_added(sender, document: Document, logging_group=None, **kwargs):
|
||||
run_workflow(
|
||||
WorkflowTrigger.WorkflowTriggerType.DOCUMENT_ADDED,
|
||||
document,
|
||||
logging_group,
|
||||
)
|
||||
|
||||
|
||||
def run_workflow_updated(sender, document: Document, logging_group=None, **kwargs):
|
||||
run_workflow(
|
||||
WorkflowTrigger.WorkflowTriggerType.DOCUMENT_UPDATED,
|
||||
document,
|
||||
logging_group,
|
||||
)
|
||||
|
||||
|
||||
def run_workflow(
|
||||
trigger_type: WorkflowTrigger.WorkflowTriggerType,
|
||||
document: Document,
|
||||
logging_group=None,
|
||||
):
|
||||
for workflow in Workflow.objects.filter(
|
||||
enabled=True,
|
||||
triggers__type=trigger_type,
|
||||
).order_by("order"):
|
||||
if matching.document_matches_workflow(
|
||||
document,
|
||||
workflow,
|
||||
trigger_type,
|
||||
):
|
||||
for action in workflow.actions.all():
|
||||
logger.info(
|
||||
f"Applying {action} from {workflow}",
|
||||
extra={"group": logging_group},
|
||||
)
|
||||
if action.assign_tags.all().count() > 0:
|
||||
document.tags.add(*action.assign_tags.all())
|
||||
|
||||
if action.assign_correspondent is not None:
|
||||
document.correspondent = action.assign_correspondent
|
||||
|
||||
if action.assign_document_type is not None:
|
||||
document.document_type = action.assign_document_type
|
||||
|
||||
if action.assign_storage_path is not None:
|
||||
document.storage_path = action.assign_storage_path
|
||||
|
||||
if action.assign_owner is not None:
|
||||
document.owner = action.assign_owner
|
||||
|
||||
if action.assign_title is not None:
|
||||
document.title = parse_doc_title_w_placeholders(
|
||||
action.assign_title,
|
||||
document.correspondent.name
|
||||
if document.correspondent is not None
|
||||
else "",
|
||||
document.document_type.name
|
||||
if document.document_type is not None
|
||||
else "",
|
||||
document.owner.username if document.owner is not None else "",
|
||||
document.added,
|
||||
document.original_filename,
|
||||
document.created,
|
||||
)
|
||||
|
||||
if (
|
||||
action.assign_view_users is not None
|
||||
or action.assign_view_groups is not None
|
||||
or action.assign_change_users is not None
|
||||
or action.assign_change_groups is not None
|
||||
):
|
||||
permissions = {
|
||||
"view": {
|
||||
"users": action.assign_view_users.all().values_list("id")
|
||||
or [],
|
||||
"groups": action.assign_view_groups.all().values_list("id")
|
||||
or [],
|
||||
},
|
||||
"change": {
|
||||
"users": action.assign_change_users.all().values_list("id")
|
||||
or [],
|
||||
"groups": action.assign_change_groups.all().values_list(
|
||||
"id",
|
||||
)
|
||||
or [],
|
||||
},
|
||||
}
|
||||
set_permissions_for_object(permissions=permissions, object=document)
|
||||
|
||||
if action.assign_custom_fields is not None:
|
||||
for field in action.assign_custom_fields.all():
|
||||
CustomFieldInstance.objects.create(
|
||||
field=field,
|
||||
document=document,
|
||||
) # adds to document
|
||||
|
||||
document.save()
|
||||
|
||||
|
||||
@before_task_publish.connect
|
||||
def before_task_publish_handler(sender=None, headers=None, body=None, **kwargs):
|
||||
"""
|
||||
|
||||
@@ -37,6 +37,11 @@ body {
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
|
||||
#inputUsername:focus {
|
||||
position: relative;
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
#inputPassword,
|
||||
#inputPassword2 {
|
||||
border-top-left-radius: 0;
|
||||
|
||||
@@ -36,6 +36,7 @@ from documents.models import Tag
|
||||
from documents.parsers import DocumentParser
|
||||
from documents.parsers import get_parser_class_for_mime_type
|
||||
from documents.sanity_checker import SanityCheckFailedException
|
||||
from documents.signals import document_updated
|
||||
|
||||
if settings.AUDIT_LOG_ENABLED:
|
||||
import json
|
||||
@@ -151,13 +152,16 @@ def consume_file(
|
||||
return "File successfully split"
|
||||
|
||||
# try reading the ASN from barcode
|
||||
if settings.CONSUMER_ENABLE_ASN_BARCODE and reader.asn is not None:
|
||||
if (
|
||||
settings.CONSUMER_ENABLE_ASN_BARCODE
|
||||
and (located_asn := reader.asn) is not None
|
||||
):
|
||||
# Note this will take precedence over an API provided ASN
|
||||
# But it's from a physical barcode, so that's good
|
||||
overrides.asn = reader.asn
|
||||
overrides.asn = located_asn
|
||||
logger.info(f"Found ASN in barcode: {overrides.asn}")
|
||||
|
||||
template_overrides = Consumer().get_template_overrides(
|
||||
template_overrides = Consumer().get_workflow_overrides(
|
||||
input_doc=input_doc,
|
||||
)
|
||||
|
||||
@@ -215,6 +219,11 @@ def bulk_update_documents(document_ids):
|
||||
ix = index.open_index()
|
||||
|
||||
for doc in documents:
|
||||
document_updated.send(
|
||||
sender=None,
|
||||
document=doc,
|
||||
logging_group=uuid.uuid4(),
|
||||
)
|
||||
post_save.send(Document, instance=doc, created=False)
|
||||
|
||||
with AsyncWriter(ix) as writer:
|
||||
|
||||
@@ -1,236 +0,0 @@
|
||||
import json
|
||||
|
||||
from django.contrib.auth.models import Group
|
||||
from django.contrib.auth.models import User
|
||||
from rest_framework import status
|
||||
from rest_framework.test import APITestCase
|
||||
|
||||
from documents.data_models import DocumentSource
|
||||
from documents.models import ConsumptionTemplate
|
||||
from documents.models import Correspondent
|
||||
from documents.models import CustomField
|
||||
from documents.models import DocumentType
|
||||
from documents.models import StoragePath
|
||||
from documents.models import Tag
|
||||
from documents.tests.utils import DirectoriesMixin
|
||||
from paperless_mail.models import MailAccount
|
||||
from paperless_mail.models import MailRule
|
||||
|
||||
|
||||
class TestApiConsumptionTemplates(DirectoriesMixin, APITestCase):
|
||||
ENDPOINT = "/api/consumption_templates/"
|
||||
|
||||
def setUp(self) -> None:
|
||||
super().setUp()
|
||||
|
||||
user = User.objects.create_superuser(username="temp_admin")
|
||||
self.client.force_authenticate(user=user)
|
||||
self.user2 = User.objects.create(username="user2")
|
||||
self.user3 = User.objects.create(username="user3")
|
||||
self.group1 = Group.objects.create(name="group1")
|
||||
|
||||
self.c = Correspondent.objects.create(name="Correspondent Name")
|
||||
self.c2 = Correspondent.objects.create(name="Correspondent Name 2")
|
||||
self.dt = DocumentType.objects.create(name="DocType Name")
|
||||
self.t1 = Tag.objects.create(name="t1")
|
||||
self.t2 = Tag.objects.create(name="t2")
|
||||
self.t3 = Tag.objects.create(name="t3")
|
||||
self.sp = StoragePath.objects.create(path="/test/")
|
||||
self.cf1 = CustomField.objects.create(name="Custom Field 1", data_type="string")
|
||||
self.cf2 = CustomField.objects.create(
|
||||
name="Custom Field 2",
|
||||
data_type="integer",
|
||||
)
|
||||
|
||||
self.ct = ConsumptionTemplate.objects.create(
|
||||
name="Template 1",
|
||||
order=0,
|
||||
sources=f"{int(DocumentSource.ApiUpload)},{int(DocumentSource.ConsumeFolder)},{int(DocumentSource.MailFetch)}",
|
||||
filter_filename="*simple*",
|
||||
filter_path="*/samples/*",
|
||||
assign_title="Doc from {correspondent}",
|
||||
assign_correspondent=self.c,
|
||||
assign_document_type=self.dt,
|
||||
assign_storage_path=self.sp,
|
||||
assign_owner=self.user2,
|
||||
)
|
||||
self.ct.assign_tags.add(self.t1)
|
||||
self.ct.assign_tags.add(self.t2)
|
||||
self.ct.assign_tags.add(self.t3)
|
||||
self.ct.assign_view_users.add(self.user3.pk)
|
||||
self.ct.assign_view_groups.add(self.group1.pk)
|
||||
self.ct.assign_change_users.add(self.user3.pk)
|
||||
self.ct.assign_change_groups.add(self.group1.pk)
|
||||
self.ct.assign_custom_fields.add(self.cf1.pk)
|
||||
self.ct.assign_custom_fields.add(self.cf2.pk)
|
||||
self.ct.save()
|
||||
|
||||
def test_api_get_consumption_template(self):
|
||||
"""
|
||||
GIVEN:
|
||||
- API request to get all consumption template
|
||||
WHEN:
|
||||
- API is called
|
||||
THEN:
|
||||
- Existing consumption templates are returned
|
||||
"""
|
||||
response = self.client.get(self.ENDPOINT, format="json")
|
||||
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
self.assertEqual(response.data["count"], 1)
|
||||
|
||||
resp_consumption_template = response.data["results"][0]
|
||||
self.assertEqual(resp_consumption_template["id"], self.ct.id)
|
||||
self.assertEqual(
|
||||
resp_consumption_template["assign_correspondent"],
|
||||
self.ct.assign_correspondent.pk,
|
||||
)
|
||||
|
||||
def test_api_create_consumption_template(self):
|
||||
"""
|
||||
GIVEN:
|
||||
- API request to create a consumption template
|
||||
WHEN:
|
||||
- API is called
|
||||
THEN:
|
||||
- Correct HTTP response
|
||||
- New template is created
|
||||
"""
|
||||
response = self.client.post(
|
||||
self.ENDPOINT,
|
||||
json.dumps(
|
||||
{
|
||||
"name": "Template 2",
|
||||
"order": 1,
|
||||
"sources": [DocumentSource.ApiUpload],
|
||||
"filter_filename": "*test*",
|
||||
},
|
||||
),
|
||||
content_type="application/json",
|
||||
)
|
||||
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
|
||||
self.assertEqual(ConsumptionTemplate.objects.count(), 2)
|
||||
|
||||
def test_api_create_invalid_consumption_template(self):
|
||||
"""
|
||||
GIVEN:
|
||||
- API request to create a consumption template
|
||||
- Neither file name nor path filter are specified
|
||||
WHEN:
|
||||
- API is called
|
||||
THEN:
|
||||
- Correct HTTP 400 response
|
||||
- No template is created
|
||||
"""
|
||||
response = self.client.post(
|
||||
self.ENDPOINT,
|
||||
json.dumps(
|
||||
{
|
||||
"name": "Template 2",
|
||||
"order": 1,
|
||||
"sources": [DocumentSource.ApiUpload],
|
||||
},
|
||||
),
|
||||
content_type="application/json",
|
||||
)
|
||||
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
|
||||
self.assertEqual(ConsumptionTemplate.objects.count(), 1)
|
||||
|
||||
def test_api_create_consumption_template_empty_fields(self):
|
||||
"""
|
||||
GIVEN:
|
||||
- API request to create a consumption template
|
||||
- Path or filename filter or assign title are empty string
|
||||
WHEN:
|
||||
- API is called
|
||||
THEN:
|
||||
- Template is created but filter or title assignment is not set if ""
|
||||
"""
|
||||
response = self.client.post(
|
||||
self.ENDPOINT,
|
||||
json.dumps(
|
||||
{
|
||||
"name": "Template 2",
|
||||
"order": 1,
|
||||
"sources": [DocumentSource.ApiUpload],
|
||||
"filter_filename": "*test*",
|
||||
"filter_path": "",
|
||||
"assign_title": "",
|
||||
},
|
||||
),
|
||||
content_type="application/json",
|
||||
)
|
||||
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
|
||||
ct = ConsumptionTemplate.objects.get(name="Template 2")
|
||||
self.assertEqual(ct.filter_filename, "*test*")
|
||||
self.assertIsNone(ct.filter_path)
|
||||
self.assertIsNone(ct.assign_title)
|
||||
|
||||
response = self.client.post(
|
||||
self.ENDPOINT,
|
||||
json.dumps(
|
||||
{
|
||||
"name": "Template 3",
|
||||
"order": 1,
|
||||
"sources": [DocumentSource.ApiUpload],
|
||||
"filter_filename": "",
|
||||
"filter_path": "*/test/*",
|
||||
},
|
||||
),
|
||||
content_type="application/json",
|
||||
)
|
||||
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
|
||||
ct2 = ConsumptionTemplate.objects.get(name="Template 3")
|
||||
self.assertEqual(ct2.filter_path, "*/test/*")
|
||||
self.assertIsNone(ct2.filter_filename)
|
||||
|
||||
def test_api_create_consumption_template_with_mailrule(self):
|
||||
"""
|
||||
GIVEN:
|
||||
- API request to create a consumption template with a mail rule but no MailFetch source
|
||||
WHEN:
|
||||
- API is called
|
||||
THEN:
|
||||
- New template is created with MailFetch as source
|
||||
"""
|
||||
account1 = MailAccount.objects.create(
|
||||
name="Email1",
|
||||
username="username1",
|
||||
password="password1",
|
||||
imap_server="server.example.com",
|
||||
imap_port=443,
|
||||
imap_security=MailAccount.ImapSecurity.SSL,
|
||||
character_set="UTF-8",
|
||||
)
|
||||
rule1 = MailRule.objects.create(
|
||||
name="Rule1",
|
||||
account=account1,
|
||||
folder="INBOX",
|
||||
filter_from="from@example.com",
|
||||
filter_to="someone@somewhere.com",
|
||||
filter_subject="subject",
|
||||
filter_body="body",
|
||||
filter_attachment_filename_include="file.pdf",
|
||||
maximum_age=30,
|
||||
action=MailRule.MailAction.MARK_READ,
|
||||
assign_title_from=MailRule.TitleSource.FROM_SUBJECT,
|
||||
assign_correspondent_from=MailRule.CorrespondentSource.FROM_NOTHING,
|
||||
order=0,
|
||||
attachment_type=MailRule.AttachmentProcessing.ATTACHMENTS_ONLY,
|
||||
)
|
||||
response = self.client.post(
|
||||
self.ENDPOINT,
|
||||
json.dumps(
|
||||
{
|
||||
"name": "Template 2",
|
||||
"order": 1,
|
||||
"sources": [DocumentSource.ApiUpload],
|
||||
"filter_mailrule": rule1.pk,
|
||||
},
|
||||
),
|
||||
content_type="application/json",
|
||||
)
|
||||
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
|
||||
self.assertEqual(ConsumptionTemplate.objects.count(), 2)
|
||||
ct = ConsumptionTemplate.objects.get(name="Template 2")
|
||||
self.assertEqual(ct.sources, [int(DocumentSource.MailFetch).__str__()])
|
||||
@@ -333,19 +333,17 @@ class TestCustomField(DirectoriesMixin, APITestCase):
|
||||
},
|
||||
format="json",
|
||||
)
|
||||
from pprint import pprint
|
||||
|
||||
pprint(resp.json())
|
||||
self.assertEqual(resp.status_code, status.HTTP_400_BAD_REQUEST)
|
||||
self.assertEqual(CustomFieldInstance.objects.count(), 0)
|
||||
self.assertEqual(len(doc.custom_fields.all()), 0)
|
||||
|
||||
def test_custom_field_value_validation(self):
|
||||
def test_custom_field_value_url_validation(self):
|
||||
"""
|
||||
GIVEN:
|
||||
- Document & custom field exist
|
||||
WHEN:
|
||||
- API request to set a field value
|
||||
- API request to set a field value to something which is or is not a link
|
||||
THEN:
|
||||
- HTTP 400 is returned
|
||||
- No field instance is created or attached to the document
|
||||
@@ -360,31 +358,62 @@ class TestCustomField(DirectoriesMixin, APITestCase):
|
||||
name="Test Custom Field URL",
|
||||
data_type=CustomField.FieldDataType.URL,
|
||||
)
|
||||
custom_field_int = CustomField.objects.create(
|
||||
name="Test Custom Field INT",
|
||||
data_type=CustomField.FieldDataType.INT,
|
||||
)
|
||||
|
||||
for value in ["not a url", "file:"]:
|
||||
with self.subTest(f"Test value {value}"):
|
||||
resp = self.client.patch(
|
||||
f"/api/documents/{doc.id}/",
|
||||
data={
|
||||
"custom_fields": [
|
||||
{
|
||||
"field": custom_field_url.id,
|
||||
"value": value,
|
||||
},
|
||||
],
|
||||
},
|
||||
format="json",
|
||||
)
|
||||
|
||||
self.assertEqual(resp.status_code, status.HTTP_400_BAD_REQUEST)
|
||||
self.assertEqual(CustomFieldInstance.objects.count(), 0)
|
||||
self.assertEqual(len(doc.custom_fields.all()), 0)
|
||||
resp = self.client.patch(
|
||||
f"/api/documents/{doc.id}/",
|
||||
data={
|
||||
"custom_fields": [
|
||||
{
|
||||
"field": custom_field_url.id,
|
||||
"value": "not a url",
|
||||
"value": "tel:+1-816-555-1212",
|
||||
},
|
||||
],
|
||||
},
|
||||
format="json",
|
||||
)
|
||||
|
||||
self.assertEqual(resp.status_code, status.HTTP_400_BAD_REQUEST)
|
||||
self.assertEqual(CustomFieldInstance.objects.count(), 0)
|
||||
self.assertEqual(len(doc.custom_fields.all()), 0)
|
||||
self.assertEqual(resp.status_code, status.HTTP_200_OK)
|
||||
|
||||
self.assertRaises(
|
||||
Exception,
|
||||
self.client.patch,
|
||||
def test_custom_field_value_integer_validation(self):
|
||||
"""
|
||||
GIVEN:
|
||||
- Document & custom field exist
|
||||
WHEN:
|
||||
- API request to set a field value to something not an integer
|
||||
THEN:
|
||||
- HTTP 400 is returned
|
||||
- No field instance is created or attached to the document
|
||||
"""
|
||||
doc = Document.objects.create(
|
||||
title="WOW",
|
||||
content="the content",
|
||||
checksum="123",
|
||||
mime_type="application/pdf",
|
||||
)
|
||||
custom_field_int = CustomField.objects.create(
|
||||
name="Test Custom Field INT",
|
||||
data_type=CustomField.FieldDataType.INT,
|
||||
)
|
||||
|
||||
resp = self.client.patch(
|
||||
f"/api/documents/{doc.id}/",
|
||||
data={
|
||||
"custom_fields": [
|
||||
@@ -397,6 +426,81 @@ class TestCustomField(DirectoriesMixin, APITestCase):
|
||||
format="json",
|
||||
)
|
||||
|
||||
self.assertEqual(resp.status_code, status.HTTP_400_BAD_REQUEST)
|
||||
self.assertEqual(CustomFieldInstance.objects.count(), 0)
|
||||
self.assertEqual(len(doc.custom_fields.all()), 0)
|
||||
|
||||
def test_custom_field_value_monetary_validation(self):
|
||||
"""
|
||||
GIVEN:
|
||||
- Document & custom field exist
|
||||
WHEN:
|
||||
- API request to set a field value to something not a valid monetary decimal
|
||||
THEN:
|
||||
- HTTP 400 is returned
|
||||
- No field instance is created or attached to the document
|
||||
"""
|
||||
doc = Document.objects.create(
|
||||
title="WOW",
|
||||
content="the content",
|
||||
checksum="123",
|
||||
mime_type="application/pdf",
|
||||
)
|
||||
custom_field_money = CustomField.objects.create(
|
||||
name="Test Custom Field MONETARY",
|
||||
data_type=CustomField.FieldDataType.MONETARY,
|
||||
)
|
||||
|
||||
resp = self.client.patch(
|
||||
f"/api/documents/{doc.id}/",
|
||||
data={
|
||||
"custom_fields": [
|
||||
{
|
||||
"field": custom_field_money.id,
|
||||
# Too many places past decimal
|
||||
"value": 12.123,
|
||||
},
|
||||
],
|
||||
},
|
||||
format="json",
|
||||
)
|
||||
|
||||
self.assertEqual(resp.status_code, status.HTTP_400_BAD_REQUEST)
|
||||
self.assertEqual(CustomFieldInstance.objects.count(), 0)
|
||||
self.assertEqual(len(doc.custom_fields.all()), 0)
|
||||
|
||||
def test_custom_field_value_short_text_validation(self):
|
||||
"""
|
||||
GIVEN:
|
||||
- Document & custom field exist
|
||||
WHEN:
|
||||
- API request to set a field value to a too long string
|
||||
THEN:
|
||||
- HTTP 400 is returned
|
||||
- No field instance is created or attached to the document
|
||||
"""
|
||||
doc = Document.objects.create(
|
||||
title="WOW",
|
||||
content="the content",
|
||||
checksum="123",
|
||||
mime_type="application/pdf",
|
||||
)
|
||||
custom_field_string = CustomField.objects.create(
|
||||
name="Test Custom Field STRING",
|
||||
data_type=CustomField.FieldDataType.STRING,
|
||||
)
|
||||
|
||||
resp = self.client.patch(
|
||||
f"/api/documents/{doc.id}/",
|
||||
data={
|
||||
"custom_fields": [
|
||||
{"field": custom_field_string.id, "value": "a" * 129},
|
||||
],
|
||||
},
|
||||
format="json",
|
||||
)
|
||||
|
||||
self.assertEqual(resp.status_code, status.HTTP_400_BAD_REQUEST)
|
||||
self.assertEqual(CustomFieldInstance.objects.count(), 0)
|
||||
self.assertEqual(len(doc.custom_fields.all()), 0)
|
||||
|
||||
@@ -426,7 +530,7 @@ class TestCustomField(DirectoriesMixin, APITestCase):
|
||||
|
||||
self.assertEqual(resp.status_code, status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
def test_bidirectional_doclink_fields(self):
|
||||
def test_symmetric_doclink_fields(self):
|
||||
"""
|
||||
GIVEN:
|
||||
- Existing document
|
||||
@@ -533,3 +637,64 @@ class TestCustomField(DirectoriesMixin, APITestCase):
|
||||
self.assertEqual(doc2.custom_fields.first().value, [])
|
||||
self.assertEqual(doc3.custom_fields.first().value, [4])
|
||||
self.assertEqual(doc4.custom_fields.first().value, [3])
|
||||
|
||||
# If field exists on target doc but value is None
|
||||
doc5 = Document.objects.create(
|
||||
title="WOW5",
|
||||
content="the content4",
|
||||
checksum="5",
|
||||
mime_type="application/pdf",
|
||||
)
|
||||
CustomFieldInstance.objects.create(document=doc5, field=custom_field_doclink)
|
||||
|
||||
resp = self.client.patch(
|
||||
f"/api/documents/{doc1.id}/",
|
||||
data={
|
||||
"custom_fields": [
|
||||
{
|
||||
"field": custom_field_doclink.id,
|
||||
"value": [doc5.id],
|
||||
},
|
||||
],
|
||||
},
|
||||
format="json",
|
||||
)
|
||||
|
||||
self.assertEqual(resp.status_code, status.HTTP_200_OK)
|
||||
self.assertEqual(doc5.custom_fields.first().value, [1])
|
||||
|
||||
def test_custom_field_filters(self):
|
||||
custom_field_string = CustomField.objects.create(
|
||||
name="Test Custom Field String",
|
||||
data_type=CustomField.FieldDataType.STRING,
|
||||
)
|
||||
custom_field_date = CustomField.objects.create(
|
||||
name="Test Custom Field Date",
|
||||
data_type=CustomField.FieldDataType.DATE,
|
||||
)
|
||||
custom_field_int = CustomField.objects.create(
|
||||
name="Test Custom Field Int",
|
||||
data_type=CustomField.FieldDataType.INT,
|
||||
)
|
||||
|
||||
response = self.client.get(
|
||||
f"{self.ENDPOINT}?id={custom_field_string.id}",
|
||||
)
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
results = response.data["results"]
|
||||
self.assertEqual(len(results), 1)
|
||||
|
||||
response = self.client.get(
|
||||
f"{self.ENDPOINT}?id__in={custom_field_string.id},{custom_field_date.id}",
|
||||
)
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
results = response.data["results"]
|
||||
self.assertEqual(len(results), 2)
|
||||
|
||||
response = self.client.get(
|
||||
f"{self.ENDPOINT}?name__icontains=Int",
|
||||
)
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
results = response.data["results"]
|
||||
self.assertEqual(len(results), 1)
|
||||
self.assertEqual(results[0]["name"], custom_field_int.name)
|
||||
|
||||
@@ -819,7 +819,13 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase):
|
||||
) as f:
|
||||
response = self.client.post(
|
||||
"/api/documents/post_document/",
|
||||
{"document": f, "title": "", "correspondent": "", "document_type": ""},
|
||||
{
|
||||
"document": f,
|
||||
"title": "",
|
||||
"correspondent": "",
|
||||
"document_type": "",
|
||||
"storage_path": "",
|
||||
},
|
||||
)
|
||||
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
@@ -833,6 +839,7 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase):
|
||||
self.assertIsNone(overrides.title)
|
||||
self.assertIsNone(overrides.correspondent_id)
|
||||
self.assertIsNone(overrides.document_type_id)
|
||||
self.assertIsNone(overrides.storage_path_id)
|
||||
self.assertIsNone(overrides.tag_ids)
|
||||
|
||||
def test_upload_invalid_form(self):
|
||||
@@ -975,6 +982,48 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase):
|
||||
|
||||
self.consume_file_mock.assert_not_called()
|
||||
|
||||
def test_upload_with_storage_path(self):
|
||||
self.consume_file_mock.return_value = celery.result.AsyncResult(
|
||||
id=str(uuid.uuid4()),
|
||||
)
|
||||
|
||||
sp = StoragePath.objects.create(name="invoices")
|
||||
with open(
|
||||
os.path.join(os.path.dirname(__file__), "samples", "simple.pdf"),
|
||||
"rb",
|
||||
) as f:
|
||||
response = self.client.post(
|
||||
"/api/documents/post_document/",
|
||||
{"document": f, "storage_path": sp.id},
|
||||
)
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
|
||||
self.consume_file_mock.assert_called_once()
|
||||
|
||||
_, overrides = self.get_last_consume_delay_call_args()
|
||||
|
||||
self.assertEqual(overrides.storage_path_id, sp.id)
|
||||
self.assertIsNone(overrides.correspondent_id)
|
||||
self.assertIsNone(overrides.title)
|
||||
self.assertIsNone(overrides.tag_ids)
|
||||
|
||||
def test_upload_with_invalid_storage_path(self):
|
||||
self.consume_file_mock.return_value = celery.result.AsyncResult(
|
||||
id=str(uuid.uuid4()),
|
||||
)
|
||||
|
||||
with open(
|
||||
os.path.join(os.path.dirname(__file__), "samples", "simple.pdf"),
|
||||
"rb",
|
||||
) as f:
|
||||
response = self.client.post(
|
||||
"/api/documents/post_document/",
|
||||
{"document": f, "storage_path": 34578},
|
||||
)
|
||||
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
self.consume_file_mock.assert_not_called()
|
||||
|
||||
def test_upload_with_tags(self):
|
||||
self.consume_file_mock.return_value = celery.result.AsyncResult(
|
||||
id=str(uuid.uuid4()),
|
||||
|
||||
435
src/documents/tests/test_api_workflows.py
Normal file
435
src/documents/tests/test_api_workflows.py
Normal file
@@ -0,0 +1,435 @@
|
||||
import json
|
||||
|
||||
from django.contrib.auth.models import Group
|
||||
from django.contrib.auth.models import User
|
||||
from rest_framework import status
|
||||
from rest_framework.test import APITestCase
|
||||
|
||||
from documents.data_models import DocumentSource
|
||||
from documents.models import Correspondent
|
||||
from documents.models import CustomField
|
||||
from documents.models import DocumentType
|
||||
from documents.models import StoragePath
|
||||
from documents.models import Tag
|
||||
from documents.models import Workflow
|
||||
from documents.models import WorkflowAction
|
||||
from documents.models import WorkflowTrigger
|
||||
from documents.tests.utils import DirectoriesMixin
|
||||
from paperless_mail.models import MailAccount
|
||||
from paperless_mail.models import MailRule
|
||||
|
||||
|
||||
class TestApiWorkflows(DirectoriesMixin, APITestCase):
|
||||
ENDPOINT = "/api/workflows/"
|
||||
ENDPOINT_TRIGGERS = "/api/workflow_triggers/"
|
||||
ENDPOINT_ACTIONS = "/api/workflow_actions/"
|
||||
|
||||
def setUp(self) -> None:
|
||||
super().setUp()
|
||||
|
||||
user = User.objects.create_superuser(username="temp_admin")
|
||||
self.client.force_authenticate(user=user)
|
||||
self.user2 = User.objects.create(username="user2")
|
||||
self.user3 = User.objects.create(username="user3")
|
||||
self.group1 = Group.objects.create(name="group1")
|
||||
|
||||
self.c = Correspondent.objects.create(name="Correspondent Name")
|
||||
self.c2 = Correspondent.objects.create(name="Correspondent Name 2")
|
||||
self.dt = DocumentType.objects.create(name="DocType Name")
|
||||
self.dt2 = DocumentType.objects.create(name="DocType Name 2")
|
||||
self.t1 = Tag.objects.create(name="t1")
|
||||
self.t2 = Tag.objects.create(name="t2")
|
||||
self.t3 = Tag.objects.create(name="t3")
|
||||
self.sp = StoragePath.objects.create(name="Storage Path 1", path="/test/")
|
||||
self.sp2 = StoragePath.objects.create(name="Storage Path 2", path="/test2/")
|
||||
self.cf1 = CustomField.objects.create(name="Custom Field 1", data_type="string")
|
||||
self.cf2 = CustomField.objects.create(
|
||||
name="Custom Field 2",
|
||||
data_type="integer",
|
||||
)
|
||||
|
||||
self.trigger = WorkflowTrigger.objects.create(
|
||||
type=WorkflowTrigger.WorkflowTriggerType.CONSUMPTION,
|
||||
sources=f"{int(DocumentSource.ApiUpload)},{int(DocumentSource.ConsumeFolder)},{int(DocumentSource.MailFetch)}",
|
||||
filter_filename="*simple*",
|
||||
filter_path="*/samples/*",
|
||||
)
|
||||
self.action = WorkflowAction.objects.create(
|
||||
assign_title="Doc from {correspondent}",
|
||||
assign_correspondent=self.c,
|
||||
assign_document_type=self.dt,
|
||||
assign_storage_path=self.sp,
|
||||
assign_owner=self.user2,
|
||||
)
|
||||
self.action.assign_tags.add(self.t1)
|
||||
self.action.assign_tags.add(self.t2)
|
||||
self.action.assign_tags.add(self.t3)
|
||||
self.action.assign_view_users.add(self.user3.pk)
|
||||
self.action.assign_view_groups.add(self.group1.pk)
|
||||
self.action.assign_change_users.add(self.user3.pk)
|
||||
self.action.assign_change_groups.add(self.group1.pk)
|
||||
self.action.assign_custom_fields.add(self.cf1.pk)
|
||||
self.action.assign_custom_fields.add(self.cf2.pk)
|
||||
self.action.save()
|
||||
|
||||
self.workflow = Workflow.objects.create(
|
||||
name="Workflow 1",
|
||||
order=0,
|
||||
)
|
||||
self.workflow.triggers.add(self.trigger)
|
||||
self.workflow.actions.add(self.action)
|
||||
self.workflow.save()
|
||||
|
||||
def test_api_get_workflow(self):
|
||||
"""
|
||||
GIVEN:
|
||||
- API request to get all workflows
|
||||
WHEN:
|
||||
- API is called
|
||||
THEN:
|
||||
- Existing workflows are returned
|
||||
"""
|
||||
response = self.client.get(self.ENDPOINT, format="json")
|
||||
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
self.assertEqual(response.data["count"], 1)
|
||||
|
||||
resp_workflow = response.data["results"][0]
|
||||
self.assertEqual(resp_workflow["id"], self.workflow.id)
|
||||
self.assertEqual(
|
||||
resp_workflow["actions"][0]["assign_correspondent"],
|
||||
self.action.assign_correspondent.pk,
|
||||
)
|
||||
|
||||
def test_api_create_workflow(self):
|
||||
"""
|
||||
GIVEN:
|
||||
- API request to create a workflow, trigger and action separately
|
||||
WHEN:
|
||||
- API is called
|
||||
THEN:
|
||||
- Correct HTTP response
|
||||
- New workflow, trigger and action are created
|
||||
"""
|
||||
trigger_response = self.client.post(
|
||||
self.ENDPOINT_TRIGGERS,
|
||||
json.dumps(
|
||||
{
|
||||
"type": WorkflowTrigger.WorkflowTriggerType.CONSUMPTION,
|
||||
"sources": [DocumentSource.ApiUpload],
|
||||
"filter_filename": "*",
|
||||
},
|
||||
),
|
||||
content_type="application/json",
|
||||
)
|
||||
self.assertEqual(trigger_response.status_code, status.HTTP_201_CREATED)
|
||||
|
||||
action_response = self.client.post(
|
||||
self.ENDPOINT_ACTIONS,
|
||||
json.dumps(
|
||||
{
|
||||
"assign_title": "Action Title",
|
||||
},
|
||||
),
|
||||
content_type="application/json",
|
||||
)
|
||||
self.assertEqual(action_response.status_code, status.HTTP_201_CREATED)
|
||||
|
||||
response = self.client.post(
|
||||
self.ENDPOINT,
|
||||
json.dumps(
|
||||
{
|
||||
"name": "Workflow 2",
|
||||
"order": 1,
|
||||
"triggers": [
|
||||
{
|
||||
"id": trigger_response.data["id"],
|
||||
"sources": [DocumentSource.ApiUpload],
|
||||
"type": trigger_response.data["type"],
|
||||
"filter_filename": trigger_response.data["filter_filename"],
|
||||
},
|
||||
],
|
||||
"actions": [
|
||||
{
|
||||
"id": action_response.data["id"],
|
||||
"assign_title": action_response.data["assign_title"],
|
||||
},
|
||||
],
|
||||
},
|
||||
),
|
||||
content_type="application/json",
|
||||
)
|
||||
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
|
||||
self.assertEqual(Workflow.objects.count(), 2)
|
||||
|
||||
def test_api_create_workflow_nested(self):
|
||||
"""
|
||||
GIVEN:
|
||||
- API request to create a workflow with nested trigger and action
|
||||
WHEN:
|
||||
- API is called
|
||||
THEN:
|
||||
- Correct HTTP response
|
||||
- New workflow, trigger and action are created
|
||||
"""
|
||||
|
||||
response = self.client.post(
|
||||
self.ENDPOINT,
|
||||
json.dumps(
|
||||
{
|
||||
"name": "Workflow 2",
|
||||
"order": 1,
|
||||
"triggers": [
|
||||
{
|
||||
"sources": [DocumentSource.ApiUpload],
|
||||
"type": WorkflowTrigger.WorkflowTriggerType.CONSUMPTION,
|
||||
"filter_filename": "*",
|
||||
"filter_path": "*/samples/*",
|
||||
"filter_has_tags": [self.t1.id],
|
||||
"filter_has_document_type": self.dt.id,
|
||||
"filter_has_correspondent": self.c.id,
|
||||
},
|
||||
],
|
||||
"actions": [
|
||||
{
|
||||
"assign_title": "Action Title",
|
||||
"assign_tags": [self.t2.id],
|
||||
"assign_document_type": self.dt2.id,
|
||||
"assign_correspondent": self.c2.id,
|
||||
"assign_storage_path": self.sp2.id,
|
||||
"assign_owner": self.user2.id,
|
||||
"assign_view_users": [self.user2.id],
|
||||
"assign_view_groups": [self.group1.id],
|
||||
"assign_change_users": [self.user2.id],
|
||||
"assign_change_groups": [self.group1.id],
|
||||
"assign_custom_fields": [self.cf2.id],
|
||||
},
|
||||
],
|
||||
},
|
||||
),
|
||||
content_type="application/json",
|
||||
)
|
||||
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
|
||||
self.assertEqual(Workflow.objects.count(), 2)
|
||||
|
||||
def test_api_create_invalid_workflow_trigger(self):
|
||||
"""
|
||||
GIVEN:
|
||||
- API request to create a workflow trigger
|
||||
- Neither type or file name nor path filter are specified
|
||||
WHEN:
|
||||
- API is called
|
||||
THEN:
|
||||
- Correct HTTP 400 response
|
||||
- No objects are created
|
||||
"""
|
||||
response = self.client.post(
|
||||
self.ENDPOINT_TRIGGERS,
|
||||
json.dumps(
|
||||
{
|
||||
"sources": [DocumentSource.ApiUpload],
|
||||
},
|
||||
),
|
||||
content_type="application/json",
|
||||
)
|
||||
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
response = self.client.post(
|
||||
self.ENDPOINT_TRIGGERS,
|
||||
json.dumps(
|
||||
{
|
||||
"type": WorkflowTrigger.WorkflowTriggerType.CONSUMPTION,
|
||||
"sources": [DocumentSource.ApiUpload],
|
||||
},
|
||||
),
|
||||
content_type="application/json",
|
||||
)
|
||||
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
self.assertEqual(WorkflowTrigger.objects.count(), 1)
|
||||
|
||||
def test_api_create_workflow_trigger_action_empty_fields(self):
|
||||
"""
|
||||
GIVEN:
|
||||
- API request to create a workflow trigger and action
|
||||
- Path or filename filter or assign title are empty string
|
||||
WHEN:
|
||||
- API is called
|
||||
THEN:
|
||||
- Template is created but filter or title assignment is not set if ""
|
||||
"""
|
||||
response = self.client.post(
|
||||
self.ENDPOINT_TRIGGERS,
|
||||
json.dumps(
|
||||
{
|
||||
"type": WorkflowTrigger.WorkflowTriggerType.CONSUMPTION,
|
||||
"sources": [DocumentSource.ApiUpload],
|
||||
"filter_filename": "*test*",
|
||||
"filter_path": "",
|
||||
},
|
||||
),
|
||||
content_type="application/json",
|
||||
)
|
||||
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
|
||||
trigger = WorkflowTrigger.objects.get(id=response.data["id"])
|
||||
self.assertEqual(trigger.filter_filename, "*test*")
|
||||
self.assertIsNone(trigger.filter_path)
|
||||
|
||||
response = self.client.post(
|
||||
self.ENDPOINT_ACTIONS,
|
||||
json.dumps(
|
||||
{
|
||||
"assign_title": "",
|
||||
},
|
||||
),
|
||||
content_type="application/json",
|
||||
)
|
||||
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
|
||||
action = WorkflowAction.objects.get(id=response.data["id"])
|
||||
self.assertIsNone(action.assign_title)
|
||||
|
||||
response = self.client.post(
|
||||
self.ENDPOINT_TRIGGERS,
|
||||
json.dumps(
|
||||
{
|
||||
"type": WorkflowTrigger.WorkflowTriggerType.CONSUMPTION,
|
||||
"sources": [DocumentSource.ApiUpload],
|
||||
"filter_filename": "",
|
||||
"filter_path": "*/test/*",
|
||||
},
|
||||
),
|
||||
content_type="application/json",
|
||||
)
|
||||
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
|
||||
trigger2 = WorkflowTrigger.objects.get(id=response.data["id"])
|
||||
self.assertEqual(trigger2.filter_path, "*/test/*")
|
||||
self.assertIsNone(trigger2.filter_filename)
|
||||
|
||||
def test_api_create_workflow_trigger_with_mailrule(self):
|
||||
"""
|
||||
GIVEN:
|
||||
- API request to create a workflow trigger with a mail rule but no MailFetch source
|
||||
WHEN:
|
||||
- API is called
|
||||
THEN:
|
||||
- New trigger is created with MailFetch as source
|
||||
"""
|
||||
account1 = MailAccount.objects.create(
|
||||
name="Email1",
|
||||
username="username1",
|
||||
password="password1",
|
||||
imap_server="server.example.com",
|
||||
imap_port=443,
|
||||
imap_security=MailAccount.ImapSecurity.SSL,
|
||||
character_set="UTF-8",
|
||||
)
|
||||
rule1 = MailRule.objects.create(
|
||||
name="Rule1",
|
||||
account=account1,
|
||||
folder="INBOX",
|
||||
filter_from="from@example.com",
|
||||
filter_to="someone@somewhere.com",
|
||||
filter_subject="subject",
|
||||
filter_body="body",
|
||||
filter_attachment_filename_include="file.pdf",
|
||||
maximum_age=30,
|
||||
action=MailRule.MailAction.MARK_READ,
|
||||
assign_title_from=MailRule.TitleSource.FROM_SUBJECT,
|
||||
assign_correspondent_from=MailRule.CorrespondentSource.FROM_NOTHING,
|
||||
order=0,
|
||||
attachment_type=MailRule.AttachmentProcessing.ATTACHMENTS_ONLY,
|
||||
)
|
||||
response = self.client.post(
|
||||
self.ENDPOINT_TRIGGERS,
|
||||
json.dumps(
|
||||
{
|
||||
"type": WorkflowTrigger.WorkflowTriggerType.CONSUMPTION,
|
||||
"sources": [DocumentSource.ApiUpload],
|
||||
"filter_mailrule": rule1.pk,
|
||||
},
|
||||
),
|
||||
content_type="application/json",
|
||||
)
|
||||
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
|
||||
self.assertEqual(WorkflowTrigger.objects.count(), 2)
|
||||
trigger = WorkflowTrigger.objects.get(id=response.data["id"])
|
||||
self.assertEqual(trigger.sources, [int(DocumentSource.MailFetch).__str__()])
|
||||
|
||||
def test_api_update_workflow_nested_triggers_actions(self):
|
||||
"""
|
||||
GIVEN:
|
||||
- Existing workflow with trigger and action
|
||||
WHEN:
|
||||
- API request to update an existing workflow with nested triggers actions
|
||||
THEN:
|
||||
- Triggers and actions are updated
|
||||
"""
|
||||
|
||||
response = self.client.patch(
|
||||
f"{self.ENDPOINT}{self.workflow.id}/",
|
||||
json.dumps(
|
||||
{
|
||||
"name": "Workflow Updated",
|
||||
"order": 1,
|
||||
"triggers": [
|
||||
{
|
||||
"type": WorkflowTrigger.WorkflowTriggerType.DOCUMENT_ADDED,
|
||||
"filter_has_tags": [self.t1.id],
|
||||
"filter_has_correspondent": self.c.id,
|
||||
"filter_has_document_type": self.dt.id,
|
||||
},
|
||||
],
|
||||
"actions": [
|
||||
{
|
||||
"assign_title": "Action New Title",
|
||||
},
|
||||
],
|
||||
},
|
||||
),
|
||||
content_type="application/json",
|
||||
)
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
workflow = Workflow.objects.get(id=response.data["id"])
|
||||
self.assertEqual(workflow.name, "Workflow Updated")
|
||||
self.assertEqual(workflow.triggers.first().filter_has_tags.first(), self.t1)
|
||||
self.assertEqual(workflow.actions.first().assign_title, "Action New Title")
|
||||
|
||||
def test_api_auto_remove_orphaned_triggers_actions(self):
|
||||
"""
|
||||
GIVEN:
|
||||
- Existing trigger and action
|
||||
WHEN:
|
||||
- API request is made which creates new trigger / actions
|
||||
THEN:
|
||||
- "Orphaned" triggers and actions are removed
|
||||
"""
|
||||
|
||||
response = self.client.patch(
|
||||
f"{self.ENDPOINT}{self.workflow.id}/",
|
||||
json.dumps(
|
||||
{
|
||||
"name": "Workflow Updated",
|
||||
"order": 1,
|
||||
"triggers": [
|
||||
{
|
||||
"type": WorkflowTrigger.WorkflowTriggerType.DOCUMENT_ADDED,
|
||||
"filter_has_tags": [self.t1.id],
|
||||
"filter_has_correspondent": self.c.id,
|
||||
"filter_has_document_type": self.dt.id,
|
||||
},
|
||||
],
|
||||
"actions": [
|
||||
{
|
||||
"assign_title": "Action New Title",
|
||||
},
|
||||
],
|
||||
},
|
||||
),
|
||||
content_type="application/json",
|
||||
)
|
||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||
workflow = Workflow.objects.get(id=response.data["id"])
|
||||
self.assertEqual(WorkflowTrigger.objects.all().count(), 1)
|
||||
self.assertNotEqual(workflow.triggers.first().id, self.trigger.id)
|
||||
self.assertEqual(WorkflowAction.objects.all().count(), 1)
|
||||
self.assertNotEqual(workflow.actions.first().id, self.action.id)
|
||||
@@ -172,7 +172,15 @@ class TestFieldPermutations(TestCase):
|
||||
self.assertEqual(info.title, "anotherall")
|
||||
|
||||
|
||||
class DummyParser(DocumentParser):
|
||||
class _BaseTestParser(DocumentParser):
|
||||
def get_settings(self):
|
||||
"""
|
||||
This parser does not implement additional settings yet
|
||||
"""
|
||||
return None
|
||||
|
||||
|
||||
class DummyParser(_BaseTestParser):
|
||||
def __init__(self, logging_group, scratch_dir, archive_path):
|
||||
super().__init__(logging_group, None)
|
||||
_, self.fake_thumb = tempfile.mkstemp(suffix=".webp", dir=scratch_dir)
|
||||
@@ -185,7 +193,7 @@ class DummyParser(DocumentParser):
|
||||
self.text = "The Text"
|
||||
|
||||
|
||||
class CopyParser(DocumentParser):
|
||||
class CopyParser(_BaseTestParser):
|
||||
def get_thumbnail(self, document_path, mime_type, file_name=None):
|
||||
return self.fake_thumb
|
||||
|
||||
@@ -199,7 +207,7 @@ class CopyParser(DocumentParser):
|
||||
shutil.copy(document_path, self.archive_path)
|
||||
|
||||
|
||||
class FaultyParser(DocumentParser):
|
||||
class FaultyParser(_BaseTestParser):
|
||||
def __init__(self, logging_group, scratch_dir):
|
||||
super().__init__(logging_group)
|
||||
_, self.fake_thumb = tempfile.mkstemp(suffix=".webp", dir=scratch_dir)
|
||||
@@ -211,7 +219,7 @@ class FaultyParser(DocumentParser):
|
||||
raise ParseError("Does not compute.")
|
||||
|
||||
|
||||
class FaultyGenericExceptionParser(DocumentParser):
|
||||
class FaultyGenericExceptionParser(_BaseTestParser):
|
||||
def __init__(self, logging_group, scratch_dir):
|
||||
super().__init__(logging_group)
|
||||
_, self.fake_thumb = tempfile.mkstemp(suffix=".webp", dir=scratch_dir)
|
||||
@@ -920,7 +928,7 @@ class PreConsumeTestCase(TestCase):
|
||||
@override_settings(PRE_CONSUME_SCRIPT=None)
|
||||
def test_no_pre_consume_script(self, m):
|
||||
c = Consumer()
|
||||
c.path = "path-to-file"
|
||||
c.working_copy = "path-to-file"
|
||||
c.run_pre_consume_script()
|
||||
m.assert_not_called()
|
||||
|
||||
@@ -930,7 +938,7 @@ class PreConsumeTestCase(TestCase):
|
||||
def test_pre_consume_script_not_found(self, m, m2):
|
||||
c = Consumer()
|
||||
c.filename = "somefile.pdf"
|
||||
c.path = "path-to-file"
|
||||
c.working_copy = "path-to-file"
|
||||
self.assertRaises(ConsumerError, c.run_pre_consume_script)
|
||||
|
||||
@mock.patch("documents.consumer.run")
|
||||
@@ -939,7 +947,7 @@ class PreConsumeTestCase(TestCase):
|
||||
with override_settings(PRE_CONSUME_SCRIPT=script.name):
|
||||
c = Consumer()
|
||||
c.original_path = "path-to-file"
|
||||
c.path = "/tmp/somewhere/path-to-file"
|
||||
c.working_copy = "/tmp/somewhere/path-to-file"
|
||||
c.task_id = str(uuid.uuid4())
|
||||
c.run_pre_consume_script()
|
||||
|
||||
@@ -955,7 +963,7 @@ class PreConsumeTestCase(TestCase):
|
||||
|
||||
subset = {
|
||||
"DOCUMENT_SOURCE_PATH": c.original_path,
|
||||
"DOCUMENT_WORKING_PATH": c.path,
|
||||
"DOCUMENT_WORKING_PATH": c.working_copy,
|
||||
"TASK_ID": c.task_id,
|
||||
}
|
||||
self.assertDictEqual(environment, {**environment, **subset})
|
||||
@@ -983,7 +991,7 @@ class PreConsumeTestCase(TestCase):
|
||||
with override_settings(PRE_CONSUME_SCRIPT=script.name):
|
||||
with self.assertLogs("paperless.consumer", level="INFO") as cm:
|
||||
c = Consumer()
|
||||
c.path = "path-to-file"
|
||||
c.working_copy = "path-to-file"
|
||||
|
||||
c.run_pre_consume_script()
|
||||
self.assertIn(
|
||||
@@ -1016,7 +1024,7 @@ class PreConsumeTestCase(TestCase):
|
||||
|
||||
with override_settings(PRE_CONSUME_SCRIPT=script.name):
|
||||
c = Consumer()
|
||||
c.path = "path-to-file"
|
||||
c.working_copy = "path-to-file"
|
||||
self.assertRaises(
|
||||
ConsumerError,
|
||||
c.run_pre_consume_script,
|
||||
|
||||
@@ -1,539 +0,0 @@
|
||||
from pathlib import Path
|
||||
from unittest import TestCase
|
||||
from unittest import mock
|
||||
|
||||
import pytest
|
||||
from django.contrib.auth.models import Group
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
from documents import tasks
|
||||
from documents.data_models import ConsumableDocument
|
||||
from documents.data_models import DocumentSource
|
||||
from documents.models import ConsumptionTemplate
|
||||
from documents.models import Correspondent
|
||||
from documents.models import CustomField
|
||||
from documents.models import DocumentType
|
||||
from documents.models import StoragePath
|
||||
from documents.models import Tag
|
||||
from documents.tests.utils import DirectoriesMixin
|
||||
from documents.tests.utils import FileSystemAssertsMixin
|
||||
from paperless_mail.models import MailAccount
|
||||
from paperless_mail.models import MailRule
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
class TestConsumptionTemplates(DirectoriesMixin, FileSystemAssertsMixin, TestCase):
|
||||
SAMPLE_DIR = Path(__file__).parent / "samples"
|
||||
|
||||
def setUp(self) -> None:
|
||||
self.c = Correspondent.objects.create(name="Correspondent Name")
|
||||
self.c2 = Correspondent.objects.create(name="Correspondent Name 2")
|
||||
self.dt = DocumentType.objects.create(name="DocType Name")
|
||||
self.t1 = Tag.objects.create(name="t1")
|
||||
self.t2 = Tag.objects.create(name="t2")
|
||||
self.t3 = Tag.objects.create(name="t3")
|
||||
self.sp = StoragePath.objects.create(path="/test/")
|
||||
self.cf1 = CustomField.objects.create(name="Custom Field 1", data_type="string")
|
||||
self.cf2 = CustomField.objects.create(
|
||||
name="Custom Field 2",
|
||||
data_type="integer",
|
||||
)
|
||||
|
||||
self.user2 = User.objects.create(username="user2")
|
||||
self.user3 = User.objects.create(username="user3")
|
||||
self.group1 = Group.objects.create(name="group1")
|
||||
|
||||
account1 = MailAccount.objects.create(
|
||||
name="Email1",
|
||||
username="username1",
|
||||
password="password1",
|
||||
imap_server="server.example.com",
|
||||
imap_port=443,
|
||||
imap_security=MailAccount.ImapSecurity.SSL,
|
||||
character_set="UTF-8",
|
||||
)
|
||||
self.rule1 = MailRule.objects.create(
|
||||
name="Rule1",
|
||||
account=account1,
|
||||
folder="INBOX",
|
||||
filter_from="from@example.com",
|
||||
filter_to="someone@somewhere.com",
|
||||
filter_subject="subject",
|
||||
filter_body="body",
|
||||
filter_attachment_filename_include="file.pdf",
|
||||
maximum_age=30,
|
||||
action=MailRule.MailAction.MARK_READ,
|
||||
assign_title_from=MailRule.TitleSource.NONE,
|
||||
assign_correspondent_from=MailRule.CorrespondentSource.FROM_NOTHING,
|
||||
order=0,
|
||||
attachment_type=MailRule.AttachmentProcessing.ATTACHMENTS_ONLY,
|
||||
assign_owner_from_rule=False,
|
||||
)
|
||||
|
||||
return super().setUp()
|
||||
|
||||
@mock.patch("documents.consumer.Consumer.try_consume_file")
|
||||
def test_consumption_template_match(self, m):
|
||||
"""
|
||||
GIVEN:
|
||||
- Existing consumption template
|
||||
WHEN:
|
||||
- File that matches is consumed
|
||||
THEN:
|
||||
- Template overrides are applied
|
||||
"""
|
||||
ct = ConsumptionTemplate.objects.create(
|
||||
name="Template 1",
|
||||
order=0,
|
||||
sources=f"{DocumentSource.ApiUpload},{DocumentSource.ConsumeFolder},{DocumentSource.MailFetch}",
|
||||
filter_filename="*simple*",
|
||||
filter_path="*/samples/*",
|
||||
assign_title="Doc from {correspondent}",
|
||||
assign_correspondent=self.c,
|
||||
assign_document_type=self.dt,
|
||||
assign_storage_path=self.sp,
|
||||
assign_owner=self.user2,
|
||||
)
|
||||
ct.assign_tags.add(self.t1)
|
||||
ct.assign_tags.add(self.t2)
|
||||
ct.assign_tags.add(self.t3)
|
||||
ct.assign_view_users.add(self.user3.pk)
|
||||
ct.assign_view_groups.add(self.group1.pk)
|
||||
ct.assign_change_users.add(self.user3.pk)
|
||||
ct.assign_change_groups.add(self.group1.pk)
|
||||
ct.assign_custom_fields.add(self.cf1.pk)
|
||||
ct.assign_custom_fields.add(self.cf2.pk)
|
||||
ct.save()
|
||||
|
||||
self.assertEqual(ct.__str__(), "Template 1")
|
||||
|
||||
test_file = self.SAMPLE_DIR / "simple.pdf"
|
||||
|
||||
with mock.patch("documents.tasks.async_to_sync"):
|
||||
with self.assertLogs("paperless.matching", level="INFO") as cm:
|
||||
tasks.consume_file(
|
||||
ConsumableDocument(
|
||||
source=DocumentSource.ConsumeFolder,
|
||||
original_file=test_file,
|
||||
),
|
||||
None,
|
||||
)
|
||||
m.assert_called_once()
|
||||
_, overrides = m.call_args
|
||||
self.assertEqual(overrides["override_correspondent_id"], self.c.pk)
|
||||
self.assertEqual(overrides["override_document_type_id"], self.dt.pk)
|
||||
self.assertEqual(
|
||||
overrides["override_tag_ids"],
|
||||
[self.t1.pk, self.t2.pk, self.t3.pk],
|
||||
)
|
||||
self.assertEqual(overrides["override_storage_path_id"], self.sp.pk)
|
||||
self.assertEqual(overrides["override_owner_id"], self.user2.pk)
|
||||
self.assertEqual(overrides["override_view_users"], [self.user3.pk])
|
||||
self.assertEqual(overrides["override_view_groups"], [self.group1.pk])
|
||||
self.assertEqual(overrides["override_change_users"], [self.user3.pk])
|
||||
self.assertEqual(overrides["override_change_groups"], [self.group1.pk])
|
||||
self.assertEqual(
|
||||
overrides["override_title"],
|
||||
"Doc from {correspondent}",
|
||||
)
|
||||
self.assertEqual(
|
||||
overrides["override_custom_field_ids"],
|
||||
[self.cf1.pk, self.cf2.pk],
|
||||
)
|
||||
|
||||
info = cm.output[0]
|
||||
expected_str = f"Document matched template {ct}"
|
||||
self.assertIn(expected_str, info)
|
||||
|
||||
@mock.patch("documents.consumer.Consumer.try_consume_file")
|
||||
def test_consumption_template_match_mailrule(self, m):
|
||||
"""
|
||||
GIVEN:
|
||||
- Existing consumption template
|
||||
WHEN:
|
||||
- File that matches is consumed via mail rule
|
||||
THEN:
|
||||
- Template overrides are applied
|
||||
"""
|
||||
ct = ConsumptionTemplate.objects.create(
|
||||
name="Template 1",
|
||||
order=0,
|
||||
sources=f"{DocumentSource.ApiUpload},{DocumentSource.ConsumeFolder},{DocumentSource.MailFetch}",
|
||||
filter_mailrule=self.rule1,
|
||||
assign_title="Doc from {correspondent}",
|
||||
assign_correspondent=self.c,
|
||||
assign_document_type=self.dt,
|
||||
assign_storage_path=self.sp,
|
||||
assign_owner=self.user2,
|
||||
)
|
||||
ct.assign_tags.add(self.t1)
|
||||
ct.assign_tags.add(self.t2)
|
||||
ct.assign_tags.add(self.t3)
|
||||
ct.assign_view_users.add(self.user3.pk)
|
||||
ct.assign_view_groups.add(self.group1.pk)
|
||||
ct.assign_change_users.add(self.user3.pk)
|
||||
ct.assign_change_groups.add(self.group1.pk)
|
||||
ct.save()
|
||||
|
||||
self.assertEqual(ct.__str__(), "Template 1")
|
||||
|
||||
test_file = self.SAMPLE_DIR / "simple.pdf"
|
||||
with mock.patch("documents.tasks.async_to_sync"):
|
||||
with self.assertLogs("paperless.matching", level="INFO") as cm:
|
||||
tasks.consume_file(
|
||||
ConsumableDocument(
|
||||
source=DocumentSource.ConsumeFolder,
|
||||
original_file=test_file,
|
||||
mailrule_id=self.rule1.pk,
|
||||
),
|
||||
None,
|
||||
)
|
||||
m.assert_called_once()
|
||||
_, overrides = m.call_args
|
||||
self.assertEqual(overrides["override_correspondent_id"], self.c.pk)
|
||||
self.assertEqual(overrides["override_document_type_id"], self.dt.pk)
|
||||
self.assertEqual(
|
||||
overrides["override_tag_ids"],
|
||||
[self.t1.pk, self.t2.pk, self.t3.pk],
|
||||
)
|
||||
self.assertEqual(overrides["override_storage_path_id"], self.sp.pk)
|
||||
self.assertEqual(overrides["override_owner_id"], self.user2.pk)
|
||||
self.assertEqual(overrides["override_view_users"], [self.user3.pk])
|
||||
self.assertEqual(overrides["override_view_groups"], [self.group1.pk])
|
||||
self.assertEqual(overrides["override_change_users"], [self.user3.pk])
|
||||
self.assertEqual(overrides["override_change_groups"], [self.group1.pk])
|
||||
self.assertEqual(
|
||||
overrides["override_title"],
|
||||
"Doc from {correspondent}",
|
||||
)
|
||||
|
||||
info = cm.output[0]
|
||||
expected_str = f"Document matched template {ct}"
|
||||
self.assertIn(expected_str, info)
|
||||
|
||||
@mock.patch("documents.consumer.Consumer.try_consume_file")
|
||||
def test_consumption_template_match_multiple(self, m):
|
||||
"""
|
||||
GIVEN:
|
||||
- Multiple existing consumption template
|
||||
WHEN:
|
||||
- File that matches is consumed
|
||||
THEN:
|
||||
- Template overrides are applied with subsequent templates only overwriting empty values
|
||||
or merging if multiple
|
||||
"""
|
||||
ct1 = ConsumptionTemplate.objects.create(
|
||||
name="Template 1",
|
||||
order=0,
|
||||
sources=f"{DocumentSource.ApiUpload},{DocumentSource.ConsumeFolder},{DocumentSource.MailFetch}",
|
||||
filter_path="*/samples/*",
|
||||
assign_title="Doc from {correspondent}",
|
||||
assign_correspondent=self.c,
|
||||
assign_document_type=self.dt,
|
||||
)
|
||||
ct1.assign_tags.add(self.t1)
|
||||
ct1.assign_tags.add(self.t2)
|
||||
ct1.assign_view_users.add(self.user2)
|
||||
ct1.save()
|
||||
ct2 = ConsumptionTemplate.objects.create(
|
||||
name="Template 2",
|
||||
order=0,
|
||||
sources=f"{DocumentSource.ApiUpload},{DocumentSource.ConsumeFolder},{DocumentSource.MailFetch}",
|
||||
filter_filename="*simple*",
|
||||
assign_title="Doc from {correspondent}",
|
||||
assign_correspondent=self.c2,
|
||||
assign_storage_path=self.sp,
|
||||
)
|
||||
ct2.assign_tags.add(self.t3)
|
||||
ct1.assign_view_users.add(self.user3)
|
||||
ct2.save()
|
||||
|
||||
test_file = self.SAMPLE_DIR / "simple.pdf"
|
||||
|
||||
with mock.patch("documents.tasks.async_to_sync"):
|
||||
with self.assertLogs("paperless.matching", level="INFO") as cm:
|
||||
tasks.consume_file(
|
||||
ConsumableDocument(
|
||||
source=DocumentSource.ConsumeFolder,
|
||||
original_file=test_file,
|
||||
),
|
||||
None,
|
||||
)
|
||||
m.assert_called_once()
|
||||
_, overrides = m.call_args
|
||||
# template 1
|
||||
self.assertEqual(overrides["override_correspondent_id"], self.c.pk)
|
||||
self.assertEqual(overrides["override_document_type_id"], self.dt.pk)
|
||||
# template 2
|
||||
self.assertEqual(overrides["override_storage_path_id"], self.sp.pk)
|
||||
# template 1 & 2
|
||||
self.assertEqual(
|
||||
overrides["override_tag_ids"],
|
||||
[self.t1.pk, self.t2.pk, self.t3.pk],
|
||||
)
|
||||
self.assertEqual(
|
||||
overrides["override_view_users"],
|
||||
[self.user2.pk, self.user3.pk],
|
||||
)
|
||||
|
||||
expected_str = f"Document matched template {ct1}"
|
||||
self.assertIn(expected_str, cm.output[0])
|
||||
expected_str = f"Document matched template {ct2}"
|
||||
self.assertIn(expected_str, cm.output[1])
|
||||
|
||||
@mock.patch("documents.consumer.Consumer.try_consume_file")
|
||||
def test_consumption_template_no_match_filename(self, m):
|
||||
"""
|
||||
GIVEN:
|
||||
- Existing consumption template
|
||||
WHEN:
|
||||
- File that does not match on filename is consumed
|
||||
THEN:
|
||||
- Template overrides are not applied
|
||||
"""
|
||||
ct = ConsumptionTemplate.objects.create(
|
||||
name="Template 1",
|
||||
order=0,
|
||||
sources=f"{DocumentSource.ApiUpload},{DocumentSource.ConsumeFolder},{DocumentSource.MailFetch}",
|
||||
filter_filename="*foobar*",
|
||||
filter_path=None,
|
||||
assign_title="Doc from {correspondent}",
|
||||
assign_correspondent=self.c,
|
||||
assign_document_type=self.dt,
|
||||
assign_storage_path=self.sp,
|
||||
assign_owner=self.user2,
|
||||
)
|
||||
|
||||
test_file = self.SAMPLE_DIR / "simple.pdf"
|
||||
|
||||
with mock.patch("documents.tasks.async_to_sync"):
|
||||
with self.assertLogs("paperless.matching", level="DEBUG") as cm:
|
||||
tasks.consume_file(
|
||||
ConsumableDocument(
|
||||
source=DocumentSource.ConsumeFolder,
|
||||
original_file=test_file,
|
||||
),
|
||||
None,
|
||||
)
|
||||
m.assert_called_once()
|
||||
_, overrides = m.call_args
|
||||
self.assertIsNone(overrides["override_correspondent_id"])
|
||||
self.assertIsNone(overrides["override_document_type_id"])
|
||||
self.assertIsNone(overrides["override_tag_ids"])
|
||||
self.assertIsNone(overrides["override_storage_path_id"])
|
||||
self.assertIsNone(overrides["override_owner_id"])
|
||||
self.assertIsNone(overrides["override_view_users"])
|
||||
self.assertIsNone(overrides["override_view_groups"])
|
||||
self.assertIsNone(overrides["override_change_users"])
|
||||
self.assertIsNone(overrides["override_change_groups"])
|
||||
self.assertIsNone(overrides["override_title"])
|
||||
|
||||
expected_str = f"Document did not match template {ct}"
|
||||
self.assertIn(expected_str, cm.output[0])
|
||||
expected_str = f"Document filename {test_file.name} does not match"
|
||||
self.assertIn(expected_str, cm.output[1])
|
||||
|
||||
@mock.patch("documents.consumer.Consumer.try_consume_file")
|
||||
def test_consumption_template_no_match_path(self, m):
|
||||
"""
|
||||
GIVEN:
|
||||
- Existing consumption template
|
||||
WHEN:
|
||||
- File that does not match on path is consumed
|
||||
THEN:
|
||||
- Template overrides are not applied
|
||||
"""
|
||||
ct = ConsumptionTemplate.objects.create(
|
||||
name="Template 1",
|
||||
order=0,
|
||||
sources=f"{DocumentSource.ApiUpload},{DocumentSource.ConsumeFolder},{DocumentSource.MailFetch}",
|
||||
filter_path="*foo/bar*",
|
||||
assign_title="Doc from {correspondent}",
|
||||
assign_correspondent=self.c,
|
||||
assign_document_type=self.dt,
|
||||
assign_storage_path=self.sp,
|
||||
assign_owner=self.user2,
|
||||
)
|
||||
|
||||
test_file = self.SAMPLE_DIR / "simple.pdf"
|
||||
|
||||
with mock.patch("documents.tasks.async_to_sync"):
|
||||
with self.assertLogs("paperless.matching", level="DEBUG") as cm:
|
||||
tasks.consume_file(
|
||||
ConsumableDocument(
|
||||
source=DocumentSource.ConsumeFolder,
|
||||
original_file=test_file,
|
||||
),
|
||||
None,
|
||||
)
|
||||
m.assert_called_once()
|
||||
_, overrides = m.call_args
|
||||
self.assertIsNone(overrides["override_correspondent_id"])
|
||||
self.assertIsNone(overrides["override_document_type_id"])
|
||||
self.assertIsNone(overrides["override_tag_ids"])
|
||||
self.assertIsNone(overrides["override_storage_path_id"])
|
||||
self.assertIsNone(overrides["override_owner_id"])
|
||||
self.assertIsNone(overrides["override_view_users"])
|
||||
self.assertIsNone(overrides["override_view_groups"])
|
||||
self.assertIsNone(overrides["override_change_users"])
|
||||
self.assertIsNone(overrides["override_change_groups"])
|
||||
self.assertIsNone(overrides["override_title"])
|
||||
|
||||
expected_str = f"Document did not match template {ct}"
|
||||
self.assertIn(expected_str, cm.output[0])
|
||||
expected_str = f"Document path {test_file} does not match"
|
||||
self.assertIn(expected_str, cm.output[1])
|
||||
|
||||
@mock.patch("documents.consumer.Consumer.try_consume_file")
|
||||
def test_consumption_template_no_match_mail_rule(self, m):
|
||||
"""
|
||||
GIVEN:
|
||||
- Existing consumption template
|
||||
WHEN:
|
||||
- File that does not match on source is consumed
|
||||
THEN:
|
||||
- Template overrides are not applied
|
||||
"""
|
||||
ct = ConsumptionTemplate.objects.create(
|
||||
name="Template 1",
|
||||
order=0,
|
||||
sources=f"{DocumentSource.ApiUpload},{DocumentSource.ConsumeFolder},{DocumentSource.MailFetch}",
|
||||
filter_mailrule=self.rule1,
|
||||
assign_title="Doc from {correspondent}",
|
||||
assign_correspondent=self.c,
|
||||
assign_document_type=self.dt,
|
||||
assign_storage_path=self.sp,
|
||||
assign_owner=self.user2,
|
||||
)
|
||||
|
||||
test_file = self.SAMPLE_DIR / "simple.pdf"
|
||||
|
||||
with mock.patch("documents.tasks.async_to_sync"):
|
||||
with self.assertLogs("paperless.matching", level="DEBUG") as cm:
|
||||
tasks.consume_file(
|
||||
ConsumableDocument(
|
||||
source=DocumentSource.ConsumeFolder,
|
||||
original_file=test_file,
|
||||
mailrule_id=99,
|
||||
),
|
||||
None,
|
||||
)
|
||||
m.assert_called_once()
|
||||
_, overrides = m.call_args
|
||||
self.assertIsNone(overrides["override_correspondent_id"])
|
||||
self.assertIsNone(overrides["override_document_type_id"])
|
||||
self.assertIsNone(overrides["override_tag_ids"])
|
||||
self.assertIsNone(overrides["override_storage_path_id"])
|
||||
self.assertIsNone(overrides["override_owner_id"])
|
||||
self.assertIsNone(overrides["override_view_users"])
|
||||
self.assertIsNone(overrides["override_view_groups"])
|
||||
self.assertIsNone(overrides["override_change_users"])
|
||||
self.assertIsNone(overrides["override_change_groups"])
|
||||
self.assertIsNone(overrides["override_title"])
|
||||
|
||||
expected_str = f"Document did not match template {ct}"
|
||||
self.assertIn(expected_str, cm.output[0])
|
||||
expected_str = "Document mail rule 99 !="
|
||||
self.assertIn(expected_str, cm.output[1])
|
||||
|
||||
@mock.patch("documents.consumer.Consumer.try_consume_file")
|
||||
def test_consumption_template_no_match_source(self, m):
|
||||
"""
|
||||
GIVEN:
|
||||
- Existing consumption template
|
||||
WHEN:
|
||||
- File that does not match on source is consumed
|
||||
THEN:
|
||||
- Template overrides are not applied
|
||||
"""
|
||||
ct = ConsumptionTemplate.objects.create(
|
||||
name="Template 1",
|
||||
order=0,
|
||||
sources=f"{DocumentSource.ConsumeFolder},{DocumentSource.MailFetch}",
|
||||
filter_path="*",
|
||||
assign_title="Doc from {correspondent}",
|
||||
assign_correspondent=self.c,
|
||||
assign_document_type=self.dt,
|
||||
assign_storage_path=self.sp,
|
||||
assign_owner=self.user2,
|
||||
)
|
||||
|
||||
test_file = self.SAMPLE_DIR / "simple.pdf"
|
||||
|
||||
with mock.patch("documents.tasks.async_to_sync"):
|
||||
with self.assertLogs("paperless.matching", level="DEBUG") as cm:
|
||||
tasks.consume_file(
|
||||
ConsumableDocument(
|
||||
source=DocumentSource.ApiUpload,
|
||||
original_file=test_file,
|
||||
),
|
||||
None,
|
||||
)
|
||||
m.assert_called_once()
|
||||
_, overrides = m.call_args
|
||||
self.assertIsNone(overrides["override_correspondent_id"])
|
||||
self.assertIsNone(overrides["override_document_type_id"])
|
||||
self.assertIsNone(overrides["override_tag_ids"])
|
||||
self.assertIsNone(overrides["override_storage_path_id"])
|
||||
self.assertIsNone(overrides["override_owner_id"])
|
||||
self.assertIsNone(overrides["override_view_users"])
|
||||
self.assertIsNone(overrides["override_view_groups"])
|
||||
self.assertIsNone(overrides["override_change_users"])
|
||||
self.assertIsNone(overrides["override_change_groups"])
|
||||
self.assertIsNone(overrides["override_title"])
|
||||
|
||||
expected_str = f"Document did not match template {ct}"
|
||||
self.assertIn(expected_str, cm.output[0])
|
||||
expected_str = f"Document source {DocumentSource.ApiUpload.name} not in ['{DocumentSource.ConsumeFolder.name}', '{DocumentSource.MailFetch.name}']"
|
||||
self.assertIn(expected_str, cm.output[1])
|
||||
|
||||
@mock.patch("documents.consumer.Consumer.try_consume_file")
|
||||
def test_consumption_template_repeat_custom_fields(self, m):
|
||||
"""
|
||||
GIVEN:
|
||||
- Existing consumption templates which assign the same custom field
|
||||
WHEN:
|
||||
- File that matches is consumed
|
||||
THEN:
|
||||
- Custom field is added the first time successfully
|
||||
"""
|
||||
ct = ConsumptionTemplate.objects.create(
|
||||
name="Template 1",
|
||||
order=0,
|
||||
sources=f"{DocumentSource.ApiUpload},{DocumentSource.ConsumeFolder},{DocumentSource.MailFetch}",
|
||||
filter_filename="*simple*",
|
||||
)
|
||||
ct.assign_custom_fields.add(self.cf1.pk)
|
||||
ct.save()
|
||||
|
||||
ct2 = ConsumptionTemplate.objects.create(
|
||||
name="Template 2",
|
||||
order=1,
|
||||
sources=f"{DocumentSource.ApiUpload},{DocumentSource.ConsumeFolder},{DocumentSource.MailFetch}",
|
||||
filter_filename="*simple*",
|
||||
)
|
||||
ct2.assign_custom_fields.add(self.cf1.pk)
|
||||
ct2.save()
|
||||
|
||||
test_file = self.SAMPLE_DIR / "simple.pdf"
|
||||
|
||||
with mock.patch("documents.tasks.async_to_sync"):
|
||||
with self.assertLogs("paperless.matching", level="INFO") as cm:
|
||||
tasks.consume_file(
|
||||
ConsumableDocument(
|
||||
source=DocumentSource.ConsumeFolder,
|
||||
original_file=test_file,
|
||||
),
|
||||
None,
|
||||
)
|
||||
m.assert_called_once()
|
||||
_, overrides = m.call_args
|
||||
self.assertEqual(
|
||||
overrides["override_custom_field_ids"],
|
||||
[self.cf1.pk],
|
||||
)
|
||||
|
||||
expected_str = f"Document matched template {ct}"
|
||||
self.assertIn(expected_str, cm.output[0])
|
||||
expected_str = f"Document matched template {ct2}"
|
||||
self.assertIn(expected_str, cm.output[1])
|
||||
@@ -1007,6 +1007,9 @@ class TestFilenameGeneration(DirectoriesMixin, TestCase):
|
||||
self.assertEqual(generate_filename(doc_a), "ThisIsAFolder/4/2020-06-25.pdf")
|
||||
self.assertEqual(generate_filename(doc_b), "SomeImportantNone/2020-07-25.pdf")
|
||||
|
||||
@override_settings(
|
||||
FILENAME_FORMAT=None,
|
||||
)
|
||||
def test_no_path_fallback(self):
|
||||
"""
|
||||
GIVEN:
|
||||
@@ -1157,3 +1160,28 @@ class TestFilenameGeneration(DirectoriesMixin, TestCase):
|
||||
|
||||
self.assertEqual(generate_filename(text_doc), "logs.txt")
|
||||
self.assertEqual(generate_filename(text_doc, archive_filename=True), "logs.pdf")
|
||||
|
||||
@override_settings(
|
||||
FILENAME_FORMAT="XX{correspondent}/{title}",
|
||||
FILENAME_FORMAT_REMOVE_NONE=True,
|
||||
)
|
||||
def test_remove_none_not_dir(self):
|
||||
"""
|
||||
GIVEN:
|
||||
- A document with & filename format that includes correspondent as part of directory name
|
||||
- FILENAME_FORMAT_REMOVE_NONE is True
|
||||
WHEN:
|
||||
- the filename is generated for the document
|
||||
THEN:
|
||||
- the missing correspondent is removed but directory structure retained
|
||||
"""
|
||||
document = Document.objects.create(
|
||||
title="doc1",
|
||||
mime_type="application/pdf",
|
||||
)
|
||||
document.storage_type = Document.STORAGE_TYPE_UNENCRYPTED
|
||||
document.save()
|
||||
|
||||
# Ensure that filename is properly generated
|
||||
document.filename = generate_filename(document)
|
||||
self.assertEqual(document.filename, "XX/doc1.pdf")
|
||||
|
||||
@@ -21,7 +21,6 @@ from guardian.models import UserObjectPermission
|
||||
from guardian.shortcuts import assign_perm
|
||||
|
||||
from documents.management.commands import document_exporter
|
||||
from documents.models import ConsumptionTemplate
|
||||
from documents.models import Correspondent
|
||||
from documents.models import CustomField
|
||||
from documents.models import CustomFieldInstance
|
||||
@@ -31,6 +30,9 @@ from documents.models import Note
|
||||
from documents.models import StoragePath
|
||||
from documents.models import Tag
|
||||
from documents.models import User
|
||||
from documents.models import Workflow
|
||||
from documents.models import WorkflowAction
|
||||
from documents.models import WorkflowTrigger
|
||||
from documents.sanity_checker import check_sanity
|
||||
from documents.settings import EXPORTER_FILE_NAME
|
||||
from documents.tests.utils import DirectoriesMixin
|
||||
@@ -40,7 +42,7 @@ from documents.tests.utils import paperless_environment
|
||||
|
||||
class TestExportImport(DirectoriesMixin, FileSystemAssertsMixin, TestCase):
|
||||
def setUp(self) -> None:
|
||||
self.target = tempfile.mkdtemp()
|
||||
self.target = Path(tempfile.mkdtemp())
|
||||
self.addCleanup(shutil.rmtree, self.target)
|
||||
|
||||
self.user = User.objects.create(username="temp_admin")
|
||||
@@ -109,7 +111,16 @@ class TestExportImport(DirectoriesMixin, FileSystemAssertsMixin, TestCase):
|
||||
self.d4.storage_path = self.sp1
|
||||
self.d4.save()
|
||||
|
||||
self.ct1 = ConsumptionTemplate.objects.create(name="CT 1", filter_path="*")
|
||||
self.trigger = WorkflowTrigger.objects.create(
|
||||
type=WorkflowTrigger.WorkflowTriggerType.CONSUMPTION,
|
||||
sources=[1],
|
||||
filter_filename="*",
|
||||
)
|
||||
self.action = WorkflowAction.objects.create(assign_title="new title")
|
||||
self.workflow = Workflow.objects.create(name="Workflow 1", order="0")
|
||||
self.workflow.triggers.add(self.trigger)
|
||||
self.workflow.actions.add(self.action)
|
||||
self.workflow.save()
|
||||
|
||||
super().setUp()
|
||||
|
||||
@@ -168,7 +179,7 @@ class TestExportImport(DirectoriesMixin, FileSystemAssertsMixin, TestCase):
|
||||
|
||||
manifest = self._do_export(use_filename_format=use_filename_format)
|
||||
|
||||
self.assertEqual(len(manifest), 172)
|
||||
self.assertEqual(len(manifest), 190)
|
||||
|
||||
# dont include consumer or AnonymousUser users
|
||||
self.assertEqual(
|
||||
@@ -262,7 +273,7 @@ class TestExportImport(DirectoriesMixin, FileSystemAssertsMixin, TestCase):
|
||||
self.assertEqual(Document.objects.get(id=self.d4.id).title, "wow_dec")
|
||||
self.assertEqual(GroupObjectPermission.objects.count(), 1)
|
||||
self.assertEqual(UserObjectPermission.objects.count(), 1)
|
||||
self.assertEqual(Permission.objects.count(), 124)
|
||||
self.assertEqual(Permission.objects.count(), 136)
|
||||
messages = check_sanity()
|
||||
# everything is alright after the test
|
||||
self.assertEqual(len(messages), 0)
|
||||
@@ -485,6 +496,54 @@ class TestExportImport(DirectoriesMixin, FileSystemAssertsMixin, TestCase):
|
||||
self.assertIn("manifest.json", zip.namelist())
|
||||
self.assertIn("version.json", zip.namelist())
|
||||
|
||||
@override_settings(PASSPHRASE="test")
|
||||
def test_export_zipped_with_delete(self):
|
||||
"""
|
||||
GIVEN:
|
||||
- Request to export documents to zipfile
|
||||
- There is one existing file in the target
|
||||
- There is one existing directory in the target
|
||||
WHEN:
|
||||
- Documents are exported
|
||||
- deletion of existing files is requested
|
||||
THEN:
|
||||
- Zipfile is created
|
||||
- Zipfile contains exported files
|
||||
- The existing file and directory in target are removed
|
||||
"""
|
||||
shutil.rmtree(os.path.join(self.dirs.media_dir, "documents"))
|
||||
shutil.copytree(
|
||||
os.path.join(os.path.dirname(__file__), "samples", "documents"),
|
||||
os.path.join(self.dirs.media_dir, "documents"),
|
||||
)
|
||||
|
||||
# Create stuff in target directory
|
||||
existing_file = self.target / "test.txt"
|
||||
existing_file.touch()
|
||||
existing_dir = self.target / "somedir"
|
||||
existing_dir.mkdir(parents=True)
|
||||
|
||||
self.assertIsFile(existing_file)
|
||||
self.assertIsDir(existing_dir)
|
||||
|
||||
args = ["document_exporter", self.target, "--zip", "--delete"]
|
||||
|
||||
call_command(*args)
|
||||
|
||||
expected_file = os.path.join(
|
||||
self.target,
|
||||
f"export-{timezone.localdate().isoformat()}.zip",
|
||||
)
|
||||
|
||||
self.assertIsFile(expected_file)
|
||||
self.assertIsNotFile(existing_file)
|
||||
self.assertIsNotDir(existing_dir)
|
||||
|
||||
with ZipFile(expected_file) as zip:
|
||||
self.assertEqual(len(zip.namelist()), 11)
|
||||
self.assertIn("manifest.json", zip.namelist())
|
||||
self.assertIn("version.json", zip.namelist())
|
||||
|
||||
def test_export_target_not_exists(self):
|
||||
"""
|
||||
GIVEN:
|
||||
@@ -694,15 +753,15 @@ class TestExportImport(DirectoriesMixin, FileSystemAssertsMixin, TestCase):
|
||||
os.path.join(self.dirs.media_dir, "documents"),
|
||||
)
|
||||
|
||||
self.assertEqual(ContentType.objects.count(), 31)
|
||||
self.assertEqual(Permission.objects.count(), 124)
|
||||
self.assertEqual(ContentType.objects.count(), 34)
|
||||
self.assertEqual(Permission.objects.count(), 136)
|
||||
|
||||
manifest = self._do_export()
|
||||
|
||||
with paperless_environment():
|
||||
self.assertEqual(
|
||||
len(list(filter(lambda e: e["model"] == "auth.permission", manifest))),
|
||||
124,
|
||||
136,
|
||||
)
|
||||
# add 1 more to db to show objects are not re-created by import
|
||||
Permission.objects.create(
|
||||
@@ -710,7 +769,7 @@ class TestExportImport(DirectoriesMixin, FileSystemAssertsMixin, TestCase):
|
||||
codename="test_perm",
|
||||
content_type_id=1,
|
||||
)
|
||||
self.assertEqual(Permission.objects.count(), 125)
|
||||
self.assertEqual(Permission.objects.count(), 137)
|
||||
|
||||
# will cause an import error
|
||||
self.user.delete()
|
||||
@@ -719,5 +778,5 @@ class TestExportImport(DirectoriesMixin, FileSystemAssertsMixin, TestCase):
|
||||
with self.assertRaises(IntegrityError):
|
||||
call_command("document_importer", "--no-progress-bar", self.target)
|
||||
|
||||
self.assertEqual(ContentType.objects.count(), 31)
|
||||
self.assertEqual(Permission.objects.count(), 125)
|
||||
self.assertEqual(ContentType.objects.count(), 34)
|
||||
self.assertEqual(Permission.objects.count(), 137)
|
||||
|
||||
@@ -33,11 +33,18 @@ class TestReverseMigrateConsumptionTemplate(TestMigrations):
|
||||
self.Permission = apps.get_model("auth", "Permission")
|
||||
self.user = User.objects.create(username="user1")
|
||||
self.group = Group.objects.create(name="group1")
|
||||
permission = self.Permission.objects.get(codename="add_consumptiontemplate")
|
||||
self.user.user_permissions.add(permission.id)
|
||||
self.group.permissions.add(permission.id)
|
||||
permission = self.Permission.objects.filter(
|
||||
codename="add_consumptiontemplate",
|
||||
).first()
|
||||
if permission is not None:
|
||||
self.user.user_permissions.add(permission.id)
|
||||
self.group.permissions.add(permission.id)
|
||||
|
||||
def test_remove_consumptiontemplate_permissions(self):
|
||||
permission = self.Permission.objects.get(codename="add_consumptiontemplate")
|
||||
self.assertFalse(self.user.has_perm(f"documents.{permission.codename}"))
|
||||
self.assertFalse(permission in self.group.permissions.all())
|
||||
permission = self.Permission.objects.filter(
|
||||
codename="add_consumptiontemplate",
|
||||
).first()
|
||||
# can be None ? now that CTs removed
|
||||
if permission is not None:
|
||||
self.assertFalse(self.user.has_perm(f"documents.{permission.codename}"))
|
||||
self.assertFalse(permission in self.group.permissions.all())
|
||||
|
||||
131
src/documents/tests/test_migration_workflows.py
Normal file
131
src/documents/tests/test_migration_workflows.py
Normal file
@@ -0,0 +1,131 @@
|
||||
from documents.data_models import DocumentSource
|
||||
from documents.tests.utils import TestMigrations
|
||||
|
||||
|
||||
class TestMigrateWorkflow(TestMigrations):
|
||||
migrate_from = "1043_alter_savedviewfilterrule_rule_type"
|
||||
migrate_to = "1044_workflow_workflowaction_workflowtrigger_and_more"
|
||||
dependencies = (
|
||||
("paperless_mail", "0023_remove_mailrule_filter_attachment_filename_and_more"),
|
||||
)
|
||||
|
||||
def setUpBeforeMigration(self, apps):
|
||||
User = apps.get_model("auth", "User")
|
||||
Group = apps.get_model("auth", "Group")
|
||||
self.Permission = apps.get_model("auth", "Permission")
|
||||
self.user = User.objects.create(username="user1")
|
||||
self.group = Group.objects.create(name="group1")
|
||||
permission = self.Permission.objects.get(codename="add_document")
|
||||
self.user.user_permissions.add(permission.id)
|
||||
self.group.permissions.add(permission.id)
|
||||
|
||||
# create a CT to migrate
|
||||
c = apps.get_model("documents", "Correspondent").objects.create(
|
||||
name="Correspondent Name",
|
||||
)
|
||||
dt = apps.get_model("documents", "DocumentType").objects.create(
|
||||
name="DocType Name",
|
||||
)
|
||||
t1 = apps.get_model("documents", "Tag").objects.create(name="t1")
|
||||
sp = apps.get_model("documents", "StoragePath").objects.create(path="/test/")
|
||||
cf1 = apps.get_model("documents", "CustomField").objects.create(
|
||||
name="Custom Field 1",
|
||||
data_type="string",
|
||||
)
|
||||
ma = apps.get_model("paperless_mail", "MailAccount").objects.create(
|
||||
name="MailAccount 1",
|
||||
)
|
||||
mr = apps.get_model("paperless_mail", "MailRule").objects.create(
|
||||
name="MailRule 1",
|
||||
order=0,
|
||||
account=ma,
|
||||
)
|
||||
|
||||
user2 = User.objects.create(username="user2")
|
||||
user3 = User.objects.create(username="user3")
|
||||
group2 = Group.objects.create(name="group2")
|
||||
|
||||
ConsumptionTemplate = apps.get_model("documents", "ConsumptionTemplate")
|
||||
|
||||
ct = ConsumptionTemplate.objects.create(
|
||||
name="Template 1",
|
||||
order=0,
|
||||
sources=f"{DocumentSource.ApiUpload},{DocumentSource.ConsumeFolder},{DocumentSource.MailFetch}",
|
||||
filter_filename="*simple*",
|
||||
filter_path="*/samples/*",
|
||||
filter_mailrule=mr,
|
||||
assign_title="Doc from {correspondent}",
|
||||
assign_correspondent=c,
|
||||
assign_document_type=dt,
|
||||
assign_storage_path=sp,
|
||||
assign_owner=user2,
|
||||
)
|
||||
|
||||
ct.assign_tags.add(t1)
|
||||
ct.assign_view_users.add(user3)
|
||||
ct.assign_view_groups.add(group2)
|
||||
ct.assign_change_users.add(user3)
|
||||
ct.assign_change_groups.add(group2)
|
||||
ct.assign_custom_fields.add(cf1)
|
||||
ct.save()
|
||||
|
||||
def test_users_with_add_documents_get_add_and_workflow_templates_get_migrated(self):
|
||||
permission = self.Permission.objects.get(codename="add_workflow")
|
||||
self.assertTrue(permission in self.user.user_permissions.all())
|
||||
self.assertTrue(permission in self.group.permissions.all())
|
||||
|
||||
Workflow = self.apps.get_model("documents", "Workflow")
|
||||
self.assertEqual(Workflow.objects.all().count(), 1)
|
||||
|
||||
|
||||
class TestReverseMigrateWorkflow(TestMigrations):
|
||||
migrate_from = "1044_workflow_workflowaction_workflowtrigger_and_more"
|
||||
migrate_to = "1043_alter_savedviewfilterrule_rule_type"
|
||||
|
||||
def setUpBeforeMigration(self, apps):
|
||||
User = apps.get_model("auth", "User")
|
||||
Group = apps.get_model("auth", "Group")
|
||||
self.Permission = apps.get_model("auth", "Permission")
|
||||
self.user = User.objects.create(username="user1")
|
||||
self.group = Group.objects.create(name="group1")
|
||||
permission = self.Permission.objects.filter(
|
||||
codename="add_workflow",
|
||||
).first()
|
||||
if permission is not None:
|
||||
self.user.user_permissions.add(permission.id)
|
||||
self.group.permissions.add(permission.id)
|
||||
|
||||
Workflow = apps.get_model("documents", "Workflow")
|
||||
WorkflowTrigger = apps.get_model("documents", "WorkflowTrigger")
|
||||
WorkflowAction = apps.get_model("documents", "WorkflowAction")
|
||||
|
||||
trigger = WorkflowTrigger.objects.create(
|
||||
type=0,
|
||||
sources=[DocumentSource.ConsumeFolder],
|
||||
filter_path="*/path/*",
|
||||
filter_filename="*file*",
|
||||
)
|
||||
|
||||
action = WorkflowAction.objects.create(
|
||||
assign_title="assign title",
|
||||
)
|
||||
workflow = Workflow.objects.create(
|
||||
name="workflow 1",
|
||||
order=0,
|
||||
)
|
||||
workflow.triggers.set([trigger])
|
||||
workflow.actions.set([action])
|
||||
workflow.save()
|
||||
|
||||
def test_remove_workflow_permissions_and_migrate_workflows_to_consumption_templates(
|
||||
self,
|
||||
):
|
||||
permission = self.Permission.objects.filter(
|
||||
codename="add_workflow",
|
||||
).first()
|
||||
if permission is not None:
|
||||
self.assertFalse(permission in self.user.user_permissions.all())
|
||||
self.assertFalse(permission in self.group.permissions.all())
|
||||
|
||||
ConsumptionTemplate = self.apps.get_model("documents", "ConsumptionTemplate")
|
||||
self.assertEqual(ConsumptionTemplate.objects.all().count(), 1)
|
||||
1064
src/documents/tests/test_workflows.py
Normal file
1064
src/documents/tests/test_workflows.py
Normal file
File diff suppressed because it is too large
Load Diff
@@ -265,6 +265,7 @@ class TestMigrations(TransactionTestCase):
|
||||
return apps.get_containing_app_config(type(self).__module__).name
|
||||
|
||||
migrate_from = None
|
||||
dependencies = None
|
||||
migrate_to = None
|
||||
auto_migrate = True
|
||||
|
||||
@@ -277,6 +278,8 @@ class TestMigrations(TransactionTestCase):
|
||||
type(self).__name__,
|
||||
)
|
||||
self.migrate_from = [(self.app, self.migrate_from)]
|
||||
if self.dependencies is not None:
|
||||
self.migrate_from.extend(self.dependencies)
|
||||
self.migrate_to = [(self.app, self.migrate_to)]
|
||||
executor = MigrationExecutor(connection)
|
||||
old_apps = executor.loader.project_state(self.migrate_from).apps
|
||||
|
||||
29
src/documents/validators.py
Normal file
29
src/documents/validators.py
Normal file
@@ -0,0 +1,29 @@
|
||||
from urllib.parse import urlparse
|
||||
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
|
||||
def uri_validator(value) -> None:
|
||||
"""
|
||||
Raises a ValidationError if the given value does not parse as an
|
||||
URI looking thing, which we're defining as a scheme and either network
|
||||
location or path value
|
||||
"""
|
||||
try:
|
||||
parts = urlparse(value)
|
||||
if not parts.scheme:
|
||||
raise ValidationError(
|
||||
_(f"Unable to parse URI {value}, missing scheme"),
|
||||
params={"value": value},
|
||||
)
|
||||
elif not parts.netloc and not parts.path:
|
||||
raise ValidationError(
|
||||
_(f"Unable to parse URI {value}, missing net location or path"),
|
||||
params={"value": value},
|
||||
)
|
||||
except Exception as e:
|
||||
raise ValidationError(
|
||||
_(f"Unable to parse URI {value}"),
|
||||
params={"value": value},
|
||||
) from e
|
||||
@@ -66,6 +66,7 @@ from documents.data_models import ConsumableDocument
|
||||
from documents.data_models import DocumentMetadataOverrides
|
||||
from documents.data_models import DocumentSource
|
||||
from documents.filters import CorrespondentFilterSet
|
||||
from documents.filters import CustomFieldFilterSet
|
||||
from documents.filters import DocumentFilterSet
|
||||
from documents.filters import DocumentTypeFilterSet
|
||||
from documents.filters import ObjectOwnedOrGrantedPermissionsFilter
|
||||
@@ -76,7 +77,6 @@ from documents.matching import match_correspondents
|
||||
from documents.matching import match_document_types
|
||||
from documents.matching import match_storage_paths
|
||||
from documents.matching import match_tags
|
||||
from documents.models import ConsumptionTemplate
|
||||
from documents.models import Correspondent
|
||||
from documents.models import CustomField
|
||||
from documents.models import Document
|
||||
@@ -87,6 +87,9 @@ from documents.models import SavedView
|
||||
from documents.models import ShareLink
|
||||
from documents.models import StoragePath
|
||||
from documents.models import Tag
|
||||
from documents.models import Workflow
|
||||
from documents.models import WorkflowAction
|
||||
from documents.models import WorkflowTrigger
|
||||
from documents.parsers import get_parser_class_for_mime_type
|
||||
from documents.parsers import parse_date_generator
|
||||
from documents.permissions import PaperlessAdminPermissions
|
||||
@@ -98,7 +101,6 @@ from documents.serialisers import AcknowledgeTasksViewSerializer
|
||||
from documents.serialisers import BulkDownloadSerializer
|
||||
from documents.serialisers import BulkEditObjectPermissionsSerializer
|
||||
from documents.serialisers import BulkEditSerializer
|
||||
from documents.serialisers import ConsumptionTemplateSerializer
|
||||
from documents.serialisers import CorrespondentSerializer
|
||||
from documents.serialisers import CustomFieldSerializer
|
||||
from documents.serialisers import DocumentListSerializer
|
||||
@@ -112,6 +114,10 @@ from documents.serialisers import TagSerializer
|
||||
from documents.serialisers import TagSerializerVersion1
|
||||
from documents.serialisers import TasksViewSerializer
|
||||
from documents.serialisers import UiSettingsViewSerializer
|
||||
from documents.serialisers import WorkflowActionSerializer
|
||||
from documents.serialisers import WorkflowSerializer
|
||||
from documents.serialisers import WorkflowTriggerSerializer
|
||||
from documents.signals import document_updated
|
||||
from documents.tasks import consume_file
|
||||
from paperless import version
|
||||
from paperless.db import GnuPG
|
||||
@@ -320,6 +326,12 @@ class DocumentViewSet(
|
||||
from documents import index
|
||||
|
||||
index.add_or_update_document(self.get_object())
|
||||
|
||||
document_updated.send(
|
||||
sender=self.__class__,
|
||||
document=self.get_object(),
|
||||
)
|
||||
|
||||
return response
|
||||
|
||||
def destroy(self, request, *args, **kwargs):
|
||||
@@ -839,6 +851,7 @@ class PostDocumentView(GenericAPIView):
|
||||
doc_name, doc_data = serializer.validated_data.get("document")
|
||||
correspondent_id = serializer.validated_data.get("correspondent")
|
||||
document_type_id = serializer.validated_data.get("document_type")
|
||||
storage_path_id = serializer.validated_data.get("storage_path")
|
||||
tag_ids = serializer.validated_data.get("tags")
|
||||
title = serializer.validated_data.get("title")
|
||||
created = serializer.validated_data.get("created")
|
||||
@@ -865,6 +878,7 @@ class PostDocumentView(GenericAPIView):
|
||||
title=title,
|
||||
correspondent_id=correspondent_id,
|
||||
document_type_id=document_type_id,
|
||||
storage_path_id=storage_path_id,
|
||||
tag_ids=tag_ids,
|
||||
created=created,
|
||||
asn=archive_serial_number,
|
||||
@@ -1373,25 +1387,50 @@ class BulkEditObjectPermissionsView(GenericAPIView, PassUserMixin):
|
||||
)
|
||||
|
||||
|
||||
class ConsumptionTemplateViewSet(ModelViewSet):
|
||||
class WorkflowTriggerViewSet(ModelViewSet):
|
||||
permission_classes = (IsAuthenticated, PaperlessObjectPermissions)
|
||||
|
||||
serializer_class = ConsumptionTemplateSerializer
|
||||
serializer_class = WorkflowTriggerSerializer
|
||||
pagination_class = StandardPagination
|
||||
|
||||
model = ConsumptionTemplate
|
||||
model = WorkflowTrigger
|
||||
|
||||
queryset = WorkflowTrigger.objects.all()
|
||||
|
||||
|
||||
class WorkflowActionViewSet(ModelViewSet):
|
||||
permission_classes = (IsAuthenticated, PaperlessObjectPermissions)
|
||||
|
||||
serializer_class = WorkflowActionSerializer
|
||||
pagination_class = StandardPagination
|
||||
|
||||
model = WorkflowAction
|
||||
|
||||
queryset = WorkflowAction.objects.all().prefetch_related(
|
||||
"assign_tags",
|
||||
"assign_view_users",
|
||||
"assign_view_groups",
|
||||
"assign_change_users",
|
||||
"assign_change_groups",
|
||||
"assign_custom_fields",
|
||||
)
|
||||
|
||||
|
||||
class WorkflowViewSet(ModelViewSet):
|
||||
permission_classes = (IsAuthenticated, PaperlessObjectPermissions)
|
||||
|
||||
serializer_class = WorkflowSerializer
|
||||
pagination_class = StandardPagination
|
||||
|
||||
model = Workflow
|
||||
|
||||
queryset = (
|
||||
ConsumptionTemplate.objects.prefetch_related(
|
||||
"assign_tags",
|
||||
"assign_view_users",
|
||||
"assign_view_groups",
|
||||
"assign_change_users",
|
||||
"assign_change_groups",
|
||||
"assign_custom_fields",
|
||||
)
|
||||
.all()
|
||||
Workflow.objects.all()
|
||||
.order_by("order")
|
||||
.prefetch_related(
|
||||
"triggers",
|
||||
"actions",
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@@ -1400,6 +1439,11 @@ class CustomFieldViewSet(ModelViewSet):
|
||||
|
||||
serializer_class = CustomFieldSerializer
|
||||
pagination_class = StandardPagination
|
||||
filter_backends = (
|
||||
DjangoFilterBackend,
|
||||
OrderingFilter,
|
||||
)
|
||||
filterset_class = CustomFieldFilterSet
|
||||
|
||||
model = CustomField
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-19 20:45\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Afrikaans\n"
|
||||
"Language: af_ZA\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "Dokumente"
|
||||
msgid "owner"
|
||||
msgstr "eienaar"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "Geen"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "Enige woord"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "Alle woorde"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "Presiese ooreenkoms"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Reguliere uitdrukking"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "Wasige woord"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "Wasige woord"
|
||||
msgid "Automatic"
|
||||
msgstr "Outomaties"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "naam"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "ooreenkoms"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "ooreenkomsalgoritme"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "hoofletterongevoelig"
|
||||
|
||||
@@ -611,113 +611,169 @@ msgstr ""
|
||||
msgid "custom field instances"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "volgorde"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "Verwerk slegs dokumente wat volledig met hierdie lêernaam ooreenkom indien gespesifiseer. U kan jokertekens soos *.pdf of *faktuur* gebruik. Hoofletterongevoelig."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:940
|
||||
msgid "assign title"
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:945
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "ken hierdie etiket toe"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "ken hierdie dokumenttipe toe"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "ken hierdie korrespondent toe"
|
||||
|
||||
#: documents/models.py:977
|
||||
msgid "assign this storage path"
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:986
|
||||
msgid "assign this owner"
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:993
|
||||
msgid "grant view permissions to these users"
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "ken hierdie etiket toe"
|
||||
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "ken hierdie dokumenttipe toe"
|
||||
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "ken hierdie korrespondent toe"
|
||||
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "volgorde"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "Ongeldige reguliere uitdrukking: %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "Ongeldige kleur."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Lêertipe %(type)s word nie ondersteun nie"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Ongeldige veranderlike bespeur."
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr "E-pos"
|
||||
msgid "Send me instructions!"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr "Paperless"
|
||||
|
||||
#: paperless/settings.py:586
|
||||
msgid "English (US)"
|
||||
msgstr "Engels (VS)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
msgid "Arabic"
|
||||
msgstr "Arabies"
|
||||
|
||||
#: paperless/settings.py:588
|
||||
msgid "Afrikaans"
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:589
|
||||
msgid "Belarusian"
|
||||
msgstr "Belorussies"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
msgid "Bulgarian"
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:591
|
||||
msgid "Catalan"
|
||||
msgstr "Katalaans"
|
||||
|
||||
#: paperless/settings.py:592
|
||||
msgid "Czech"
|
||||
msgstr "Tsjeggies"
|
||||
|
||||
#: paperless/settings.py:593
|
||||
msgid "Danish"
|
||||
msgstr "Deens"
|
||||
|
||||
#: paperless/settings.py:594
|
||||
msgid "German"
|
||||
msgstr "Duits"
|
||||
|
||||
#: paperless/settings.py:595
|
||||
msgid "Greek"
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:596
|
||||
msgid "English (GB)"
|
||||
msgstr "Engels (GB)"
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:597
|
||||
msgid "Spanish"
|
||||
msgstr "Spaans"
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:598
|
||||
msgid "Finnish"
|
||||
msgstr "Fins"
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:599
|
||||
msgid "French"
|
||||
msgstr "Frans"
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:600
|
||||
msgid "Hungarian"
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "Italian"
|
||||
msgstr "Italiaans"
|
||||
msgid "English (US)"
|
||||
msgstr "Engels (VS)"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Luxemburgs"
|
||||
msgid "Arabic"
|
||||
msgstr "Arabies"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
msgid "Norwegian"
|
||||
msgid "Afrikaans"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:604
|
||||
msgid "Dutch"
|
||||
msgstr "Nederlands"
|
||||
msgid "Belarusian"
|
||||
msgstr "Belorussies"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
msgid "Polish"
|
||||
msgstr "Pools"
|
||||
msgid "Bulgarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:606
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Portugees (Brasilië)"
|
||||
msgid "Catalan"
|
||||
msgstr "Katalaans"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
msgid "Portuguese"
|
||||
msgstr "Portugees"
|
||||
msgid "Czech"
|
||||
msgstr "Tsjeggies"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
msgid "Romanian"
|
||||
msgstr "Roemeens"
|
||||
msgid "Danish"
|
||||
msgstr "Deens"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
msgid "Russian"
|
||||
msgstr "Russies"
|
||||
msgid "German"
|
||||
msgstr "Duits"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
msgid "Slovak"
|
||||
msgid "Greek"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:611
|
||||
msgid "Slovenian"
|
||||
msgstr "Sloweens"
|
||||
msgid "English (GB)"
|
||||
msgstr "Engels (GB)"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
msgid "Serbian"
|
||||
msgstr "Serwies"
|
||||
msgid "Spanish"
|
||||
msgstr "Spaans"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
msgid "Swedish"
|
||||
msgstr "Sweeds"
|
||||
msgid "Finnish"
|
||||
msgstr "Fins"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
msgid "Turkish"
|
||||
msgstr "Turks"
|
||||
msgid "French"
|
||||
msgstr "Frans"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
msgid "Ukrainian"
|
||||
msgid "Hungarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "Italiaans"
|
||||
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Luxemburgs"
|
||||
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "Nederlands"
|
||||
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "Pools"
|
||||
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Portugees (Brasilië)"
|
||||
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "Portugees"
|
||||
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "Roemeens"
|
||||
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "Russies"
|
||||
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "Sloweens"
|
||||
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "Serwies"
|
||||
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "Sweeds"
|
||||
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "Turks"
|
||||
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "Vereenvoudigde Sjinees"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Paperless-ngx administrasie"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-26 00:23\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Arabic\n"
|
||||
"Language: ar_SA\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "المستندات"
|
||||
msgid "owner"
|
||||
msgstr "مالك"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "لا شيء"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "أي كلمة"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "كل الكلمات"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "تطابق تام"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "التعابير النظامية"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "كلمة غامضة"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "كلمة غامضة"
|
||||
msgid "Automatic"
|
||||
msgstr "تلقائي"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "اسم"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "تطابق"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "خوارزمية مطابقة"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "غير حساس"
|
||||
|
||||
@@ -429,7 +429,7 @@ msgstr ""
|
||||
|
||||
#: documents/models.py:459
|
||||
msgid "is shared by me"
|
||||
msgstr ""
|
||||
msgstr "تم المشاركة من قبلي"
|
||||
|
||||
#: documents/models.py:469
|
||||
msgid "rule type"
|
||||
@@ -611,113 +611,169 @@ msgstr ""
|
||||
msgid "custom field instances"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr "مِلَفّ الاستهلاك"
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr "تحميل Api"
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr "جلب البريد"
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "الطلب"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr "مسار التصفية"
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr "فقط استهلك المستندات ذات المسار الذي يطابق هذا إذا تم تحديده. البطاقات البرية المحددة كما * مسموح بها. الحالة غير حساسة."
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr "تصفية اسم الملف"
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "فقط المستندات التي تتطابق تماما مع اسم هذا المِلَفّ إذا تم تحديدها. المحارف البديلة مثل *.pdf أو *الفواتير* مسموح بها. لأنها غير حساسة."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr "تصفية المستندات من قاعدة البريد هذه"
|
||||
|
||||
#: documents/models.py:940
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr "تعيين العنوان"
|
||||
|
||||
#: documents/models.py:945
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr "تعيين عنوان مستند، يمكن أن يتضمن بعض العناصر النائبة، انظر الوثائق."
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "تعيين هذه العلامة"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "تعيين نوع هذا المستند"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "تعيين هذا المراسل"
|
||||
|
||||
#: documents/models.py:977
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr "تعيين مسار التخزين هذا"
|
||||
|
||||
#: documents/models.py:986
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr "تعيين هذا المالك"
|
||||
|
||||
#: documents/models.py:993
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr "منح أذونات العرض إلى هؤلاء المستخدمين"
|
||||
|
||||
#: documents/models.py:1000
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr "منح صلاحيات العرض إلى هذه المجموعات"
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr "منح صلاحيات التغيير لهؤلاء المستخدمين"
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr "منح صلاحيات التغيير إلى هذه المجموعات"
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
msgstr "قالب الاستهلاك"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
msgstr "قوالب الاستهلاك"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "الطلب"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "التعبير النظامي خاطىء: %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "لون خاطئ."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "نوع الملف %(type)s غير مدعوم"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "اكتشاف متغير خاطئ."
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr "البريد الإلكتروني"
|
||||
msgid "Send me instructions!"
|
||||
msgstr "أرسل لي التعليمات!"
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr "لا ورقي"
|
||||
|
||||
#: paperless/settings.py:586
|
||||
msgid "English (US)"
|
||||
msgstr "الإنجليزية (الولايات المتحدة)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
msgid "Arabic"
|
||||
msgstr "العربية"
|
||||
|
||||
#: paperless/settings.py:588
|
||||
msgid "Afrikaans"
|
||||
msgstr "اللغة الأفريقانية"
|
||||
|
||||
#: paperless/settings.py:589
|
||||
msgid "Belarusian"
|
||||
msgstr "البيلاروسية"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
msgid "Bulgarian"
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:591
|
||||
msgid "Catalan"
|
||||
msgstr "اللغة الكتالونية"
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:592
|
||||
msgid "Czech"
|
||||
msgstr "التشيكية"
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:593
|
||||
msgid "Danish"
|
||||
msgstr "الدانماركية"
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:594
|
||||
msgid "German"
|
||||
msgstr "الألمانية"
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:595
|
||||
msgid "Greek"
|
||||
msgstr "اليونانية"
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:596
|
||||
msgid "English (GB)"
|
||||
msgstr "الإنجليزية (المملكة المتحدة)"
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:597
|
||||
msgid "Spanish"
|
||||
msgstr "الإسبانية"
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:598
|
||||
msgid "Finnish"
|
||||
msgstr "الفنلندية"
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:599
|
||||
msgid "French"
|
||||
msgstr "الفرنسية"
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:600
|
||||
msgid "Hungarian"
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "English (US)"
|
||||
msgstr "الإنجليزية (الولايات المتحدة)"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
msgid "Arabic"
|
||||
msgstr "العربية"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
msgid "Afrikaans"
|
||||
msgstr "اللغة الأفريقانية"
|
||||
|
||||
#: paperless/settings.py:604
|
||||
msgid "Belarusian"
|
||||
msgstr "البيلاروسية"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
msgid "Bulgarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:606
|
||||
msgid "Catalan"
|
||||
msgstr "اللغة الكتالونية"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
msgid "Czech"
|
||||
msgstr "التشيكية"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
msgid "Danish"
|
||||
msgstr "الدانماركية"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
msgid "German"
|
||||
msgstr "الألمانية"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
msgid "Greek"
|
||||
msgstr "اليونانية"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
msgid "English (GB)"
|
||||
msgstr "الإنجليزية (المملكة المتحدة)"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
msgid "Spanish"
|
||||
msgstr "الإسبانية"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
msgid "Finnish"
|
||||
msgstr "الفنلندية"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
msgid "French"
|
||||
msgstr "الفرنسية"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
msgid "Hungarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "الإيطالية"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "اللوكسمبرجية"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr "النرويجية"
|
||||
|
||||
#: paperless/settings.py:604
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "الهولندية"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "البولندية"
|
||||
|
||||
#: paperless/settings.py:606
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "البرتغالية (البرازيل)"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "البرتغالية"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "الرومانية"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "الروسية"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr "السلوفاكية"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "السلوفانية"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "الصربية"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "السويدية"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "التركية"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr "الأوكرانية"
|
||||
|
||||
#: paperless/settings.py:616
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "الصينية المبسطة"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Paperless-ngx الإدارة"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-19 20:45\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Belarusian\n"
|
||||
"Language: be_BY\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "Дакументы"
|
||||
msgid "owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "Любое слова"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "Усе словы"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "Дакладнае супадзенне"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Рэгулярны выраз"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "Невыразнае слова"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "Невыразнае слова"
|
||||
msgid "Automatic"
|
||||
msgstr "Аўтаматычна"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "назва"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "супадзенне"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "алгарытм супастаўлення"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "без уліку рэгістра"
|
||||
|
||||
@@ -611,113 +611,169 @@ msgstr ""
|
||||
msgid "custom field instances"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "парадак"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "Апрацоўваць толькі дакументы, якія цалкам супадаюць з імем файла (калі яно пазначана). Маскі, напрыклад *.pdf ці *рахунак*, дазволеныя. Без уліку рэгістра."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:940
|
||||
msgid "assign title"
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:945
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "прызначыць гэты тэг"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "прызначыць гэты тып дакумента"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "прызначыць гэтага карэспандэнта"
|
||||
|
||||
#: documents/models.py:977
|
||||
msgid "assign this storage path"
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:986
|
||||
msgid "assign this owner"
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:993
|
||||
msgid "grant view permissions to these users"
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "прызначыць гэты тэг"
|
||||
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "прызначыць гэты тып дакумента"
|
||||
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "прызначыць гэтага карэспандэнта"
|
||||
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "парадак"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "Няправільны рэгулярны выраз: %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "Няправільны колер."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Тып файла %(type)s не падтрымліваецца"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Выяўлена няправільная зменная."
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr ""
|
||||
msgid "Send me instructions!"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:586
|
||||
msgid "English (US)"
|
||||
msgstr "Англійская (ЗША)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
msgid "Arabic"
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:588
|
||||
msgid "Afrikaans"
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:589
|
||||
msgid "Belarusian"
|
||||
msgstr "Беларуская"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
msgid "Bulgarian"
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:591
|
||||
msgid "Catalan"
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:592
|
||||
msgid "Czech"
|
||||
msgstr "Чэшская"
|
||||
|
||||
#: paperless/settings.py:593
|
||||
msgid "Danish"
|
||||
msgstr "Дацкая"
|
||||
|
||||
#: paperless/settings.py:594
|
||||
msgid "German"
|
||||
msgstr "Нямецкая"
|
||||
|
||||
#: paperless/settings.py:595
|
||||
msgid "Greek"
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:596
|
||||
msgid "English (GB)"
|
||||
msgstr "Англійская (Вялікабрытанія)"
|
||||
|
||||
#: paperless/settings.py:597
|
||||
msgid "Spanish"
|
||||
msgstr "Іспанская"
|
||||
|
||||
#: paperless/settings.py:598
|
||||
msgid "Finnish"
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:599
|
||||
msgid "French"
|
||||
msgstr "Французская"
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:600
|
||||
msgid "Hungarian"
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "Italian"
|
||||
msgstr "Італьянская"
|
||||
msgid "English (US)"
|
||||
msgstr "Англійская (ЗША)"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Люксембургская"
|
||||
msgid "Arabic"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:603
|
||||
msgid "Norwegian"
|
||||
msgid "Afrikaans"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:604
|
||||
msgid "Dutch"
|
||||
msgstr "Нідэрландская"
|
||||
msgid "Belarusian"
|
||||
msgstr "Беларуская"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
msgid "Polish"
|
||||
msgstr "Польская"
|
||||
msgid "Bulgarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:606
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Партугальская (Бразілія)"
|
||||
msgid "Catalan"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:607
|
||||
msgid "Portuguese"
|
||||
msgstr "Партугальская"
|
||||
msgid "Czech"
|
||||
msgstr "Чэшская"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
msgid "Romanian"
|
||||
msgstr "Румынская"
|
||||
msgid "Danish"
|
||||
msgstr "Дацкая"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
msgid "Russian"
|
||||
msgstr "Руская"
|
||||
msgid "German"
|
||||
msgstr "Нямецкая"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
msgid "Slovak"
|
||||
msgid "Greek"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:611
|
||||
msgid "Slovenian"
|
||||
msgstr "Славенская"
|
||||
msgid "English (GB)"
|
||||
msgstr "Англійская (Вялікабрытанія)"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
msgid "Serbian"
|
||||
msgstr "Сербская"
|
||||
msgid "Spanish"
|
||||
msgstr "Іспанская"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
msgid "Swedish"
|
||||
msgstr "Шведская"
|
||||
msgid "Finnish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:614
|
||||
msgid "Turkish"
|
||||
msgstr "Турэцкая"
|
||||
msgid "French"
|
||||
msgstr "Французская"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
msgid "Ukrainian"
|
||||
msgid "Hungarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "Італьянская"
|
||||
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Люксембургская"
|
||||
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "Нідэрландская"
|
||||
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "Польская"
|
||||
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Партугальская (Бразілія)"
|
||||
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "Партугальская"
|
||||
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "Румынская"
|
||||
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "Руская"
|
||||
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "Славенская"
|
||||
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "Сербская"
|
||||
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "Шведская"
|
||||
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "Турэцкая"
|
||||
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "Кітайская спрошчаная"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Адміністраванне Paperless-ngx"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-25 12:09\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Bulgarian\n"
|
||||
"Language: bg_BG\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "Документи"
|
||||
msgid "owner"
|
||||
msgstr "собственик"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "Няма"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "Всяка дума"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "Всички думи"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "Точно съвпадение"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Регулярен израз"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "Неясна дума"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "Неясна дума"
|
||||
msgid "Automatic"
|
||||
msgstr "Автоматично"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "име"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "съвпадение"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "алгоритъм за съвпадение"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "без чувствителност към големината на буквите"
|
||||
|
||||
@@ -611,113 +611,169 @@ msgstr "инстанция на персонализирано поле"
|
||||
msgid "custom field instances"
|
||||
msgstr "инстанции на персонализирани полета"
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr "Папка за консумация"
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr "Качване на API"
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr "Извличане на поща"
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "ред"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr "филтриране на път"
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr "Да се консумират само документи с път, който съответства на този, ако е зададен. Позволени са заместващи символи, посочени като *. Нечувствителен към големината на буквите."
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr "филтриране по файлово име"
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "Да се консумират само документи, които изцяло съответстват на това файлово име, ако е посочено. Разрешени са заместващи символи като *.pdf или *invoice*. Нечувствителност към големи и малки букви."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr "филтриране на документи по това правило за поща"
|
||||
|
||||
#: documents/models.py:940
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr "задаване на заглавие"
|
||||
|
||||
#: documents/models.py:945
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr "Задайте заглавие на документа, може да включва някои заместители, вижте документацията."
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "задайте този етикет"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "задайте този тип документ"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "задайте този кореспондент"
|
||||
|
||||
#: documents/models.py:977
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr "задайте този път за хранилище"
|
||||
|
||||
#: documents/models.py:986
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr "задайте този собственик"
|
||||
|
||||
#: documents/models.py:993
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr "предоставяне на права за преглед на тези потребители"
|
||||
|
||||
#: documents/models.py:1000
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr "предоставяне на права за преглед на тези групи"
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr "предоставяне на права за промяна на тези потребители"
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr "предоставяне на права за промяна на тези групи"
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr "присвояване на тези персонализирани полета"
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
msgstr "шаблон за консумация"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
msgstr "шаблони за консумация"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "ред"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "Невалиден регулярен израз: %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "Невалиден цвят."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Файловия тип %(type)s не се поддържа"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Засечена е невалидна променлива."
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr "Имейл"
|
||||
msgid "Send me instructions!"
|
||||
msgstr "Изпрати ми указания!"
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr "Paperless"
|
||||
|
||||
#: paperless/settings.py:586
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "English (US)"
|
||||
msgstr "Английски (САЩ)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
#: paperless/settings.py:602
|
||||
msgid "Arabic"
|
||||
msgstr "Арабски"
|
||||
|
||||
#: paperless/settings.py:588
|
||||
#: paperless/settings.py:603
|
||||
msgid "Afrikaans"
|
||||
msgstr "Африканс"
|
||||
|
||||
#: paperless/settings.py:589
|
||||
#: paperless/settings.py:604
|
||||
msgid "Belarusian"
|
||||
msgstr "Беларуски"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
#: paperless/settings.py:605
|
||||
msgid "Bulgarian"
|
||||
msgstr "Български"
|
||||
|
||||
#: paperless/settings.py:591
|
||||
#: paperless/settings.py:606
|
||||
msgid "Catalan"
|
||||
msgstr "Каталунски"
|
||||
|
||||
#: paperless/settings.py:592
|
||||
#: paperless/settings.py:607
|
||||
msgid "Czech"
|
||||
msgstr "Чешки"
|
||||
|
||||
#: paperless/settings.py:593
|
||||
#: paperless/settings.py:608
|
||||
msgid "Danish"
|
||||
msgstr "Датски"
|
||||
|
||||
#: paperless/settings.py:594
|
||||
#: paperless/settings.py:609
|
||||
msgid "German"
|
||||
msgstr "Немски"
|
||||
|
||||
#: paperless/settings.py:595
|
||||
#: paperless/settings.py:610
|
||||
msgid "Greek"
|
||||
msgstr "Гръцки"
|
||||
|
||||
#: paperless/settings.py:596
|
||||
#: paperless/settings.py:611
|
||||
msgid "English (GB)"
|
||||
msgstr "Английски (Великобритания)"
|
||||
|
||||
#: paperless/settings.py:597
|
||||
#: paperless/settings.py:612
|
||||
msgid "Spanish"
|
||||
msgstr "Испански"
|
||||
|
||||
#: paperless/settings.py:598
|
||||
#: paperless/settings.py:613
|
||||
msgid "Finnish"
|
||||
msgstr "Финландски"
|
||||
|
||||
#: paperless/settings.py:599
|
||||
#: paperless/settings.py:614
|
||||
msgid "French"
|
||||
msgstr "Френски"
|
||||
|
||||
#: paperless/settings.py:600
|
||||
#: paperless/settings.py:615
|
||||
msgid "Hungarian"
|
||||
msgstr "Унгарски"
|
||||
|
||||
#: paperless/settings.py:601
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "Италиански"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Люксембургски"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr "Норвежки"
|
||||
|
||||
#: paperless/settings.py:604
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "Холандски"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "Полски"
|
||||
|
||||
#: paperless/settings.py:606
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Португалски (Бразилия)"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "Португалски"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "Румънски"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "Руски"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr "Словашки"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "Словенски"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "Сръбски"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "Шведски"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "Турски"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr "Украински"
|
||||
|
||||
#: paperless/settings.py:616
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "Китайски опростен"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Paperless-ngx администрация"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-20 12:08\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Catalan\n"
|
||||
"Language: ca_ES\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "documents"
|
||||
msgid "owner"
|
||||
msgstr "propietari"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "Cap"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "Qualsevol paraula"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "Totes paraules"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "Coincidència exacte"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Expressió Regular"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "Paraula difusa"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "Paraula difusa"
|
||||
msgid "Automatic"
|
||||
msgstr "Automàtic"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "nom"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "coincidència"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "algoritme coincident"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "no distingeix entre majúscules i minúscules"
|
||||
|
||||
@@ -611,113 +611,169 @@ msgstr "instància de camp personalitzat"
|
||||
msgid "custom field instances"
|
||||
msgstr "instàncies de camps personalitzats"
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr "Començada Consumpció"
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr "Document Afegit"
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr "Document Actualitzat"
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr "Directori 'Condumir'"
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr "Api Pujada"
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr "Recollida Correu"
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "ordena"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr "Tipus d'activador de Workflow"
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr "filtra camins"
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr "Consumeix documents amb la ruta que coincideixi si està especificada. Wilcards especificats amb * estan permessos, no sensitiu."
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr "filtra nom arxiu"
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "Consumiu només documents que coincideixin completament amb aquest nom de fitxer si s'especifica. Es permeten els comodins com ara *.pdf o *factura*. Cas insensitiu."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr "filtra documents d'aquesta regla de correu"
|
||||
|
||||
#: documents/models.py:940
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr "té aquestes etiquete(s)"
|
||||
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr "té aquest tipus de document"
|
||||
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr "té aquest corresponsal"
|
||||
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr "Assignació"
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr "assigna títol"
|
||||
|
||||
#: documents/models.py:945
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr "Assigna un títol de document, pot incloure alguns marcadors de posició, vegeu la documentació."
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "assigna aquesta etiqueta"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "assigna aquest tipus de document"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "assigna aquest corresponsal"
|
||||
|
||||
#: documents/models.py:977
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr "assigna aquesta ruta emmagatzematge"
|
||||
|
||||
#: documents/models.py:986
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr "assigna aquest propietari"
|
||||
|
||||
#: documents/models.py:993
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr "dona permissos visualització a aquests usuaris"
|
||||
|
||||
#: documents/models.py:1000
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr "dóna permissos de visionat a aquests grups"
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr "dóna permissos d'edició a aquests usuaris"
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr "dóna permissos d'edició a aquests grups"
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr "assigna aquests camps personalitzats"
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
msgstr "plantilla consumició"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
msgstr "plantilles consumicions"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "ordena"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr "disparadors"
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr "accions"
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr "habilitat"
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "Expressió regular invàlida: %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "Color Invàlid."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Tipus arxiu %(type)s no suportat"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Variable detectada invàlida."
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr "Email"
|
||||
msgid "Send me instructions!"
|
||||
msgstr "Enviar instruccions"
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr "No es pot analitzar l'URI {value}, falta l'esquema"
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr "No es pot analitzar l'URI {value}, falta la ubicació o el camí de la xarxa"
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr "No es pot analitzar l'URI {value},"
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr "Paperless"
|
||||
|
||||
#: paperless/settings.py:586
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr "pdf"
|
||||
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr "pdfa"
|
||||
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr "pdfa-1"
|
||||
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr "pdfa-2"
|
||||
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr "pdfa-3"
|
||||
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr "skip"
|
||||
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr "redo"
|
||||
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr "forçar"
|
||||
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr "mai"
|
||||
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr "sempre"
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr "neteja"
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr "cap"
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr "RGB"
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr "Gris"
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr "CMYK"
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr "Estableix tipus de sortida PDF"
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr "OCR des de pàgina 1 fins aquest valor"
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr "Feu OCR utilitzant aquests idiomes"
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr "Estableix el mode OCR"
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr "Habilita la rotació de pàgines"
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr "Estableix el llindar de rotació de pàgines"
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr "Estableix la mida màxima de la imatge per a la descompressió"
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr "configuració de l'aplicació paperless"
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "English (US)"
|
||||
msgstr "English (US)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
#: paperless/settings.py:602
|
||||
msgid "Arabic"
|
||||
msgstr "Àrab"
|
||||
|
||||
#: paperless/settings.py:588
|
||||
#: paperless/settings.py:603
|
||||
msgid "Afrikaans"
|
||||
msgstr "Africà"
|
||||
|
||||
#: paperless/settings.py:589
|
||||
#: paperless/settings.py:604
|
||||
msgid "Belarusian"
|
||||
msgstr "Bielorús"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
#: paperless/settings.py:605
|
||||
msgid "Bulgarian"
|
||||
msgstr "Búlgar"
|
||||
|
||||
#: paperless/settings.py:591
|
||||
#: paperless/settings.py:606
|
||||
msgid "Catalan"
|
||||
msgstr "Català"
|
||||
|
||||
#: paperless/settings.py:592
|
||||
#: paperless/settings.py:607
|
||||
msgid "Czech"
|
||||
msgstr "Txec"
|
||||
|
||||
#: paperless/settings.py:593
|
||||
#: paperless/settings.py:608
|
||||
msgid "Danish"
|
||||
msgstr "Danès"
|
||||
|
||||
#: paperless/settings.py:594
|
||||
#: paperless/settings.py:609
|
||||
msgid "German"
|
||||
msgstr "Alemany"
|
||||
|
||||
#: paperless/settings.py:595
|
||||
#: paperless/settings.py:610
|
||||
msgid "Greek"
|
||||
msgstr "Grec"
|
||||
|
||||
#: paperless/settings.py:596
|
||||
#: paperless/settings.py:611
|
||||
msgid "English (GB)"
|
||||
msgstr "Anglès (GB)"
|
||||
|
||||
#: paperless/settings.py:597
|
||||
#: paperless/settings.py:612
|
||||
msgid "Spanish"
|
||||
msgstr "Espanyol"
|
||||
|
||||
#: paperless/settings.py:598
|
||||
#: paperless/settings.py:613
|
||||
msgid "Finnish"
|
||||
msgstr "Finès"
|
||||
|
||||
#: paperless/settings.py:599
|
||||
#: paperless/settings.py:614
|
||||
msgid "French"
|
||||
msgstr "Francès"
|
||||
|
||||
#: paperless/settings.py:600
|
||||
#: paperless/settings.py:615
|
||||
msgid "Hungarian"
|
||||
msgstr "Hongarès"
|
||||
|
||||
#: paperless/settings.py:601
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "Italià"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Luxemburguès"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr "Noruec"
|
||||
|
||||
#: paperless/settings.py:604
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "Holandès"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "Polac"
|
||||
|
||||
#: paperless/settings.py:606
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Portuguès (BZ)"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "Portuguès"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "Romanès"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "Rus"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr "Eslovac"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "Eslovè"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "Serbi"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "Suec"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "Turc"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr "Ucranià"
|
||||
|
||||
#: paperless/settings.py:616
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "Xinès Simplificat"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Administració Paperless-ngx"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-19 20:45\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Czech\n"
|
||||
"Language: cs_CZ\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "Dokumenty"
|
||||
msgid "owner"
|
||||
msgstr "vlastník"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "Žádný"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "Jakékoliv slovo"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "Všechna slova"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "Přesná shoda"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Regulární výraz"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "Fuzzy slovo"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "Fuzzy slovo"
|
||||
msgid "Automatic"
|
||||
msgstr "Automatický"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "název"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "shoda"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "algoritmus pro shodu"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "je ignorováno"
|
||||
|
||||
@@ -409,7 +409,7 @@ msgstr ""
|
||||
|
||||
#: documents/models.py:454
|
||||
msgid "owner is"
|
||||
msgstr ""
|
||||
msgstr "vlastník je"
|
||||
|
||||
#: documents/models.py:455
|
||||
msgid "has owner in"
|
||||
@@ -529,11 +529,11 @@ msgstr "uživatel"
|
||||
|
||||
#: documents/models.py:681
|
||||
msgid "note"
|
||||
msgstr ""
|
||||
msgstr "poznámka"
|
||||
|
||||
#: documents/models.py:682
|
||||
msgid "notes"
|
||||
msgstr ""
|
||||
msgstr "poznámky"
|
||||
|
||||
#: documents/models.py:690
|
||||
msgid "Archive"
|
||||
@@ -611,113 +611,169 @@ msgstr ""
|
||||
msgid "custom field instances"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "pořadí"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "Konzumovat jen dokumenty které přesně odpovídají tomuto názvu souboru pokud specifikováno. Zástupné znaky jako *.pdf nebo *invoice* jsou povoleny. Nezáleží na velikosti písmen."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:940
|
||||
msgid "assign title"
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:945
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "přiřadit tento tag"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "přiřadit tento typ dokumentu"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "přiřadit tohoto korespondenta"
|
||||
|
||||
#: documents/models.py:977
|
||||
msgid "assign this storage path"
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:986
|
||||
msgid "assign this owner"
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:993
|
||||
msgid "grant view permissions to these users"
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "přiřadit tento tag"
|
||||
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "přiřadit tento typ dokumentu"
|
||||
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "přiřadit tohoto korespondenta"
|
||||
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "pořadí"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "Neplatný regulární výraz: %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "Neplatná barva."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Typ souboru %(type)s není podporován"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Zjištěna neplatná proměnná."
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr "Email"
|
||||
msgid "Send me instructions!"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr "Paperless"
|
||||
|
||||
#: paperless/settings.py:586
|
||||
msgid "English (US)"
|
||||
msgstr "Angličtina (US)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
msgid "Arabic"
|
||||
msgstr "Arabština"
|
||||
|
||||
#: paperless/settings.py:588
|
||||
msgid "Afrikaans"
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:589
|
||||
msgid "Belarusian"
|
||||
msgstr "Běloruština"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
msgid "Bulgarian"
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:591
|
||||
msgid "Catalan"
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:592
|
||||
msgid "Czech"
|
||||
msgstr "Čeština"
|
||||
|
||||
#: paperless/settings.py:593
|
||||
msgid "Danish"
|
||||
msgstr "Dánština"
|
||||
|
||||
#: paperless/settings.py:594
|
||||
msgid "German"
|
||||
msgstr "Němčina"
|
||||
|
||||
#: paperless/settings.py:595
|
||||
msgid "Greek"
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:596
|
||||
msgid "English (GB)"
|
||||
msgstr "Angličtina (GB)"
|
||||
|
||||
#: paperless/settings.py:597
|
||||
msgid "Spanish"
|
||||
msgstr "Španělština"
|
||||
|
||||
#: paperless/settings.py:598
|
||||
msgid "Finnish"
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:599
|
||||
msgid "French"
|
||||
msgstr "Francouzština"
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:600
|
||||
msgid "Hungarian"
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "Italian"
|
||||
msgstr "Italština"
|
||||
msgid "English (US)"
|
||||
msgstr "Angličtina (US)"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Lucemburština"
|
||||
msgid "Arabic"
|
||||
msgstr "Arabština"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
msgid "Norwegian"
|
||||
msgid "Afrikaans"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:604
|
||||
msgid "Dutch"
|
||||
msgstr "Holandština"
|
||||
msgid "Belarusian"
|
||||
msgstr "Běloruština"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
msgid "Polish"
|
||||
msgstr "Polština"
|
||||
msgid "Bulgarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:606
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Portugalština (Brazílie)"
|
||||
msgid "Catalan"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:607
|
||||
msgid "Portuguese"
|
||||
msgstr "Portugalština"
|
||||
msgid "Czech"
|
||||
msgstr "Čeština"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
msgid "Romanian"
|
||||
msgstr "Rumunština"
|
||||
msgid "Danish"
|
||||
msgstr "Dánština"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
msgid "Russian"
|
||||
msgstr "Ruština"
|
||||
msgid "German"
|
||||
msgstr "Němčina"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
msgid "Slovak"
|
||||
msgid "Greek"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:611
|
||||
msgid "Slovenian"
|
||||
msgstr "Slovinština"
|
||||
msgid "English (GB)"
|
||||
msgstr "Angličtina (GB)"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
msgid "Serbian"
|
||||
msgstr "Srbština"
|
||||
msgid "Spanish"
|
||||
msgstr "Španělština"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
msgid "Swedish"
|
||||
msgstr "Švédština"
|
||||
msgid "Finnish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:614
|
||||
msgid "Turkish"
|
||||
msgstr "Turečtina"
|
||||
msgid "French"
|
||||
msgstr "Francouzština"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
msgid "Ukrainian"
|
||||
msgid "Hungarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "Italština"
|
||||
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Lucemburština"
|
||||
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "Holandština"
|
||||
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "Polština"
|
||||
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Portugalština (Brazílie)"
|
||||
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "Portugalština"
|
||||
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "Rumunština"
|
||||
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "Ruština"
|
||||
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "Slovinština"
|
||||
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "Srbština"
|
||||
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "Švédština"
|
||||
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "Turečtina"
|
||||
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "Čínština (zjednodušená)"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Správa Paperless-ngx"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-19 20:45\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Danish\n"
|
||||
"Language: da_DK\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "Dokumenter"
|
||||
msgid "owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "Ethvert ord"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "Alle ord"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "Præcis match"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Regulær udtryk"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "Tilnærmet ord"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "Tilnærmet ord"
|
||||
msgid "Automatic"
|
||||
msgstr "Automatisk"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "navn"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "match"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "matching algoritme"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "er usensitiv"
|
||||
|
||||
@@ -611,113 +611,169 @@ msgstr ""
|
||||
msgid "custom field instances"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "rækkefølge"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "Bearbejd kun dokumenter, der helt matcher dette filnavn, hvis angivet. Wildcards såsom *.pdf eller *faktura * er tilladt."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:940
|
||||
msgid "assign title"
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:945
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "tildel denne etiket"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "tildel denne dokumenttype"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "tildel denne korrespondent"
|
||||
|
||||
#: documents/models.py:977
|
||||
msgid "assign this storage path"
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:986
|
||||
msgid "assign this owner"
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:993
|
||||
msgid "grant view permissions to these users"
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "tildel denne etiket"
|
||||
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "tildel denne dokumenttype"
|
||||
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "tildel denne korrespondent"
|
||||
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "rækkefølge"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "Ugyldigt regulært udtryk: %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "Ugyldig farve."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Filtype %(type)s understøttes ikke"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr ""
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr ""
|
||||
msgid "Send me instructions!"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:586
|
||||
msgid "English (US)"
|
||||
msgstr "Engelsk (USA)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
msgid "Arabic"
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:588
|
||||
msgid "Afrikaans"
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:589
|
||||
msgid "Belarusian"
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:590
|
||||
msgid "Bulgarian"
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:591
|
||||
msgid "Catalan"
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:592
|
||||
msgid "Czech"
|
||||
msgstr "Tjekkisk"
|
||||
|
||||
#: paperless/settings.py:593
|
||||
msgid "Danish"
|
||||
msgstr "Dansk"
|
||||
|
||||
#: paperless/settings.py:594
|
||||
msgid "German"
|
||||
msgstr "Tysk"
|
||||
|
||||
#: paperless/settings.py:595
|
||||
msgid "Greek"
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:596
|
||||
msgid "English (GB)"
|
||||
msgstr "Engelsk (GB)"
|
||||
|
||||
#: paperless/settings.py:597
|
||||
msgid "Spanish"
|
||||
msgstr "Spansk"
|
||||
|
||||
#: paperless/settings.py:598
|
||||
msgid "Finnish"
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:599
|
||||
msgid "French"
|
||||
msgstr "Fransk"
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:600
|
||||
msgid "Hungarian"
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "Italian"
|
||||
msgstr "Italiensk"
|
||||
msgid "English (US)"
|
||||
msgstr "Engelsk (USA)"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Luxemburgsk"
|
||||
msgid "Arabic"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:603
|
||||
msgid "Norwegian"
|
||||
msgid "Afrikaans"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:604
|
||||
msgid "Dutch"
|
||||
msgstr "Hollandsk"
|
||||
msgid "Belarusian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:605
|
||||
msgid "Polish"
|
||||
msgstr "Polsk"
|
||||
msgid "Bulgarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:606
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Portugisisk (Brasilien)"
|
||||
msgid "Catalan"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:607
|
||||
msgid "Portuguese"
|
||||
msgstr "Portugisisk"
|
||||
msgid "Czech"
|
||||
msgstr "Tjekkisk"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
msgid "Romanian"
|
||||
msgstr "Romansk"
|
||||
msgid "Danish"
|
||||
msgstr "Dansk"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
msgid "Russian"
|
||||
msgstr "Russisk"
|
||||
msgid "German"
|
||||
msgstr "Tysk"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
msgid "Slovak"
|
||||
msgid "Greek"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:611
|
||||
msgid "Slovenian"
|
||||
msgstr ""
|
||||
msgid "English (GB)"
|
||||
msgstr "Engelsk (GB)"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
msgid "Serbian"
|
||||
msgstr ""
|
||||
msgid "Spanish"
|
||||
msgstr "Spansk"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
msgid "Swedish"
|
||||
msgstr "Svensk"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
msgid "Turkish"
|
||||
msgid "Finnish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:614
|
||||
msgid "French"
|
||||
msgstr "Fransk"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
msgid "Ukrainian"
|
||||
msgid "Hungarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "Italiensk"
|
||||
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Luxemburgsk"
|
||||
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "Hollandsk"
|
||||
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "Polsk"
|
||||
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Portugisisk (Brasilien)"
|
||||
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "Portugisisk"
|
||||
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "Romansk"
|
||||
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "Russisk"
|
||||
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "Svensk"
|
||||
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Paperless-ngx administration"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-23 00:22\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: German\n"
|
||||
"Language: de_DE\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "Dokumente"
|
||||
msgid "owner"
|
||||
msgstr "Eigentümer"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "Keiner"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "Irgendein Wort"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "Alle Wörter"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "Exakte Übereinstimmung"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Regulärer Ausdruck"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "Ungenaues Wort"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "Ungenaues Wort"
|
||||
msgid "Automatic"
|
||||
msgstr "Automatisch"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "Name"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "Zuweisungsmuster"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "Zuweisungsalgorithmus"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "Groß-/Kleinschreibung irrelevant"
|
||||
|
||||
@@ -611,113 +611,169 @@ msgstr "Benutzerdefinierte Feld-Instanz"
|
||||
msgid "custom field instances"
|
||||
msgstr "Benutzerdefinierte Feld-Instanzen"
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr "Dokument hinzugefügt"
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr "Dokument aktualisiert"
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr "Importordner"
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr "API-Upload"
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr "E-Mail-Abruf"
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "Reihenfolge"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr "Pfad filtern"
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr "Nur Dokumente, die mit diesem Pfad (falls angegeben) übereinstimmen, verarbeiten. Platzhalter wie * sind erlaubt. Groß- und Kleinschreibung wird nicht beachtet."
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr "Dateinamen filtern"
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "Nur Dokumente, die vollständig mit diesem Dateinamen (falls angegeben) übereinstimmen, verarbeiten. Platzhalter wie *.pdf oder *rechnung* sind erlaubt. Groß- und Kleinschreibung wird nicht beachtet."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr "Dokumente aus dieser E-Mail-Regel filtern"
|
||||
|
||||
#: documents/models.py:940
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr "Zuordnung"
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr "Titel zuweisen"
|
||||
|
||||
#: documents/models.py:945
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr "Weisen Sie einen Dokumententitel zu. Dieser kann Platzhalter beinhalten, siehe Dokumentation."
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "Dieses Tag zuweisen"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "Diesen Dokumenttyp zuweisen"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "Diesen Korrespondenten zuweisen"
|
||||
|
||||
#: documents/models.py:977
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr "Diesen Speicherpfad zuweisen"
|
||||
|
||||
#: documents/models.py:986
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr "Diesen Eigentümer zuordnen"
|
||||
|
||||
#: documents/models.py:993
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr "Diesen Benutzern Anzeigeberechtigungen erteilen"
|
||||
|
||||
#: documents/models.py:1000
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr "Diesen Gruppen Anzeigeberechtigungen erteilen"
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr "Diesen Benutzern Bearbeitungsberechtigungen erteilen"
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr "Diesen Gruppen Bearbeitungsberechtigungen erteilen"
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr "Diese benutzerdefinierten Felder zuweisen"
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
msgstr "Verarbeitungsvorlage"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
msgstr "Verarbeitungsvorlagen"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "Reihenfolge"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr "aktiviert"
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "Ungültiger regulärer Ausdruck: %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "Ungültige Farbe."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Dateityp %(type)s nicht unterstützt"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Ungültige Variable erkannt."
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr "E-Mail"
|
||||
msgid "Send me instructions!"
|
||||
msgstr "Anweisungen senden!"
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr "Paperless"
|
||||
|
||||
#: paperless/settings.py:586
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr "erzwingen"
|
||||
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr "nie"
|
||||
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr "mit_Text"
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr "immer"
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr "Grau"
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr "CMYK"
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr "Legt den Ausgabe-PDF-Typ fest"
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr "Legt den OCR-Modus fest"
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "English (US)"
|
||||
msgstr "Englisch (US)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
#: paperless/settings.py:602
|
||||
msgid "Arabic"
|
||||
msgstr "Arabisch"
|
||||
|
||||
#: paperless/settings.py:588
|
||||
#: paperless/settings.py:603
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikanisch"
|
||||
|
||||
#: paperless/settings.py:589
|
||||
#: paperless/settings.py:604
|
||||
msgid "Belarusian"
|
||||
msgstr "Belarussisch"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
#: paperless/settings.py:605
|
||||
msgid "Bulgarian"
|
||||
msgstr "Bulgarisch"
|
||||
|
||||
#: paperless/settings.py:591
|
||||
#: paperless/settings.py:606
|
||||
msgid "Catalan"
|
||||
msgstr "Katalanisch"
|
||||
|
||||
#: paperless/settings.py:592
|
||||
#: paperless/settings.py:607
|
||||
msgid "Czech"
|
||||
msgstr "Tschechisch"
|
||||
|
||||
#: paperless/settings.py:593
|
||||
#: paperless/settings.py:608
|
||||
msgid "Danish"
|
||||
msgstr "Dänisch"
|
||||
|
||||
#: paperless/settings.py:594
|
||||
#: paperless/settings.py:609
|
||||
msgid "German"
|
||||
msgstr "Deutsch"
|
||||
|
||||
#: paperless/settings.py:595
|
||||
#: paperless/settings.py:610
|
||||
msgid "Greek"
|
||||
msgstr "Griechisch"
|
||||
|
||||
#: paperless/settings.py:596
|
||||
#: paperless/settings.py:611
|
||||
msgid "English (GB)"
|
||||
msgstr "Englisch (UK)"
|
||||
|
||||
#: paperless/settings.py:597
|
||||
#: paperless/settings.py:612
|
||||
msgid "Spanish"
|
||||
msgstr "Spanisch"
|
||||
|
||||
#: paperless/settings.py:598
|
||||
#: paperless/settings.py:613
|
||||
msgid "Finnish"
|
||||
msgstr "Finnisch"
|
||||
|
||||
#: paperless/settings.py:599
|
||||
#: paperless/settings.py:614
|
||||
msgid "French"
|
||||
msgstr "Französisch"
|
||||
|
||||
#: paperless/settings.py:600
|
||||
#: paperless/settings.py:615
|
||||
msgid "Hungarian"
|
||||
msgstr "Ungarisch"
|
||||
|
||||
#: paperless/settings.py:601
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "Italienisch"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Luxemburgisch"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr "Norwegisch"
|
||||
|
||||
#: paperless/settings.py:604
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "Niederländisch"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "Polnisch"
|
||||
|
||||
#: paperless/settings.py:606
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Portugiesisch (Brasilien)"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "Portugiesisch"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "Rumänisch"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "Russisch"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr "Slowakisch"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "Slowenisch"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "Serbisch"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "Schwedisch"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "Türkisch"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr "Ukrainisch"
|
||||
|
||||
#: paperless/settings.py:616
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "Chinesisch (vereinfacht)"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Paperless-ngx Administration"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-19 20:45\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Greek\n"
|
||||
"Language: el_GR\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "Έγγραφα"
|
||||
msgid "owner"
|
||||
msgstr "ιδιοκτήτης"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "Τίποτα"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "Οποιαδήποτε λέξη"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "Όλες οι λέξεις"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "Ακριβής ταύτιση"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Κανονική έκφραση"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "Fuzzy word"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "Fuzzy word"
|
||||
msgid "Automatic"
|
||||
msgstr "Αυτόματο"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "όνομα"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "αντιστοίχιση"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "αλγόριθμος αντιστοίχισης"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "χωρίς διάκριση πεζών - κεφαλαίων"
|
||||
|
||||
@@ -611,113 +611,169 @@ msgstr "στιγμιότυπο προσαρμοσμένου πεδίου"
|
||||
msgid "custom field instances"
|
||||
msgstr "στιγμιότυπα προσαρμοσμένων πεδίων"
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr "Φάκελος Κατανάλωσης"
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr "Μεταφόρτωση μέσω API"
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr "Λήψη Αλληλογραφίας"
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "σειρά"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr "διαδρομή φίλτρου"
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr "Μόνο κατανάλωση εγγράφων με μια διαδρομή που ταιριάζει με αυτό αν έχει καθοριστεί. Επιτρέπεται η χρήση μπαλαντέρ που ορίζεται ως *. Χωρίς διάκριση πεζών-κεφαλαίων."
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr "φιλτράρισμα ονόματος αρχείου"
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "Μόνο κατανάλωση αρχείων που ταιριάζουν απόλυτα με το όνομα αρχείου, εάν καθοριστεί. Επιτρέπεται η χρήση μπαλαντέρ όπως *.pdf ή *invoice*. Δεν υπάρχει έλεγχος πεζών/κεφαλαίων."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr "φιλτράρισμα εγγράφων από αυτόν τον κανόνα αλληλογραφίας"
|
||||
|
||||
#: documents/models.py:940
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr "ανάθεση τίτλου"
|
||||
|
||||
#: documents/models.py:945
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr "Η ανάθεση τίτλου εγγράφου μπορεί να περιέχει μερικά placeholders, δείτε την τεκμηρίωση."
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "ανάθεση αυτής της ετικέτας"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "ανάθεση αυτού του τύπου εγγράφου"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "ανάθεση αυτού του ανταποκριτή"
|
||||
|
||||
#: documents/models.py:977
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr "ανάθεση αυτής της διαδρομής αποθήκευσης"
|
||||
|
||||
#: documents/models.py:986
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr "ανάθεση αυτού του ιδιοκτήτη"
|
||||
|
||||
#: documents/models.py:993
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr "εκχώρηση δικαιωμάτων προβολής σε αυτούς τους χρήστες"
|
||||
|
||||
#: documents/models.py:1000
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr "εκχώρηση δικαιωμάτων προβολής σε αυτές τις ομάδες"
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr "εκχώρηση δικαιωμάτων μεταβολής σε αυτές τις ομάδες"
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr "εκχώρηση δικαιωμάτων μεταβολής σε αυτές τις ομάδες"
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
msgstr "πρότυπο κατανάλωσης"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
msgstr "πρότυπα κατανάλωσης"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "σειρά"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "Άκυρη έκφραση: %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "Άκυρο χρώμα."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Ο τύπος αρχείου %(type)s δεν υποστηρίζεται"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Εντοπίστηκε μη έγκυρη μεταβλητή."
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr "E-mail"
|
||||
msgid "Send me instructions!"
|
||||
msgstr "Αποστολή Οδηγιών!"
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr "Paperless"
|
||||
|
||||
#: paperless/settings.py:586
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "English (US)"
|
||||
msgstr "Αγγλικά (ΗΠΑ)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
#: paperless/settings.py:602
|
||||
msgid "Arabic"
|
||||
msgstr "Αραβικά"
|
||||
|
||||
#: paperless/settings.py:588
|
||||
#: paperless/settings.py:603
|
||||
msgid "Afrikaans"
|
||||
msgstr "Αφρικανικά"
|
||||
|
||||
#: paperless/settings.py:589
|
||||
#: paperless/settings.py:604
|
||||
msgid "Belarusian"
|
||||
msgstr "Λευκορωσικά"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
#: paperless/settings.py:605
|
||||
msgid "Bulgarian"
|
||||
msgstr "Βουλγαρικά"
|
||||
|
||||
#: paperless/settings.py:591
|
||||
#: paperless/settings.py:606
|
||||
msgid "Catalan"
|
||||
msgstr "Καταλανικά"
|
||||
|
||||
#: paperless/settings.py:592
|
||||
#: paperless/settings.py:607
|
||||
msgid "Czech"
|
||||
msgstr "Τσέχικα"
|
||||
|
||||
#: paperless/settings.py:593
|
||||
#: paperless/settings.py:608
|
||||
msgid "Danish"
|
||||
msgstr "Δανέζικα"
|
||||
|
||||
#: paperless/settings.py:594
|
||||
#: paperless/settings.py:609
|
||||
msgid "German"
|
||||
msgstr "Γερμανικά"
|
||||
|
||||
#: paperless/settings.py:595
|
||||
#: paperless/settings.py:610
|
||||
msgid "Greek"
|
||||
msgstr "Ελληνικά"
|
||||
|
||||
#: paperless/settings.py:596
|
||||
#: paperless/settings.py:611
|
||||
msgid "English (GB)"
|
||||
msgstr "Αγγλικά (Ηνωμένο Βασίλειο)"
|
||||
|
||||
#: paperless/settings.py:597
|
||||
#: paperless/settings.py:612
|
||||
msgid "Spanish"
|
||||
msgstr "Ισπανικά"
|
||||
|
||||
#: paperless/settings.py:598
|
||||
#: paperless/settings.py:613
|
||||
msgid "Finnish"
|
||||
msgstr "Φινλανδικά"
|
||||
|
||||
#: paperless/settings.py:599
|
||||
#: paperless/settings.py:614
|
||||
msgid "French"
|
||||
msgstr "Γαλλικά"
|
||||
|
||||
#: paperless/settings.py:600
|
||||
#: paperless/settings.py:615
|
||||
msgid "Hungarian"
|
||||
msgstr "Ουγγρικά"
|
||||
|
||||
#: paperless/settings.py:601
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "Ιταλικά"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Λουξεμβουργικά"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr "Νορβηγικά"
|
||||
|
||||
#: paperless/settings.py:604
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "Ολλανδικά"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "Πολωνικά"
|
||||
|
||||
#: paperless/settings.py:606
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Πορτογαλικά (Βραζιλίας)"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "Πορτογαλικά"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "Ρουμάνικα"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "Ρωσικά"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr "Σλοβακικά"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "Σλοβενικά"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "Σερβικά"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "Σουηδικά"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "Τούρκικα"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr "Ουκρανικά"
|
||||
|
||||
#: paperless/settings.py:616
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "Κινέζικα Απλοποιημένα"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Διαχείριση Paperless-ngx"
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2022-02-17 04:17\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: English\n"
|
||||
@@ -25,27 +25,27 @@ msgstr ""
|
||||
msgid "owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr ""
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr ""
|
||||
msgid "Automatic"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr ""
|
||||
|
||||
@@ -615,118 +615,174 @@ msgstr ""
|
||||
msgid "custom field instances"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid ""
|
||||
"Only consume documents with a path that matches this if specified. Wildcards "
|
||||
"specified as * are allowed. Case insensitive."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid ""
|
||||
"Only consume documents which entirely match this filename if specified. "
|
||||
"Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:940
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:945
|
||||
#: documents/models.py:1011
|
||||
msgid ""
|
||||
"Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:977
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:986
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:993
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr ""
|
||||
|
||||
@@ -869,135 +925,286 @@ msgstr ""
|
||||
msgid "Send me instructions!"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:586
|
||||
msgid "English (US)"
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:587
|
||||
msgid "Arabic"
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:588
|
||||
msgid "Afrikaans"
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:589
|
||||
msgid "Belarusian"
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:590
|
||||
msgid "Bulgarian"
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:591
|
||||
msgid "Catalan"
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:592
|
||||
msgid "Czech"
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:593
|
||||
msgid "Danish"
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:594
|
||||
msgid "German"
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:595
|
||||
msgid "Greek"
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:596
|
||||
msgid "English (GB)"
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:597
|
||||
msgid "Spanish"
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:598
|
||||
msgid "Finnish"
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:599
|
||||
msgid "French"
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:600
|
||||
msgid "Hungarian"
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "Italian"
|
||||
msgid "English (US)"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:602
|
||||
msgid "Luxembourgish"
|
||||
msgid "Arabic"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:603
|
||||
msgid "Norwegian"
|
||||
msgid "Afrikaans"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:604
|
||||
msgid "Dutch"
|
||||
msgid "Belarusian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:605
|
||||
msgid "Polish"
|
||||
msgid "Bulgarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:606
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgid "Catalan"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:607
|
||||
msgid "Portuguese"
|
||||
msgid "Czech"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:608
|
||||
msgid "Romanian"
|
||||
msgid "Danish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:609
|
||||
msgid "Russian"
|
||||
msgid "German"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:610
|
||||
msgid "Slovak"
|
||||
msgid "Greek"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:611
|
||||
msgid "Slovenian"
|
||||
msgid "English (GB)"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:612
|
||||
msgid "Serbian"
|
||||
msgid "Spanish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:613
|
||||
msgid "Swedish"
|
||||
msgid "Finnish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:614
|
||||
msgid "Turkish"
|
||||
msgid "French"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:615
|
||||
msgid "Ukrainian"
|
||||
msgid "Hungarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-21 12:09\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Spanish\n"
|
||||
"Language: es_ES\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "Documentos"
|
||||
msgid "owner"
|
||||
msgstr "propietario"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "Nada"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "Cualquier palabra"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "Todas las palabras"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "Coincidencia exacta"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Expresión regular"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "Palabra borrosa"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "Palabra borrosa"
|
||||
msgid "Automatic"
|
||||
msgstr "Automático"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "nombre"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "coincidencia"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "Algoritmo de coincidencia"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "es insensible"
|
||||
|
||||
@@ -611,113 +611,169 @@ msgstr ""
|
||||
msgid "custom field instances"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr "Consumir carpeta"
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr "Carga de Api"
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr "Buscar correo"
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "orden"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr "filtrar ruta"
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr "Sólo consumir documentos con una ruta que coincida con esta si se especifica. Los comodines especificados como * están permitidos. No permiten mayúsculas."
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr "filtrar nombre del archivo"
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "Sólo consumirá documentos que coincidan completamente con este nombre de archivo si se especifica. Se permiten comodines como *.pdf o *factura*. No diferencia mayúsculas."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr "filtrar documentos de esta regla de correo"
|
||||
|
||||
#: documents/models.py:940
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr "asignar título"
|
||||
|
||||
#: documents/models.py:945
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr "Asignar título al documento, puede incluir marcadores de posición, vea documentación."
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "asignar esta etiqueta"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "asignar este tipo de documento"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "asignar este interlocutor"
|
||||
|
||||
#: documents/models.py:977
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr "asignar esta ruta de almacenamiento"
|
||||
|
||||
#: documents/models.py:986
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr "asignar dueño"
|
||||
|
||||
#: documents/models.py:993
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr "conceder permisos de vista a estos usuarios"
|
||||
|
||||
#: documents/models.py:1000
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr "conceder permisos de vista a estos grupos"
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr "conceder permisos de cambio a estos usuarios"
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr "conceder permisos de cambio a estos grupos"
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
msgstr "plantilla de consumo"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
msgstr "plantillas de consumo"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "orden"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "Expresión irregular inválida: %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "Color inválido."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Tipo de fichero %(type)s no suportado"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Variable inválida."
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr "E-mail"
|
||||
msgid "Send me instructions!"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr "Paperless"
|
||||
|
||||
#: paperless/settings.py:586
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "English (US)"
|
||||
msgstr "Inglés (US)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
#: paperless/settings.py:602
|
||||
msgid "Arabic"
|
||||
msgstr "Árabe"
|
||||
|
||||
#: paperless/settings.py:588
|
||||
#: paperless/settings.py:603
|
||||
msgid "Afrikaans"
|
||||
msgstr "Africano"
|
||||
|
||||
#: paperless/settings.py:589
|
||||
#: paperless/settings.py:604
|
||||
msgid "Belarusian"
|
||||
msgstr "Bielorruso"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
#: paperless/settings.py:605
|
||||
msgid "Bulgarian"
|
||||
msgstr "Búlgaro"
|
||||
|
||||
#: paperless/settings.py:591
|
||||
#: paperless/settings.py:606
|
||||
msgid "Catalan"
|
||||
msgstr "Catalán"
|
||||
|
||||
#: paperless/settings.py:592
|
||||
#: paperless/settings.py:607
|
||||
msgid "Czech"
|
||||
msgstr "Checo"
|
||||
|
||||
#: paperless/settings.py:593
|
||||
#: paperless/settings.py:608
|
||||
msgid "Danish"
|
||||
msgstr "Danés"
|
||||
|
||||
#: paperless/settings.py:594
|
||||
#: paperless/settings.py:609
|
||||
msgid "German"
|
||||
msgstr "Alemán"
|
||||
|
||||
#: paperless/settings.py:595
|
||||
#: paperless/settings.py:610
|
||||
msgid "Greek"
|
||||
msgstr "Griego"
|
||||
|
||||
#: paperless/settings.py:596
|
||||
#: paperless/settings.py:611
|
||||
msgid "English (GB)"
|
||||
msgstr "Inglés (Gran Bretaña)"
|
||||
|
||||
#: paperless/settings.py:597
|
||||
#: paperless/settings.py:612
|
||||
msgid "Spanish"
|
||||
msgstr "Español"
|
||||
|
||||
#: paperless/settings.py:598
|
||||
#: paperless/settings.py:613
|
||||
msgid "Finnish"
|
||||
msgstr "Finlandés"
|
||||
|
||||
#: paperless/settings.py:599
|
||||
#: paperless/settings.py:614
|
||||
msgid "French"
|
||||
msgstr "Francés"
|
||||
|
||||
#: paperless/settings.py:600
|
||||
#: paperless/settings.py:615
|
||||
msgid "Hungarian"
|
||||
msgstr "Húngaro"
|
||||
|
||||
#: paperless/settings.py:601
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "Italiano"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Luxemburgués"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr "Noruego"
|
||||
|
||||
#: paperless/settings.py:604
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "Alemán"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "Polaco"
|
||||
|
||||
#: paperless/settings.py:606
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Portugués (Brasil)"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "Portugués"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "Rumano"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "Ruso"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr "Eslovaco"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "Esloveno"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "Serbio"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "Sueco"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "Turco"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr "Ucraniano"
|
||||
|
||||
#: paperless/settings.py:616
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "Chino simplificado"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Administración de Paperless-ngx"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-19 20:45\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Finnish\n"
|
||||
"Language: fi_FI\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "Asiakirjat"
|
||||
msgid "owner"
|
||||
msgstr "omistaja"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "Ei mitään"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "Mikä tahansa sana"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "Kaikki sanat"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "Tarkka osuma"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Säännöllinen lauseke (regex)"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "Sumea sana"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "Sumea sana"
|
||||
msgid "Automatic"
|
||||
msgstr "Automaattinen"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "nimi"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "osuma"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "tunnistusalgoritmi"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "ei ole herkkä"
|
||||
|
||||
@@ -611,113 +611,169 @@ msgstr ""
|
||||
msgid "custom field instances"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr "API-lähetys"
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "järjestys"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "Tuo vain dokumentit jotka täsmäävät täysin tiedostonimen suhteen. Jokerimerkit kuten *.pdf tai *lasku* ovat sallittuja. Kirjainkoko ei merkitse."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:940
|
||||
msgid "assign title"
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:945
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "määritä tämä tunniste"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "määritä tämä asiakirjatyyppi"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "määritä tämä kirjeenvaihtaja"
|
||||
|
||||
#: documents/models.py:977
|
||||
msgid "assign this storage path"
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:986
|
||||
msgid "assign this owner"
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:993
|
||||
msgid "grant view permissions to these users"
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "määritä tämä tunniste"
|
||||
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "määritä tämä asiakirjatyyppi"
|
||||
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "määritä tämä kirjeenvaihtaja"
|
||||
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "järjestys"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "Virheellinen regex-lauseke: %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "Virheellinen väri."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Tiedostotyyppiä %(type)s ei tueta"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Virheellinen muuttuja havaittu."
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr "Sähköposti"
|
||||
msgid "Send me instructions!"
|
||||
msgstr "Lähettäkää ohjeet!"
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr "Paperless"
|
||||
|
||||
#: paperless/settings.py:586
|
||||
msgid "English (US)"
|
||||
msgstr "Englanti (US)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
msgid "Arabic"
|
||||
msgstr "Arabialainen"
|
||||
|
||||
#: paperless/settings.py:588
|
||||
msgid "Afrikaans"
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:589
|
||||
msgid "Belarusian"
|
||||
msgstr "valkovenäjä"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
msgid "Bulgarian"
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:591
|
||||
msgid "Catalan"
|
||||
msgstr "Katalaani"
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:592
|
||||
msgid "Czech"
|
||||
msgstr "Tšekki"
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:593
|
||||
msgid "Danish"
|
||||
msgstr "Tanska"
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:594
|
||||
msgid "German"
|
||||
msgstr "Saksa"
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:595
|
||||
msgid "Greek"
|
||||
msgstr "Kreikka"
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:596
|
||||
msgid "English (GB)"
|
||||
msgstr "Englanti (US)"
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:597
|
||||
msgid "Spanish"
|
||||
msgstr "Espanja"
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:598
|
||||
msgid "Finnish"
|
||||
msgstr "Suomi"
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:599
|
||||
msgid "French"
|
||||
msgstr "Ranska"
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:600
|
||||
msgid "Hungarian"
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "English (US)"
|
||||
msgstr "Englanti (US)"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
msgid "Arabic"
|
||||
msgstr "Arabialainen"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
msgid "Afrikaans"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:604
|
||||
msgid "Belarusian"
|
||||
msgstr "valkovenäjä"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
msgid "Bulgarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:606
|
||||
msgid "Catalan"
|
||||
msgstr "Katalaani"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
msgid "Czech"
|
||||
msgstr "Tšekki"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
msgid "Danish"
|
||||
msgstr "Tanska"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
msgid "German"
|
||||
msgstr "Saksa"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
msgid "Greek"
|
||||
msgstr "Kreikka"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
msgid "English (GB)"
|
||||
msgstr "Englanti (US)"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
msgid "Spanish"
|
||||
msgstr "Espanja"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
msgid "Finnish"
|
||||
msgstr "Suomi"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
msgid "French"
|
||||
msgstr "Ranska"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
msgid "Hungarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "Italia"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Luxemburg"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr "Norja"
|
||||
|
||||
#: paperless/settings.py:604
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "Hollanti"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "puola"
|
||||
|
||||
#: paperless/settings.py:606
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "portugali (Brasilia)"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "portugali"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "romania"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "venäjä"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr "Slovakia"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "Slovenia"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "Serbia"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "ruotsi"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "Turkki"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr "Ukraina"
|
||||
|
||||
#: paperless/settings.py:616
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "Kiina (yksinkertaistettu)"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Paperless-ngx:n ylläpito"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-27 12:08\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: French\n"
|
||||
"Language: fr_FR\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "Documents"
|
||||
msgid "owner"
|
||||
msgstr "propriétaire"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "Aucun élément"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "Un des mots"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "Tous les mots"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "Concordance exacte"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Expression régulière"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "Mot approximatif"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "Mot approximatif"
|
||||
msgid "Automatic"
|
||||
msgstr "Automatique"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "nom"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "rapprochement"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "algorithme de rapprochement"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "est insensible à la casse"
|
||||
|
||||
@@ -421,15 +421,15 @@ msgstr "n'a pas de propriétaire"
|
||||
|
||||
#: documents/models.py:457
|
||||
msgid "does not have owner in"
|
||||
msgstr "n'a pas de propriétaire"
|
||||
msgstr "n'a pas de propriétaire dans"
|
||||
|
||||
#: documents/models.py:458
|
||||
msgid "has custom field value"
|
||||
msgstr ""
|
||||
msgstr "a valeur d'un champ personnalisé"
|
||||
|
||||
#: documents/models.py:459
|
||||
msgid "is shared by me"
|
||||
msgstr ""
|
||||
msgstr "est partagé par moi"
|
||||
|
||||
#: documents/models.py:469
|
||||
msgid "rule type"
|
||||
@@ -589,7 +589,7 @@ msgstr "Monétaire"
|
||||
|
||||
#: documents/models.py:761
|
||||
msgid "Document Link"
|
||||
msgstr "Lien du Document"
|
||||
msgstr "Lien du document"
|
||||
|
||||
#: documents/models.py:773
|
||||
msgid "data type"
|
||||
@@ -611,113 +611,169 @@ msgstr "instance de champs personnalisés"
|
||||
msgid "custom field instances"
|
||||
msgstr "instances de champs personnalisés"
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr "Dossier d'Importation"
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr "Téléverser l'Api"
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr "Récupération du courriel"
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "ordre"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr "filtrer le chemin"
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr "N'importer que les documents dont le chemin correspond à celui-ci s'il est spécifié. Les caractères spécifiés par * sont autorisés. Insensible à la casse."
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr "filtrer le nom de fichier"
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "Ne traiter que les documents correspondant intégralement à ce nom de fichier s'il est spécifié. Les jokers tels que *.pdf ou *facture* sont autorisés. La casse n'est pas prise en compte."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr "filtrer les documents à partir de cette règle de messagerie"
|
||||
|
||||
#: documents/models.py:940
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr "attribuer un titre"
|
||||
|
||||
#: documents/models.py:945
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr "Assigner un titre de document, peut inclure certains marqueurs, voir la documentation."
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "affecter cette étiquette"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "affecter ce type de document"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "affecter ce correspondant"
|
||||
|
||||
#: documents/models.py:977
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr "assigner ce chemin de stockage"
|
||||
|
||||
#: documents/models.py:986
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr "assigner ce propriétaire"
|
||||
|
||||
#: documents/models.py:993
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr "accorder des permissions de vue à ces utilisateurs"
|
||||
|
||||
#: documents/models.py:1000
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr "accorder des droits de vue à ces groupes"
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr "accorder des droits de modification à ces utilisateurs"
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr "accorder des droits de modification à ces groupes"
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr "assigner ces champs personnalisés"
|
||||
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
msgstr "modèle d'importation"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
msgstr "modèles d'importation"
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "ordre"
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr "déclencheurs"
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr "actions"
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr "activé"
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "Expression régulière incorrecte : %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "Couleur incorrecte."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Type de fichier %(type)s non pris en charge"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Variable invalide détectée."
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr "Adresse électronique"
|
||||
msgid "Send me instructions!"
|
||||
msgstr "Envoyez-moi les instructions !"
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr "Impossible d'analyser l'URI {value}, schéma manquant"
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr "Impossible d'analyser l'URI {value}, emplacement réseau ou chemin manquant"
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr "Impossible d'analyser l'URI {value}"
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr "Paperless"
|
||||
|
||||
#: paperless/settings.py:586
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr "pdf"
|
||||
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr "pdfa"
|
||||
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr "pdfa-1"
|
||||
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr "pdfa-2"
|
||||
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr "pdfa-3"
|
||||
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr "ignorer"
|
||||
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr "rétablir"
|
||||
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr "forcer"
|
||||
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr "jamais"
|
||||
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr "toujours"
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr "clean"
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr "aucun"
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr "RGB"
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr "Définit le type de PDF de sortie"
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr "Active la rotation des pages"
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr "Définit le seuil de rotation des pages"
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "English (US)"
|
||||
msgstr "Anglais (US)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
#: paperless/settings.py:602
|
||||
msgid "Arabic"
|
||||
msgstr "Arabe"
|
||||
|
||||
#: paperless/settings.py:588
|
||||
#: paperless/settings.py:603
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikaans"
|
||||
|
||||
#: paperless/settings.py:589
|
||||
#: paperless/settings.py:604
|
||||
msgid "Belarusian"
|
||||
msgstr "Biélorusse"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
#: paperless/settings.py:605
|
||||
msgid "Bulgarian"
|
||||
msgstr "Bulgare"
|
||||
|
||||
#: paperless/settings.py:591
|
||||
#: paperless/settings.py:606
|
||||
msgid "Catalan"
|
||||
msgstr "Catalan"
|
||||
|
||||
#: paperless/settings.py:592
|
||||
#: paperless/settings.py:607
|
||||
msgid "Czech"
|
||||
msgstr "Tchèque"
|
||||
|
||||
#: paperless/settings.py:593
|
||||
#: paperless/settings.py:608
|
||||
msgid "Danish"
|
||||
msgstr "Danois"
|
||||
|
||||
#: paperless/settings.py:594
|
||||
#: paperless/settings.py:609
|
||||
msgid "German"
|
||||
msgstr "Allemand"
|
||||
|
||||
#: paperless/settings.py:595
|
||||
#: paperless/settings.py:610
|
||||
msgid "Greek"
|
||||
msgstr "Grec"
|
||||
|
||||
#: paperless/settings.py:596
|
||||
#: paperless/settings.py:611
|
||||
msgid "English (GB)"
|
||||
msgstr "Anglais (GB)"
|
||||
|
||||
#: paperless/settings.py:597
|
||||
#: paperless/settings.py:612
|
||||
msgid "Spanish"
|
||||
msgstr "Espagnol"
|
||||
|
||||
#: paperless/settings.py:598
|
||||
#: paperless/settings.py:613
|
||||
msgid "Finnish"
|
||||
msgstr "Finnois"
|
||||
|
||||
#: paperless/settings.py:599
|
||||
#: paperless/settings.py:614
|
||||
msgid "French"
|
||||
msgstr "Français"
|
||||
|
||||
#: paperless/settings.py:600
|
||||
#: paperless/settings.py:615
|
||||
msgid "Hungarian"
|
||||
msgstr "Hongrois"
|
||||
|
||||
#: paperless/settings.py:601
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "Italien"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Luxembourgeois"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr "Norvégien"
|
||||
|
||||
#: paperless/settings.py:604
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "Néerlandais"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "Polonais"
|
||||
|
||||
#: paperless/settings.py:606
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Portugais (Brésil)"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "Portugais"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "Roumain"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "Russe"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr "Solvaque"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "Slovène"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "Serbe"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "Suédois"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "Turc"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr "Ukrainien"
|
||||
|
||||
#: paperless/settings.py:616
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "Chinois simplifié"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Administration de Paperless-ngx"
|
||||
|
||||
@@ -1180,15 +1387,15 @@ msgstr "filtrer le corps du message"
|
||||
|
||||
#: paperless_mail/models.py:143
|
||||
msgid "filter attachment filename inclusive"
|
||||
msgstr ""
|
||||
msgstr "filtrer le nom de fichier de la pièce jointe de manière inclusive"
|
||||
|
||||
#: paperless_mail/models.py:155
|
||||
msgid "filter attachment filename exclusive"
|
||||
msgstr ""
|
||||
msgstr "filtrer le nom de fichier de la pièce jointe de manière exclusive"
|
||||
|
||||
#: paperless_mail/models.py:160
|
||||
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'importer que les documents qui correspondent intégralement à ce nom de fichier s'il est spécifié. Les caractères tels que *.pdf ou *facture* sont autorisés. La casse n'est pas prise en compte."
|
||||
|
||||
#: paperless_mail/models.py:167
|
||||
msgid "maximum age"
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-25 12:09\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Hebrew\n"
|
||||
"Language: he_IL\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "מסמכים"
|
||||
msgid "owner"
|
||||
msgstr "בעלים"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "ללא"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "מילה כלשהי"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "כל המילים"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "התאמה מדויקת"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "ביטוי רגולרי"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "מילה מעורפלת"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "מילה מעורפלת"
|
||||
msgid "Automatic"
|
||||
msgstr "אוטומטי"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "שם"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "התאמה"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "אלגוריתם התאמה"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "אינו תלוי רישיות"
|
||||
|
||||
@@ -611,113 +611,169 @@ msgstr "שדה מותאם אישית"
|
||||
msgid "custom field instances"
|
||||
msgstr "שדות מותאמים אישית"
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr "עיבוד תיקיה"
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr "העלאה באמצעות API"
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr "הורד מייל"
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "סדר"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr "נתיב מסנן"
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr "עבד רק קבצים המצוים בנתיב זה אם מוגדר. "
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr "סנן לפי שם קובץ"
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "קבל רק מסמכים שתואמים לחלוטין את שם הקובץ הזה אם צוין. תווים כלליים כגון pdf.* או *חשבונית* מותרים. חסר רגישות תווים גדולים/קטנים (אנגלית)."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr "סנן מסמכים לפי כלל המייל הזה"
|
||||
|
||||
#: documents/models.py:940
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr "הקצה כותרת"
|
||||
|
||||
#: documents/models.py:945
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr "הקצה כותרת למסמך, תוכל להשתמש במראה מקומות. בדוק כיצד במדריך למשתמש"
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "שייך תגית זו"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "שייך סוג מסמך זה"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "שייך מכותב זה"
|
||||
|
||||
#: documents/models.py:977
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr "הקצה נתיב אחסון זה"
|
||||
|
||||
#: documents/models.py:986
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr "הקצה בעלים זה"
|
||||
|
||||
#: documents/models.py:993
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr "אפשר זכויות צפיה בקובץ למשתמשים אלו"
|
||||
|
||||
#: documents/models.py:1000
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr "אפשר זכויות צפיה בקובץ לקבוצות אלו"
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr "אפשר זכויות שינוי הגדרות צפיה בקובץ למשתמשים אלו"
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr "אפשר זכויות שינוי הגדרות צפיה בקובץ לקבוצות אלו"
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr "הקצה שדות מותאמים אישית אלו "
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
msgstr "תבנית עיבוד"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
msgstr "תבניות עיבוד"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "סדר"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "ביטוי רגולרי בלתי חוקי: %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "צבע לא חוקי."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "סוג קובץ %(type)s לא נתמך"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "משתנה לא חוקי זוהה."
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr "דוא\"ל"
|
||||
msgid "Send me instructions!"
|
||||
msgstr "שלח לי את ההוראות!"
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr "ללא נייר"
|
||||
|
||||
#: paperless/settings.py:586
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "English (US)"
|
||||
msgstr "אנגלית (ארה״ב)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
#: paperless/settings.py:602
|
||||
msgid "Arabic"
|
||||
msgstr "ערבית"
|
||||
|
||||
#: paperless/settings.py:588
|
||||
#: paperless/settings.py:603
|
||||
msgid "Afrikaans"
|
||||
msgstr "אפריקאנס"
|
||||
|
||||
#: paperless/settings.py:589
|
||||
#: paperless/settings.py:604
|
||||
msgid "Belarusian"
|
||||
msgstr "בלרוסית"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
#: paperless/settings.py:605
|
||||
msgid "Bulgarian"
|
||||
msgstr "בולגרית"
|
||||
|
||||
#: paperless/settings.py:591
|
||||
#: paperless/settings.py:606
|
||||
msgid "Catalan"
|
||||
msgstr "קטלאנית"
|
||||
|
||||
#: paperless/settings.py:592
|
||||
#: paperless/settings.py:607
|
||||
msgid "Czech"
|
||||
msgstr "צ'כית"
|
||||
|
||||
#: paperless/settings.py:593
|
||||
#: paperless/settings.py:608
|
||||
msgid "Danish"
|
||||
msgstr "דנית"
|
||||
|
||||
#: paperless/settings.py:594
|
||||
#: paperless/settings.py:609
|
||||
msgid "German"
|
||||
msgstr "גרמנית"
|
||||
|
||||
#: paperless/settings.py:595
|
||||
#: paperless/settings.py:610
|
||||
msgid "Greek"
|
||||
msgstr "יוונית"
|
||||
|
||||
#: paperless/settings.py:596
|
||||
#: paperless/settings.py:611
|
||||
msgid "English (GB)"
|
||||
msgstr "אנגלית (בריטניה)"
|
||||
|
||||
#: paperless/settings.py:597
|
||||
#: paperless/settings.py:612
|
||||
msgid "Spanish"
|
||||
msgstr "ספרדית"
|
||||
|
||||
#: paperless/settings.py:598
|
||||
#: paperless/settings.py:613
|
||||
msgid "Finnish"
|
||||
msgstr "פינית"
|
||||
|
||||
#: paperless/settings.py:599
|
||||
#: paperless/settings.py:614
|
||||
msgid "French"
|
||||
msgstr "צרפתית"
|
||||
|
||||
#: paperless/settings.py:600
|
||||
#: paperless/settings.py:615
|
||||
msgid "Hungarian"
|
||||
msgstr "הונגרית"
|
||||
|
||||
#: paperless/settings.py:601
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "איטלקית"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "לוקסמבורגית"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr "נורווגית"
|
||||
|
||||
#: paperless/settings.py:604
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "הולנדית"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "פולנית"
|
||||
|
||||
#: paperless/settings.py:606
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "פורטוגלית ברזילאית"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "פורטוגלית"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "רומנית"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "רוסית"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr "סלובקית"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "סלובנית"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "סרבית"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "שוודית"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "טורקית"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr "אוקראינית"
|
||||
|
||||
#: paperless/settings.py:616
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "סינית מפושטת"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "ניהול Paperless-ngx"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-19 20:45\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Croatian\n"
|
||||
"Language: hr_HR\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "Dokumenti"
|
||||
msgid "owner"
|
||||
msgstr "vlasnik"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "Ništa"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "Bilo koja riječ"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "Sve riječi"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "Točno podudaranje"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Uobičajeni izraz"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "Nejasna riječ"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "Nejasna riječ"
|
||||
msgid "Automatic"
|
||||
msgstr "Automatski"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "ime"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "podudarati"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "algoritam podudaranja"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "ne razlikuje velika i mala slova"
|
||||
|
||||
@@ -529,7 +529,7 @@ msgstr "korisnik"
|
||||
|
||||
#: documents/models.py:681
|
||||
msgid "note"
|
||||
msgstr ""
|
||||
msgstr "bilješka"
|
||||
|
||||
#: documents/models.py:682
|
||||
msgid "notes"
|
||||
@@ -537,15 +537,15 @@ msgstr ""
|
||||
|
||||
#: documents/models.py:690
|
||||
msgid "Archive"
|
||||
msgstr ""
|
||||
msgstr "Arhiva"
|
||||
|
||||
#: documents/models.py:691
|
||||
msgid "Original"
|
||||
msgstr ""
|
||||
msgstr "Izvornik"
|
||||
|
||||
#: documents/models.py:702
|
||||
msgid "expiration"
|
||||
msgstr ""
|
||||
msgstr "istječe"
|
||||
|
||||
#: documents/models.py:709
|
||||
msgid "slug"
|
||||
@@ -553,7 +553,7 @@ msgstr ""
|
||||
|
||||
#: documents/models.py:741
|
||||
msgid "share link"
|
||||
msgstr ""
|
||||
msgstr "dijeli vezu"
|
||||
|
||||
#: documents/models.py:742
|
||||
msgid "share links"
|
||||
@@ -569,7 +569,7 @@ msgstr ""
|
||||
|
||||
#: documents/models.py:756
|
||||
msgid "Date"
|
||||
msgstr ""
|
||||
msgstr "Datum"
|
||||
|
||||
#: documents/models.py:757
|
||||
msgid "Boolean"
|
||||
@@ -581,7 +581,7 @@ msgstr ""
|
||||
|
||||
#: documents/models.py:759
|
||||
msgid "Float"
|
||||
msgstr ""
|
||||
msgstr "Plutajući"
|
||||
|
||||
#: documents/models.py:760
|
||||
msgid "Monetary"
|
||||
@@ -589,11 +589,11 @@ msgstr ""
|
||||
|
||||
#: documents/models.py:761
|
||||
msgid "Document Link"
|
||||
msgstr ""
|
||||
msgstr "Poveznica dokumenta"
|
||||
|
||||
#: documents/models.py:773
|
||||
msgid "data type"
|
||||
msgstr ""
|
||||
msgstr "vrsta dokumenta"
|
||||
|
||||
#: documents/models.py:781
|
||||
msgid "custom field"
|
||||
@@ -611,113 +611,169 @@ msgstr ""
|
||||
msgid "custom field instances"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "redoslijed"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "Konzumirajte samo dokumente koji u potpunosti odgovaraju ovom nazivu datoteke ako je navedeno. Dopušteni su zamjenski znakovi kao što su *.pdf ili *faktura*. Neosjetljivo je na mala i mala slova."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:940
|
||||
msgid "assign title"
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:945
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "dodijeli oznaku"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "dodijeliti ovu vrstu dokumenta"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "dodijelite ovom dopisniku"
|
||||
|
||||
#: documents/models.py:977
|
||||
msgid "assign this storage path"
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:986
|
||||
msgid "assign this owner"
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:993
|
||||
msgid "grant view permissions to these users"
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "dodijeli oznaku"
|
||||
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "dodijeliti ovu vrstu dokumenta"
|
||||
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "dodijelite ovom dopisniku"
|
||||
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr "dodijeliti ova prilagođena polja"
|
||||
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "redoslijed"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "Nevažeći regularni izraz: %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "Nevažeća boja."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Vrsta datoteke %(type)s nije podržana"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Otkrivena je nevaljana vrsta datoteke."
|
||||
|
||||
@@ -804,15 +860,15 @@ msgstr ""
|
||||
|
||||
#: documents/templates/registration/password_reset_confirm.html:46
|
||||
msgid "Passwords did not match or too weak. Try again."
|
||||
msgstr ""
|
||||
msgstr "Lozinka nije točna ili je prekratka. Pokušajte ponovo."
|
||||
|
||||
#: documents/templates/registration/password_reset_confirm.html:49
|
||||
msgid "New Password"
|
||||
msgstr ""
|
||||
msgstr "Nova lozinka"
|
||||
|
||||
#: documents/templates/registration/password_reset_confirm.html:50
|
||||
msgid "Confirm Password"
|
||||
msgstr ""
|
||||
msgstr "Potvrdi lozinku"
|
||||
|
||||
#: documents/templates/registration/password_reset_confirm.html:61
|
||||
msgid "Change my password"
|
||||
@@ -854,135 +910,286 @@ msgstr ""
|
||||
msgid "Send me instructions!"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr "Paperless"
|
||||
|
||||
#: paperless/settings.py:586
|
||||
msgid "English (US)"
|
||||
msgstr "Engleski (US)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
msgid "Arabic"
|
||||
msgstr "Arapski"
|
||||
|
||||
#: paperless/settings.py:588
|
||||
msgid "Afrikaans"
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:589
|
||||
msgid "Belarusian"
|
||||
msgstr "Bjeloruski"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
msgid "Bulgarian"
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:591
|
||||
msgid "Catalan"
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:592
|
||||
msgid "Czech"
|
||||
msgstr "Češki"
|
||||
|
||||
#: paperless/settings.py:593
|
||||
msgid "Danish"
|
||||
msgstr "Danski"
|
||||
|
||||
#: paperless/settings.py:594
|
||||
msgid "German"
|
||||
msgstr "Njemački"
|
||||
|
||||
#: paperless/settings.py:595
|
||||
msgid "Greek"
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:596
|
||||
msgid "English (GB)"
|
||||
msgstr "Engleski (GB)"
|
||||
|
||||
#: paperless/settings.py:597
|
||||
msgid "Spanish"
|
||||
msgstr "Španjolski"
|
||||
|
||||
#: paperless/settings.py:598
|
||||
msgid "Finnish"
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:599
|
||||
msgid "French"
|
||||
msgstr "Francuski"
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:600
|
||||
msgid "Hungarian"
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "Italian"
|
||||
msgstr "Talijanski"
|
||||
msgid "English (US)"
|
||||
msgstr "Engleski (US)"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Luksemburški"
|
||||
msgid "Arabic"
|
||||
msgstr "Arapski"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
msgid "Norwegian"
|
||||
msgid "Afrikaans"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:604
|
||||
msgid "Dutch"
|
||||
msgstr "Nizozemski"
|
||||
msgid "Belarusian"
|
||||
msgstr "Bjeloruski"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
msgid "Polish"
|
||||
msgstr "Poljski"
|
||||
msgid "Bulgarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:606
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Portugalski (Brazil)"
|
||||
msgid "Catalan"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:607
|
||||
msgid "Portuguese"
|
||||
msgstr "Portugalski"
|
||||
msgid "Czech"
|
||||
msgstr "Češki"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
msgid "Romanian"
|
||||
msgstr "Rumunjski"
|
||||
msgid "Danish"
|
||||
msgstr "Danski"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
msgid "Russian"
|
||||
msgstr "Ruski"
|
||||
msgid "German"
|
||||
msgstr "Njemački"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
msgid "Slovak"
|
||||
msgid "Greek"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:611
|
||||
msgid "Slovenian"
|
||||
msgstr "Slovenski"
|
||||
msgid "English (GB)"
|
||||
msgstr "Engleski (GB)"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
msgid "Serbian"
|
||||
msgstr "Srpski"
|
||||
msgid "Spanish"
|
||||
msgstr "Španjolski"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
msgid "Swedish"
|
||||
msgstr "Švedski"
|
||||
msgid "Finnish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:614
|
||||
msgid "Turkish"
|
||||
msgstr "Turski"
|
||||
msgid "French"
|
||||
msgstr "Francuski"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
msgid "Ukrainian"
|
||||
msgid "Hungarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "Talijanski"
|
||||
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Luksemburški"
|
||||
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "Nizozemski"
|
||||
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "Poljski"
|
||||
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Portugalski (Brazil)"
|
||||
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "Portugalski"
|
||||
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "Rumunjski"
|
||||
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "Ruski"
|
||||
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "Slovenski"
|
||||
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "Srpski"
|
||||
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "Švedski"
|
||||
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "Turski"
|
||||
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "Pojednostavljeni kineski"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Paperless-ngx administracija"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-19 20:45\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Hungarian\n"
|
||||
"Language: hu_HU\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "Dokumentumok"
|
||||
msgid "owner"
|
||||
msgstr "tulajdonos"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "Nincs"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "Bármilyen szó"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "Minden szó"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "Pontos egyezés"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Reguláris kifejezés"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "Fuzzy szó"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "Fuzzy szó"
|
||||
msgid "Automatic"
|
||||
msgstr "Automatikus"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "név"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "egyezés"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "egyeztető algoritmus"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "érzéketlen"
|
||||
|
||||
@@ -611,113 +611,169 @@ msgstr "egyéni mező példány"
|
||||
msgid "custom field instances"
|
||||
msgstr "egyéni mező példányok"
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr "Feldolgozási mappa"
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr "Api feltöltés"
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr "Mail lehívás"
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "megrendelés"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr "szűrési útvonal"
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr "Csak olyan dokumentumokat dolgoz fel, amelyeknek az elérési útvonala megegyezik ezzel, ha ez meg van adva. A *-gal megadott helyettesítő karakterek engedélyezettek. Nagy- és kisbetűkre nem érzékeny."
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr "szűrő fájlnév"
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "Csak olyan dokumentumokat dolgoz fel, amelyek teljes mértékben megfelelnek ennek a fájlnévnek, ha meg van adva. Az olyan helyettesítő karakterek, mint *.pdf vagy *számla* engedélyezettek. Nagy- és kisbetűkre nem érzékeny."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr "dokumentumok szűrése ebből a levélszabályból"
|
||||
|
||||
#: documents/models.py:940
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr "cím hozzárendelése"
|
||||
|
||||
#: documents/models.py:945
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr "A dokumentum címének hozzárendelése, tartalmazhat néhány helykitöltőt, lásd a dokumentációt."
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "rendelje hozzá ezt a jelölőt"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "rendelje hozzá ezt a dokumentumtípust"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "rendelje hozzá ezt a kapcsolattartót"
|
||||
|
||||
#: documents/models.py:977
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr "rendelje hozzá ezt a tárolási útvonalat"
|
||||
|
||||
#: documents/models.py:986
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr "rendelje hozzá ezt a tulajdonost"
|
||||
|
||||
#: documents/models.py:993
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr "adjon megtekintési engedélyeket ezeknek a felhasználóknak"
|
||||
|
||||
#: documents/models.py:1000
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr "nézeti engedélyeket adjon ezeknek a csoportoknak"
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr "adjon módosítási engedélyeket ezeknek a felhasználóknak"
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr "adjon módosítási jogosultságokat ezeknek a csoportoknak"
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr "rendelje hozzá ezeket az egyedi mezőket"
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
msgstr "feldolgozási sablon"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
msgstr "feldolgozási sablonok"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "megrendelés"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "Érvénytelen reguláris kifejezés: %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "Érvénytelen szín."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Fájltípus %(type)s nem támogatott"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Érvénytelen változót észleltek."
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr "E-mail"
|
||||
msgid "Send me instructions!"
|
||||
msgstr "Küldjenek utasításokat!"
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr "Papírmentes"
|
||||
|
||||
#: paperless/settings.py:586
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "English (US)"
|
||||
msgstr "Angol (US)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
#: paperless/settings.py:602
|
||||
msgid "Arabic"
|
||||
msgstr "Arab"
|
||||
|
||||
#: paperless/settings.py:588
|
||||
#: paperless/settings.py:603
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikai"
|
||||
|
||||
#: paperless/settings.py:589
|
||||
#: paperless/settings.py:604
|
||||
msgid "Belarusian"
|
||||
msgstr "Fehérorosz"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
#: paperless/settings.py:605
|
||||
msgid "Bulgarian"
|
||||
msgstr "Bolgár"
|
||||
|
||||
#: paperless/settings.py:591
|
||||
#: paperless/settings.py:606
|
||||
msgid "Catalan"
|
||||
msgstr "Katalán"
|
||||
|
||||
#: paperless/settings.py:592
|
||||
#: paperless/settings.py:607
|
||||
msgid "Czech"
|
||||
msgstr "Cseh"
|
||||
|
||||
#: paperless/settings.py:593
|
||||
#: paperless/settings.py:608
|
||||
msgid "Danish"
|
||||
msgstr "Dán"
|
||||
|
||||
#: paperless/settings.py:594
|
||||
#: paperless/settings.py:609
|
||||
msgid "German"
|
||||
msgstr "Német"
|
||||
|
||||
#: paperless/settings.py:595
|
||||
#: paperless/settings.py:610
|
||||
msgid "Greek"
|
||||
msgstr "Görög"
|
||||
|
||||
#: paperless/settings.py:596
|
||||
#: paperless/settings.py:611
|
||||
msgid "English (GB)"
|
||||
msgstr "Angol (GB)"
|
||||
|
||||
#: paperless/settings.py:597
|
||||
#: paperless/settings.py:612
|
||||
msgid "Spanish"
|
||||
msgstr "Spanyol"
|
||||
|
||||
#: paperless/settings.py:598
|
||||
#: paperless/settings.py:613
|
||||
msgid "Finnish"
|
||||
msgstr "Finn"
|
||||
|
||||
#: paperless/settings.py:599
|
||||
#: paperless/settings.py:614
|
||||
msgid "French"
|
||||
msgstr "Francia"
|
||||
|
||||
#: paperless/settings.py:600
|
||||
#: paperless/settings.py:615
|
||||
msgid "Hungarian"
|
||||
msgstr "Magyar"
|
||||
|
||||
#: paperless/settings.py:601
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "Olasz"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Luxemburgi"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr "Norvég"
|
||||
|
||||
#: paperless/settings.py:604
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "Holland"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "Lengyel"
|
||||
|
||||
#: paperless/settings.py:606
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Portugál (Brazília)"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "Portugál"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "Román"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "Orosz"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr "Szlovák"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "Szlovén"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "Szerb"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "Svéd"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "Török"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr "Ukrán"
|
||||
|
||||
#: paperless/settings.py:616
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "Kínai egyszerűsített"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Paperless-ngx adminisztráció"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-26 12:08\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Indonesian\n"
|
||||
"Language: id_ID\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "Dokumen"
|
||||
msgid "owner"
|
||||
msgstr "pemilik"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "Tidak ada"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "Kata apapun"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "Semua kata"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "Sama persis"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Ekspresi reguler"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "Kata samar"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "Kata samar"
|
||||
msgid "Automatic"
|
||||
msgstr "Otomatis"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "nama"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "cocok"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "mencocokkan algoritma"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "tidak sensitif"
|
||||
|
||||
@@ -611,113 +611,169 @@ msgstr ""
|
||||
msgid "custom field instances"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr "Unggah Menggunakan API"
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "urut"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr "saring nama berkas"
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "Hanya gunakan dokumen yang sepenuhnya cocok dengan nama berkas ini jika ditentukan. Wildcard seperti *.pdf atau *faktur* diperbolehkan. Tidak peka huruf besar kecil."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr "saring dokumen dari peraturan surel"
|
||||
|
||||
#: documents/models.py:940
|
||||
msgid "assign title"
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:945
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "tetapkan label ini"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:977
|
||||
msgid "assign this storage path"
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:986
|
||||
msgid "assign this owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:993
|
||||
msgid "grant view permissions to these users"
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "tetapkan label ini"
|
||||
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "urut"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "Ekspresi reguler tidak valid: %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "Warna tidak valid."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Jenis berkas %(type)s tidak didukung"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Variabel ilegal terdeteksi."
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr "Surat elektronik"
|
||||
msgid "Send me instructions!"
|
||||
msgstr "Kirim saya instruksi!"
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:586
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "English (US)"
|
||||
msgstr "Inggris (AS)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
#: paperless/settings.py:602
|
||||
msgid "Arabic"
|
||||
msgstr "Arab"
|
||||
|
||||
#: paperless/settings.py:588
|
||||
#: paperless/settings.py:603
|
||||
msgid "Afrikaans"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:589
|
||||
#: paperless/settings.py:604
|
||||
msgid "Belarusian"
|
||||
msgstr "Belarusia"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
#: paperless/settings.py:605
|
||||
msgid "Bulgarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:591
|
||||
#: paperless/settings.py:606
|
||||
msgid "Catalan"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:592
|
||||
#: paperless/settings.py:607
|
||||
msgid "Czech"
|
||||
msgstr "Bahasa Ceko"
|
||||
|
||||
#: paperless/settings.py:593
|
||||
#: paperless/settings.py:608
|
||||
msgid "Danish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:594
|
||||
#: paperless/settings.py:609
|
||||
msgid "German"
|
||||
msgstr "Jerman"
|
||||
|
||||
#: paperless/settings.py:595
|
||||
#: paperless/settings.py:610
|
||||
msgid "Greek"
|
||||
msgstr "Yunani"
|
||||
|
||||
#: paperless/settings.py:596
|
||||
#: paperless/settings.py:611
|
||||
msgid "English (GB)"
|
||||
msgstr "Inggris (GB)"
|
||||
|
||||
#: paperless/settings.py:597
|
||||
#: paperless/settings.py:612
|
||||
msgid "Spanish"
|
||||
msgstr "Spanyol"
|
||||
|
||||
#: paperless/settings.py:598
|
||||
#: paperless/settings.py:613
|
||||
msgid "Finnish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:599
|
||||
#: paperless/settings.py:614
|
||||
msgid "French"
|
||||
msgstr "Prancis"
|
||||
|
||||
#: paperless/settings.py:600
|
||||
#: paperless/settings.py:615
|
||||
msgid "Hungarian"
|
||||
msgstr "Hungaria"
|
||||
|
||||
#: paperless/settings.py:601
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "Italia"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Luksemburg"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr "Norwegia"
|
||||
|
||||
#: paperless/settings.py:604
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "Belanda"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "Polandia"
|
||||
|
||||
#: paperless/settings.py:606
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Portugis (Brasil)"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "Portugis"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "Rumania"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "Rusia"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr "Slovakia"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "Slovenia"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "Serbia"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "Swedia"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "Turki"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr "Ukraina"
|
||||
|
||||
#: paperless/settings.py:616
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "Mandarin Sederhana"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Administrasi Paperless-ngx"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-28 00:23\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Italian\n"
|
||||
"Language: it_IT\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "Documenti"
|
||||
msgid "owner"
|
||||
msgstr "proprietario"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "Niente"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "Qualsiasi parola"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "Tutte le parole"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "Corrispondenza esatta"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Espressione regolare"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "Parole fuzzy"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "Parole fuzzy"
|
||||
msgid "Automatic"
|
||||
msgstr "Automatico"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "nome"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "corrispondenza"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "algoritmo di corrispondenza"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "non distingue maiuscole e minuscole"
|
||||
|
||||
@@ -611,113 +611,169 @@ msgstr "istanza campo personalizzato"
|
||||
msgid "custom field instances"
|
||||
msgstr "istanze campo personalizzato"
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr "Documento aggiunto"
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr "Documento aggiornato"
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr "Cartella di elaborazione"
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr "Upload Api"
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr "Recupero Posta"
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "priorità"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr "filtro percorso"
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr "Elabora solo i documenti con un percorso che corrisponde a questo, se specificato. I caratteri wildcard come * sono permessi. Ignora differenze tra maiuscole e minuscole."
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr "filtra nome file"
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "Elabora i documenti che corrispondono a questo nome. Puoi usare wildcard come *.pdf o *fattura*. Non fa differenza fra maiuscole e minuscole."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr "filtra i documenti da questa regola di posta"
|
||||
|
||||
#: documents/models.py:940
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr "ha questi tag(s)"
|
||||
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr "assegna titolo"
|
||||
|
||||
#: documents/models.py:945
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr "Assegna un titolo al documento, può includere alcuni segnaposti, vedi documentazione."
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "assegna questo tag"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "assegna questo tipo di documento"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "assegna questo corrispondente"
|
||||
|
||||
#: documents/models.py:977
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr "assegna questo percorso di archiviazione"
|
||||
|
||||
#: documents/models.py:986
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr "assegna questo proprietario"
|
||||
|
||||
#: documents/models.py:993
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr "concedi i permessi di visualizzazione a questi utenti"
|
||||
|
||||
#: documents/models.py:1000
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr "concedi i permessi di visualizzazione a questi gruppi"
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr "concedi permessi di modifica a questi utenti"
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr "concedi permessi di modifica a questi gruppi"
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr "assegna questi campi personalizzati"
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
msgstr "modello di elaborazione"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
msgstr "modelli di elaborazione"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "priorità"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "Espressione regolare non valida: %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "Colore non valido."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Il tipo di file %(type)s non è supportato"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Variabile non valida rilevata."
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr "Email"
|
||||
msgid "Send me instructions!"
|
||||
msgstr "Inviami le istruzioni!"
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr "Paperless"
|
||||
|
||||
#: paperless/settings.py:586
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr "pdf"
|
||||
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr "pdfa"
|
||||
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr "pdfa-1"
|
||||
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr "pdfa-2"
|
||||
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr "pdfa-3"
|
||||
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr "salta"
|
||||
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr "forza"
|
||||
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr "mai"
|
||||
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr "sempre"
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr "RGB"
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr "Grigio"
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr "CMYK"
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr "Imposta il tipo di PDF in uscita"
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr "Esegui OCR dalla pagina 1 a questo valore"
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr "Esegui OCR utilizzando queste lingue"
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr "Imposta la modalità OCR"
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr "Abilita rotazione pagina"
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "English (US)"
|
||||
msgstr "Inglese (US)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
#: paperless/settings.py:602
|
||||
msgid "Arabic"
|
||||
msgstr "Arabo"
|
||||
|
||||
#: paperless/settings.py:588
|
||||
#: paperless/settings.py:603
|
||||
msgid "Afrikaans"
|
||||
msgstr "Africano"
|
||||
|
||||
#: paperless/settings.py:589
|
||||
#: paperless/settings.py:604
|
||||
msgid "Belarusian"
|
||||
msgstr "Bielorusso"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
#: paperless/settings.py:605
|
||||
msgid "Bulgarian"
|
||||
msgstr "Bulgaro"
|
||||
|
||||
#: paperless/settings.py:591
|
||||
#: paperless/settings.py:606
|
||||
msgid "Catalan"
|
||||
msgstr "Catalano"
|
||||
|
||||
#: paperless/settings.py:592
|
||||
#: paperless/settings.py:607
|
||||
msgid "Czech"
|
||||
msgstr "Ceco"
|
||||
|
||||
#: paperless/settings.py:593
|
||||
#: paperless/settings.py:608
|
||||
msgid "Danish"
|
||||
msgstr "Danese"
|
||||
|
||||
#: paperless/settings.py:594
|
||||
#: paperless/settings.py:609
|
||||
msgid "German"
|
||||
msgstr "Tedesco"
|
||||
|
||||
#: paperless/settings.py:595
|
||||
#: paperless/settings.py:610
|
||||
msgid "Greek"
|
||||
msgstr "Greco"
|
||||
|
||||
#: paperless/settings.py:596
|
||||
#: paperless/settings.py:611
|
||||
msgid "English (GB)"
|
||||
msgstr "Inglese (GB)"
|
||||
|
||||
#: paperless/settings.py:597
|
||||
#: paperless/settings.py:612
|
||||
msgid "Spanish"
|
||||
msgstr "Spagnolo"
|
||||
|
||||
#: paperless/settings.py:598
|
||||
#: paperless/settings.py:613
|
||||
msgid "Finnish"
|
||||
msgstr "Finlandese"
|
||||
|
||||
#: paperless/settings.py:599
|
||||
#: paperless/settings.py:614
|
||||
msgid "French"
|
||||
msgstr "Francese"
|
||||
|
||||
#: paperless/settings.py:600
|
||||
#: paperless/settings.py:615
|
||||
msgid "Hungarian"
|
||||
msgstr "Ungherese"
|
||||
|
||||
#: paperless/settings.py:601
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "Italiano"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Lussemburghese"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr "Norvegese"
|
||||
|
||||
#: paperless/settings.py:604
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "Olandese"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "Polacco"
|
||||
|
||||
#: paperless/settings.py:606
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Portoghese (Brasile)"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "Portoghese"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "Rumeno"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "Russo"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr "Slovacco"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "Sloveno"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "Serbo"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "Svedese"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "Turco"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr "Ucraino"
|
||||
|
||||
#: paperless/settings.py:616
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "Cinese semplificato"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Amministrazione di Paperless-ngx"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-19 20:45\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Korean\n"
|
||||
"Language: ko_KR\n"
|
||||
@@ -25,48 +25,48 @@ msgstr "문서"
|
||||
msgid "owner"
|
||||
msgstr "소유자"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "없음"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr ""
|
||||
msgstr "아무 단어"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "모든 단어"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "정확히 일치"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "정규 표현식"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr ""
|
||||
msgstr "불분명한 단어"
|
||||
|
||||
#: documents/models.py:59
|
||||
msgid "Automatic"
|
||||
msgstr "자동"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "이름"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "일치"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "일치 알고리즘"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "대소문자 구분 없음"
|
||||
|
||||
@@ -221,7 +221,7 @@ msgstr "디버그"
|
||||
|
||||
#: documents/models.py:369
|
||||
msgid "information"
|
||||
msgstr ""
|
||||
msgstr "정보"
|
||||
|
||||
#: documents/models.py:370
|
||||
msgid "warning"
|
||||
@@ -437,7 +437,7 @@ msgstr ""
|
||||
|
||||
#: documents/models.py:471
|
||||
msgid "value"
|
||||
msgstr ""
|
||||
msgstr "값"
|
||||
|
||||
#: documents/models.py:474
|
||||
msgid "filter rule"
|
||||
@@ -449,7 +449,7 @@ msgstr ""
|
||||
|
||||
#: documents/models.py:586
|
||||
msgid "Task ID"
|
||||
msgstr ""
|
||||
msgstr "작업 ID"
|
||||
|
||||
#: documents/models.py:587
|
||||
msgid "Celery ID for the Task that was run"
|
||||
@@ -465,7 +465,7 @@ msgstr ""
|
||||
|
||||
#: documents/models.py:599
|
||||
msgid "Task Filename"
|
||||
msgstr ""
|
||||
msgstr "작업 파일명"
|
||||
|
||||
#: documents/models.py:600
|
||||
msgid "Name of the file which the Task was run for"
|
||||
@@ -473,7 +473,7 @@ msgstr ""
|
||||
|
||||
#: documents/models.py:606
|
||||
msgid "Task Name"
|
||||
msgstr ""
|
||||
msgstr "작업명"
|
||||
|
||||
#: documents/models.py:607
|
||||
msgid "Name of the Task which was run"
|
||||
@@ -481,7 +481,7 @@ msgstr ""
|
||||
|
||||
#: documents/models.py:614
|
||||
msgid "Task State"
|
||||
msgstr ""
|
||||
msgstr "작업 상태"
|
||||
|
||||
#: documents/models.py:615
|
||||
msgid "Current state of the task being run"
|
||||
@@ -489,7 +489,7 @@ msgstr ""
|
||||
|
||||
#: documents/models.py:620
|
||||
msgid "Created DateTime"
|
||||
msgstr ""
|
||||
msgstr "생성일시"
|
||||
|
||||
#: documents/models.py:621
|
||||
msgid "Datetime field when the task result was created in UTC"
|
||||
@@ -497,7 +497,7 @@ msgstr ""
|
||||
|
||||
#: documents/models.py:626
|
||||
msgid "Started DateTime"
|
||||
msgstr ""
|
||||
msgstr "시작일시"
|
||||
|
||||
#: documents/models.py:627
|
||||
msgid "Datetime field when the task was started in UTC"
|
||||
@@ -505,7 +505,7 @@ msgstr ""
|
||||
|
||||
#: documents/models.py:632
|
||||
msgid "Completed DateTime"
|
||||
msgstr ""
|
||||
msgstr "완료일시"
|
||||
|
||||
#: documents/models.py:633
|
||||
msgid "Datetime field when the task was completed in UTC"
|
||||
@@ -513,7 +513,7 @@ msgstr ""
|
||||
|
||||
#: documents/models.py:638
|
||||
msgid "Result Data"
|
||||
msgstr ""
|
||||
msgstr "완료 결과"
|
||||
|
||||
#: documents/models.py:640
|
||||
msgid "The data returned by the task"
|
||||
@@ -521,7 +521,7 @@ msgstr ""
|
||||
|
||||
#: documents/models.py:652
|
||||
msgid "Note for the document"
|
||||
msgstr ""
|
||||
msgstr "문서에 대한 노트"
|
||||
|
||||
#: documents/models.py:676
|
||||
msgid "user"
|
||||
@@ -541,7 +541,7 @@ msgstr ""
|
||||
|
||||
#: documents/models.py:691
|
||||
msgid "Original"
|
||||
msgstr ""
|
||||
msgstr "원본"
|
||||
|
||||
#: documents/models.py:702
|
||||
msgid "expiration"
|
||||
@@ -589,11 +589,11 @@ msgstr ""
|
||||
|
||||
#: documents/models.py:761
|
||||
msgid "Document Link"
|
||||
msgstr ""
|
||||
msgstr "자료 링크"
|
||||
|
||||
#: documents/models.py:773
|
||||
msgid "data type"
|
||||
msgstr ""
|
||||
msgstr "데이터 타입"
|
||||
|
||||
#: documents/models.py:781
|
||||
msgid "custom field"
|
||||
@@ -611,113 +611,169 @@ msgstr ""
|
||||
msgid "custom field instances"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:940
|
||||
msgid "assign title"
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:945
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:977
|
||||
msgid "assign this storage path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:986
|
||||
msgid "assign this owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:993
|
||||
msgid "grant view permissions to these users"
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr ""
|
||||
|
||||
@@ -743,27 +799,27 @@ msgstr ""
|
||||
|
||||
#: documents/templates/registration/logged_out.html:41
|
||||
msgid "Sign in again"
|
||||
msgstr ""
|
||||
msgstr "다시 로그인해주세요"
|
||||
|
||||
#: documents/templates/registration/login.html:14
|
||||
msgid "Paperless-ngx sign in"
|
||||
msgstr ""
|
||||
msgstr "Paperless-ngx 로그인"
|
||||
|
||||
#: documents/templates/registration/login.html:41
|
||||
msgid "Please sign in."
|
||||
msgstr ""
|
||||
msgstr "로그인해주세요."
|
||||
|
||||
#: documents/templates/registration/login.html:44
|
||||
msgid "Your username and password didn't match. Please try again."
|
||||
msgstr ""
|
||||
msgstr "사용자명과 비밀번호가 일치하지 않습니다. 다시 시도해주세요."
|
||||
|
||||
#: documents/templates/registration/login.html:48
|
||||
msgid "Share link was not found."
|
||||
msgstr ""
|
||||
msgstr "공유링크가 유효하지 않습니다."
|
||||
|
||||
#: documents/templates/registration/login.html:52
|
||||
msgid "Share link has expired."
|
||||
msgstr ""
|
||||
msgstr "공유링크가 만료되었습니다."
|
||||
|
||||
#: documents/templates/registration/login.html:55
|
||||
msgid "Username"
|
||||
@@ -775,7 +831,7 @@ msgstr "비밀번호"
|
||||
|
||||
#: documents/templates/registration/login.html:66
|
||||
msgid "Sign in"
|
||||
msgstr ""
|
||||
msgstr "로그인"
|
||||
|
||||
#: documents/templates/registration/login.html:70
|
||||
msgid "Forgot your password?"
|
||||
@@ -783,7 +839,7 @@ msgstr "비밀번호를 잊으셨나요?"
|
||||
|
||||
#: documents/templates/registration/password_reset_complete.html:14
|
||||
msgid "Paperless-ngx reset password complete"
|
||||
msgstr ""
|
||||
msgstr "Paperless-ngx 비밀번호 초기화 완료"
|
||||
|
||||
#: documents/templates/registration/password_reset_complete.html:40
|
||||
msgid "Password reset complete."
|
||||
@@ -792,19 +848,19 @@ msgstr "비밀번호를 초기화했습니다."
|
||||
#: documents/templates/registration/password_reset_complete.html:42
|
||||
#, python-format
|
||||
msgid "Your new password has been set. You can now <a href=\"%(login_url)s\">log in</a>"
|
||||
msgstr ""
|
||||
msgstr "새로운 비밀번호로 변경되었습니다. <a href=\"%(login_url)s\">여기</a>에서 로그인하세요"
|
||||
|
||||
#: documents/templates/registration/password_reset_confirm.html:14
|
||||
msgid "Paperless-ngx reset password confirmation"
|
||||
msgstr ""
|
||||
msgstr "Paperless-ngx 비밀번호 초기화 확인"
|
||||
|
||||
#: documents/templates/registration/password_reset_confirm.html:42
|
||||
msgid "Set a new password."
|
||||
msgstr ""
|
||||
msgstr "새로운 비밀번호를 설정해주세요."
|
||||
|
||||
#: documents/templates/registration/password_reset_confirm.html:46
|
||||
msgid "Passwords did not match or too weak. Try again."
|
||||
msgstr ""
|
||||
msgstr "비밀번호가 일치하지 않거나 강력하지 않습니다. 다시 시도해주세요."
|
||||
|
||||
#: documents/templates/registration/password_reset_confirm.html:49
|
||||
msgid "New Password"
|
||||
@@ -820,15 +876,15 @@ msgstr "비밀번호 변경"
|
||||
|
||||
#: documents/templates/registration/password_reset_confirm.html:65
|
||||
msgid "request a new password reset"
|
||||
msgstr ""
|
||||
msgstr "새로운 비밀번호 초기화 요청"
|
||||
|
||||
#: documents/templates/registration/password_reset_done.html:14
|
||||
msgid "Paperless-ngx reset password sent"
|
||||
msgstr ""
|
||||
msgstr "Paperless-ngx 비밀번호 초기화 요청이 발송되었습니다"
|
||||
|
||||
#: documents/templates/registration/password_reset_done.html:40
|
||||
msgid "Check your inbox."
|
||||
msgstr ""
|
||||
msgstr "메일함을 확인해주세요."
|
||||
|
||||
#: documents/templates/registration/password_reset_done.html:41
|
||||
msgid "We've emailed you instructions for setting your password. You should receive the email shortly!"
|
||||
@@ -836,15 +892,15 @@ msgstr ""
|
||||
|
||||
#: documents/templates/registration/password_reset_form.html:14
|
||||
msgid "Paperless-ngx reset password request"
|
||||
msgstr ""
|
||||
msgstr "Paperless-ngx 비밀번호 초기화 요청"
|
||||
|
||||
#: documents/templates/registration/password_reset_form.html:41
|
||||
msgid "Enter your email address below, and we'll email instructions for setting a new one."
|
||||
msgstr ""
|
||||
msgstr "아래에 사용자 이메일 주소를 입력하세요. 새로운 비밀번호를 설정하는 방법을 메일로 보내드리겠습니다."
|
||||
|
||||
#: documents/templates/registration/password_reset_form.html:44
|
||||
msgid "An error occurred. Please try again."
|
||||
msgstr ""
|
||||
msgstr "에러가 발생했습니다. 다시 시도해주세요."
|
||||
|
||||
#: documents/templates/registration/password_reset_form.html:47
|
||||
msgid "Email"
|
||||
@@ -852,151 +908,302 @@ msgstr "전자우편"
|
||||
|
||||
#: documents/templates/registration/password_reset_form.html:54
|
||||
msgid "Send me instructions!"
|
||||
msgstr "방법 받기!"
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr "Paperless"
|
||||
|
||||
#: paperless/settings.py:586
|
||||
msgid "English (US)"
|
||||
msgstr "영어 (미국)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
msgid "Arabic"
|
||||
msgstr "아랍어"
|
||||
|
||||
#: paperless/settings.py:588
|
||||
msgid "Afrikaans"
|
||||
msgstr "아프리칸스어"
|
||||
|
||||
#: paperless/settings.py:589
|
||||
msgid "Belarusian"
|
||||
msgstr "벨라루스어"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
msgid "Bulgarian"
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:591
|
||||
msgid "Catalan"
|
||||
msgstr "카탈로니아어"
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:592
|
||||
msgid "Czech"
|
||||
msgstr "체코어"
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:593
|
||||
msgid "Danish"
|
||||
msgstr "덴마크어"
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:594
|
||||
msgid "German"
|
||||
msgstr "독일어"
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:595
|
||||
msgid "Greek"
|
||||
msgstr "그리스어"
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:596
|
||||
msgid "English (GB)"
|
||||
msgstr "영어 (영국)"
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:597
|
||||
msgid "Spanish"
|
||||
msgstr "스페인어"
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:598
|
||||
msgid "Finnish"
|
||||
msgstr "핀란드어"
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:599
|
||||
msgid "French"
|
||||
msgstr "프랑스어"
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:600
|
||||
msgid "Hungarian"
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "English (US)"
|
||||
msgstr "영어 (미국)"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
msgid "Arabic"
|
||||
msgstr "아랍어"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
msgid "Afrikaans"
|
||||
msgstr "아프리칸스어"
|
||||
|
||||
#: paperless/settings.py:604
|
||||
msgid "Belarusian"
|
||||
msgstr "벨라루스어"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
msgid "Bulgarian"
|
||||
msgstr "불가리어"
|
||||
|
||||
#: paperless/settings.py:606
|
||||
msgid "Catalan"
|
||||
msgstr "카탈로니아어"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
msgid "Czech"
|
||||
msgstr "체코어"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
msgid "Danish"
|
||||
msgstr "덴마크어"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
msgid "German"
|
||||
msgstr "독일어"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
msgid "Greek"
|
||||
msgstr "그리스어"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
msgid "English (GB)"
|
||||
msgstr "영어 (영국)"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
msgid "Spanish"
|
||||
msgstr "스페인어"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
msgid "Finnish"
|
||||
msgstr "핀란드어"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
msgid "French"
|
||||
msgstr "프랑스어"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
msgid "Hungarian"
|
||||
msgstr "헝가리어"
|
||||
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "이탈리아어"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "룩셈부르크어"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr "노르웨이어"
|
||||
|
||||
#: paperless/settings.py:604
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
msgstr "네덜란드어"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr ""
|
||||
msgstr "폴란드어"
|
||||
|
||||
#: paperless/settings.py:606
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr ""
|
||||
msgstr "포르투갈어 (브라질)"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr ""
|
||||
msgstr "포르투갈어"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr ""
|
||||
msgstr "루마니아어"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr ""
|
||||
msgstr "러시아어"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr ""
|
||||
msgstr "슬로바키아어"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr ""
|
||||
msgstr "슬로베니아어"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr ""
|
||||
msgstr "세르비아어"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr ""
|
||||
msgstr "스웨덴어"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr ""
|
||||
msgstr "튀르키예어"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr ""
|
||||
msgstr "우크라이나어"
|
||||
|
||||
#: paperless/settings.py:616
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr ""
|
||||
msgstr "중국어 간체"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr ""
|
||||
|
||||
#: paperless_mail/admin.py:41
|
||||
msgid "Authentication"
|
||||
msgstr ""
|
||||
msgstr "인증"
|
||||
|
||||
#: paperless_mail/admin.py:44
|
||||
msgid "Advanced settings"
|
||||
msgstr ""
|
||||
msgstr "고급 설정"
|
||||
|
||||
#: paperless_mail/admin.py:60
|
||||
msgid "Filter"
|
||||
msgstr ""
|
||||
msgstr "필터"
|
||||
|
||||
#: paperless_mail/admin.py:63
|
||||
msgid "Paperless will only process mails that match ALL of the filters given below."
|
||||
@@ -1004,7 +1211,7 @@ msgstr ""
|
||||
|
||||
#: paperless_mail/admin.py:80
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
msgstr "작업"
|
||||
|
||||
#: paperless_mail/admin.py:83
|
||||
msgid "The action applied to the mail. This action is only performed when the mail body or attachments were consumed from the mail."
|
||||
@@ -1012,7 +1219,7 @@ msgstr ""
|
||||
|
||||
#: paperless_mail/admin.py:91
|
||||
msgid "Metadata"
|
||||
msgstr ""
|
||||
msgstr "메타데이터"
|
||||
|
||||
#: paperless_mail/admin.py:94
|
||||
msgid "Assign metadata to documents consumed from this rule automatically. If you do not assign tags, types or correspondents here, paperless will still process all matching rules that you have defined."
|
||||
@@ -1024,31 +1231,31 @@ msgstr ""
|
||||
|
||||
#: paperless_mail/models.py:10
|
||||
msgid "mail account"
|
||||
msgstr ""
|
||||
msgstr "메일 계정"
|
||||
|
||||
#: paperless_mail/models.py:11
|
||||
msgid "mail accounts"
|
||||
msgstr ""
|
||||
msgstr "메일 계정"
|
||||
|
||||
#: paperless_mail/models.py:14
|
||||
msgid "No encryption"
|
||||
msgstr ""
|
||||
msgstr "암호화 없음"
|
||||
|
||||
#: paperless_mail/models.py:15
|
||||
msgid "Use SSL"
|
||||
msgstr ""
|
||||
msgstr "SSL 사용"
|
||||
|
||||
#: paperless_mail/models.py:16
|
||||
msgid "Use STARTTLS"
|
||||
msgstr ""
|
||||
msgstr "STARTTLS 사용"
|
||||
|
||||
#: paperless_mail/models.py:20
|
||||
msgid "IMAP server"
|
||||
msgstr ""
|
||||
msgstr "IMAP 서버"
|
||||
|
||||
#: paperless_mail/models.py:23
|
||||
msgid "IMAP port"
|
||||
msgstr ""
|
||||
msgstr "IMAP 포트"
|
||||
|
||||
#: paperless_mail/models.py:27
|
||||
msgid "This is usually 143 for unencrypted and STARTTLS connections, and 993 for SSL connections."
|
||||
@@ -1056,7 +1263,7 @@ msgstr ""
|
||||
|
||||
#: paperless_mail/models.py:33
|
||||
msgid "IMAP security"
|
||||
msgstr ""
|
||||
msgstr "IMAP 보안"
|
||||
|
||||
#: paperless_mail/models.py:38
|
||||
msgid "username"
|
||||
@@ -1072,7 +1279,7 @@ msgstr ""
|
||||
|
||||
#: paperless_mail/models.py:45
|
||||
msgid "character set"
|
||||
msgstr ""
|
||||
msgstr "문자셋"
|
||||
|
||||
#: paperless_mail/models.py:49
|
||||
msgid "The character set to use when communicating with the mail server, such as 'UTF-8' or 'US-ASCII'."
|
||||
@@ -1152,11 +1359,11 @@ msgstr ""
|
||||
|
||||
#: paperless_mail/models.py:101
|
||||
msgid "account"
|
||||
msgstr ""
|
||||
msgstr "계정"
|
||||
|
||||
#: paperless_mail/models.py:105 paperless_mail/models.py:260
|
||||
msgid "folder"
|
||||
msgstr ""
|
||||
msgstr "폴더"
|
||||
|
||||
#: paperless_mail/models.py:109
|
||||
msgid "Subfolders must be separated by a delimiter, often a dot ('.') or slash ('/'), but it varies by mail server."
|
||||
@@ -1212,7 +1419,7 @@ msgstr ""
|
||||
|
||||
#: paperless_mail/models.py:189
|
||||
msgid "action"
|
||||
msgstr ""
|
||||
msgstr "작업"
|
||||
|
||||
#: paperless_mail/models.py:195
|
||||
msgid "action parameter"
|
||||
@@ -1252,5 +1459,5 @@ msgstr ""
|
||||
|
||||
#: paperless_mail/models.py:297
|
||||
msgid "status"
|
||||
msgstr ""
|
||||
msgstr "상태"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-19 20:45\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Luxembourgish\n"
|
||||
"Language: lb_LU\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "Dokumenter"
|
||||
msgid "owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "Iergendee Wuert"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "All d'Wierder"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "Exakten Treffer"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Regulären Ausdrock"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "Ongenaut Wuert"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "Ongenaut Wuert"
|
||||
msgid "Automatic"
|
||||
msgstr "Automatesch"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "Numm"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "Zouweisungsmuster"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "Zouweisungsalgorithmus"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "Grouss-/Klengschreiwung ignoréieren"
|
||||
|
||||
@@ -611,113 +611,169 @@ msgstr ""
|
||||
msgid "custom field instances"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "Reiefolleg"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "Just Dokumenter traitéieren, déi exakt dësen Dateinumm hunn (falls definéiert). Platzhalter wéi *.pdf oder *invoice* sinn erlaabt. D'Grouss-/Klengschreiwung gëtt ignoréiert."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:940
|
||||
msgid "assign title"
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:945
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "dës Etikett zouweisen"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "Dësen Dokumententyp zouweisen"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "Dëse Korrespondent zouweisen"
|
||||
|
||||
#: documents/models.py:977
|
||||
msgid "assign this storage path"
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:986
|
||||
msgid "assign this owner"
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:993
|
||||
msgid "grant view permissions to these users"
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "dës Etikett zouweisen"
|
||||
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "Dësen Dokumententyp zouweisen"
|
||||
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "Dëse Korrespondent zouweisen"
|
||||
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "Reiefolleg"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "Ongëltege regulären Ausdrock: %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "Ongëlteg Faarf."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Fichierstyp %(type)s net ënnerstëtzt"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Ongëlteg Zeechen detektéiert."
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr ""
|
||||
msgid "Send me instructions!"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:586
|
||||
msgid "English (US)"
|
||||
msgstr "Englesch (USA)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
msgid "Arabic"
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:588
|
||||
msgid "Afrikaans"
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:589
|
||||
msgid "Belarusian"
|
||||
msgstr "Belarusesch"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
msgid "Bulgarian"
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:591
|
||||
msgid "Catalan"
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:592
|
||||
msgid "Czech"
|
||||
msgstr "Tschechesch"
|
||||
|
||||
#: paperless/settings.py:593
|
||||
msgid "Danish"
|
||||
msgstr "Dänesch"
|
||||
|
||||
#: paperless/settings.py:594
|
||||
msgid "German"
|
||||
msgstr "Däitsch"
|
||||
|
||||
#: paperless/settings.py:595
|
||||
msgid "Greek"
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:596
|
||||
msgid "English (GB)"
|
||||
msgstr "Englesch (GB)"
|
||||
|
||||
#: paperless/settings.py:597
|
||||
msgid "Spanish"
|
||||
msgstr "Spuenesch"
|
||||
|
||||
#: paperless/settings.py:598
|
||||
msgid "Finnish"
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:599
|
||||
msgid "French"
|
||||
msgstr "Franséisch"
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:600
|
||||
msgid "Hungarian"
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "Italian"
|
||||
msgstr "Italienesch"
|
||||
msgid "English (US)"
|
||||
msgstr "Englesch (USA)"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Lëtzebuergesch"
|
||||
msgid "Arabic"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:603
|
||||
msgid "Norwegian"
|
||||
msgid "Afrikaans"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:604
|
||||
msgid "Dutch"
|
||||
msgstr "Hollännesch"
|
||||
msgid "Belarusian"
|
||||
msgstr "Belarusesch"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
msgid "Polish"
|
||||
msgstr "Polnesch"
|
||||
msgid "Bulgarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:606
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Portugisesch (Brasilien)"
|
||||
msgid "Catalan"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:607
|
||||
msgid "Portuguese"
|
||||
msgstr "Portugisesch"
|
||||
msgid "Czech"
|
||||
msgstr "Tschechesch"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
msgid "Romanian"
|
||||
msgstr "Rumänesch"
|
||||
msgid "Danish"
|
||||
msgstr "Dänesch"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
msgid "Russian"
|
||||
msgstr "Russesch"
|
||||
msgid "German"
|
||||
msgstr "Däitsch"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
msgid "Slovak"
|
||||
msgid "Greek"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:611
|
||||
msgid "Slovenian"
|
||||
msgstr "Slowenesch"
|
||||
msgid "English (GB)"
|
||||
msgstr "Englesch (GB)"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
msgid "Serbian"
|
||||
msgstr "Serbesch"
|
||||
msgid "Spanish"
|
||||
msgstr "Spuenesch"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
msgid "Swedish"
|
||||
msgstr "Schwedesch"
|
||||
msgid "Finnish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:614
|
||||
msgid "Turkish"
|
||||
msgstr "Tierkesch"
|
||||
msgid "French"
|
||||
msgstr "Franséisch"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
msgid "Ukrainian"
|
||||
msgid "Hungarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "Italienesch"
|
||||
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Lëtzebuergesch"
|
||||
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "Hollännesch"
|
||||
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "Polnesch"
|
||||
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Portugisesch (Brasilien)"
|
||||
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "Portugisesch"
|
||||
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "Rumänesch"
|
||||
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "Russesch"
|
||||
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "Slowenesch"
|
||||
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "Serbesch"
|
||||
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "Schwedesch"
|
||||
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "Tierkesch"
|
||||
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "Chinesesch (Vereinfacht)"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Paperless-ngx-Administratioun"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-19 20:45\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Latvian\n"
|
||||
"Language: lv_LV\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "Dokuments"
|
||||
msgid "owner"
|
||||
msgstr "īpašnieks"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "Neviens"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr ""
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr ""
|
||||
msgid "Automatic"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr ""
|
||||
|
||||
@@ -611,113 +611,169 @@ msgstr ""
|
||||
msgid "custom field instances"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:940
|
||||
msgid "assign title"
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:945
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:977
|
||||
msgid "assign this storage path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:986
|
||||
msgid "assign this owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:993
|
||||
msgid "grant view permissions to these users"
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr ""
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr ""
|
||||
msgid "Send me instructions!"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:586
|
||||
msgid "English (US)"
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:587
|
||||
msgid "Arabic"
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:588
|
||||
msgid "Afrikaans"
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:589
|
||||
msgid "Belarusian"
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:590
|
||||
msgid "Bulgarian"
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:591
|
||||
msgid "Catalan"
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:592
|
||||
msgid "Czech"
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:593
|
||||
msgid "Danish"
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:594
|
||||
msgid "German"
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:595
|
||||
msgid "Greek"
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:596
|
||||
msgid "English (GB)"
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:597
|
||||
msgid "Spanish"
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:598
|
||||
msgid "Finnish"
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:599
|
||||
msgid "French"
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:600
|
||||
msgid "Hungarian"
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "Italian"
|
||||
msgid "English (US)"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:602
|
||||
msgid "Luxembourgish"
|
||||
msgid "Arabic"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:603
|
||||
msgid "Norwegian"
|
||||
msgid "Afrikaans"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:604
|
||||
msgid "Dutch"
|
||||
msgid "Belarusian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:605
|
||||
msgid "Polish"
|
||||
msgid "Bulgarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:606
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgid "Catalan"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:607
|
||||
msgid "Portuguese"
|
||||
msgid "Czech"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:608
|
||||
msgid "Romanian"
|
||||
msgid "Danish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:609
|
||||
msgid "Russian"
|
||||
msgid "German"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:610
|
||||
msgid "Slovak"
|
||||
msgid "Greek"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:611
|
||||
msgid "Slovenian"
|
||||
msgid "English (GB)"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:612
|
||||
msgid "Serbian"
|
||||
msgid "Spanish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:613
|
||||
msgid "Swedish"
|
||||
msgid "Finnish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:614
|
||||
msgid "Turkish"
|
||||
msgid "French"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:615
|
||||
msgid "Ukrainian"
|
||||
msgid "Hungarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-19 20:45\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Dutch\n"
|
||||
"Language: nl_NL\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "Documenten"
|
||||
msgid "owner"
|
||||
msgstr "eigenaar"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "Geen"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "Elk woord"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "Alle woorden"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "Exacte overeenkomst"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Reguliere expressie"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "Gelijkaardig woord"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "Gelijkaardig woord"
|
||||
msgid "Automatic"
|
||||
msgstr "Automatisch"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "naam"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "Overeenkomst"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "Algoritme voor het bepalen van de overeenkomst"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "is niet hoofdlettergevoelig"
|
||||
|
||||
@@ -611,113 +611,169 @@ msgstr ""
|
||||
msgid "custom field instances"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "volgorde"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "Alleen documenten verwerken die volledig overeenkomen, indien aangegeven. Je kunt jokertekens gebruiken, zoals *.pdf of *factuur*. Dit is niet hoofdlettergevoelig."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:940
|
||||
msgid "assign title"
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:945
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "wijs dit label toe"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "wijs dit documenttype toe"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "wijs deze correspondent toe"
|
||||
|
||||
#: documents/models.py:977
|
||||
msgid "assign this storage path"
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:986
|
||||
msgid "assign this owner"
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:993
|
||||
msgid "grant view permissions to these users"
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "wijs dit label toe"
|
||||
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "wijs dit documenttype toe"
|
||||
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "wijs deze correspondent toe"
|
||||
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "volgorde"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "Ongeldige reguliere expressie: %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "Ongeldig kleur."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Bestandstype %(type)s niet ondersteund"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Ongeldige variabele ontdekt."
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr "E-mailadres"
|
||||
msgid "Send me instructions!"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr "Paperless"
|
||||
|
||||
#: paperless/settings.py:586
|
||||
msgid "English (US)"
|
||||
msgstr "Engels (US)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
msgid "Arabic"
|
||||
msgstr "Arabisch"
|
||||
|
||||
#: paperless/settings.py:588
|
||||
msgid "Afrikaans"
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:589
|
||||
msgid "Belarusian"
|
||||
msgstr "Wit-Russisch"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
msgid "Bulgarian"
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:591
|
||||
msgid "Catalan"
|
||||
msgstr "Catalaans"
|
||||
|
||||
#: paperless/settings.py:592
|
||||
msgid "Czech"
|
||||
msgstr "Tsjechisch"
|
||||
|
||||
#: paperless/settings.py:593
|
||||
msgid "Danish"
|
||||
msgstr "Deens"
|
||||
|
||||
#: paperless/settings.py:594
|
||||
msgid "German"
|
||||
msgstr "Duits"
|
||||
|
||||
#: paperless/settings.py:595
|
||||
msgid "Greek"
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:596
|
||||
msgid "English (GB)"
|
||||
msgstr "Engels (Brits)"
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:597
|
||||
msgid "Spanish"
|
||||
msgstr "Spaans"
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:598
|
||||
msgid "Finnish"
|
||||
msgstr "Fins"
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:599
|
||||
msgid "French"
|
||||
msgstr "Frans"
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:600
|
||||
msgid "Hungarian"
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "Italian"
|
||||
msgstr "Italiaans"
|
||||
msgid "English (US)"
|
||||
msgstr "Engels (US)"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Luxemburgs"
|
||||
msgid "Arabic"
|
||||
msgstr "Arabisch"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
msgid "Norwegian"
|
||||
msgid "Afrikaans"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:604
|
||||
msgid "Belarusian"
|
||||
msgstr "Wit-Russisch"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
msgid "Bulgarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:606
|
||||
msgid "Catalan"
|
||||
msgstr "Catalaans"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
msgid "Czech"
|
||||
msgstr "Tsjechisch"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
msgid "Danish"
|
||||
msgstr "Deens"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
msgid "German"
|
||||
msgstr "Duits"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
msgid "Greek"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:611
|
||||
msgid "English (GB)"
|
||||
msgstr "Engels (Brits)"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
msgid "Spanish"
|
||||
msgstr "Spaans"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
msgid "Finnish"
|
||||
msgstr "Fins"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
msgid "French"
|
||||
msgstr "Frans"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
msgid "Hungarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "Italiaans"
|
||||
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Luxemburgs"
|
||||
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "Nederlands"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "Pools"
|
||||
|
||||
#: paperless/settings.py:606
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Portugees (Brazilië)"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "Portugees"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "Roemeens"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "Russisch"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr "Slowaaks"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "Sloveens"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "Servisch"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "Zweeds"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "Turks"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr "Oekraïens"
|
||||
|
||||
#: paperless/settings.py:616
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "Chinees (vereenvoudigd)"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Paperless-ngx administratie"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-19 20:45\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Norwegian\n"
|
||||
"Language: no_NO\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "Dokumenter"
|
||||
msgid "owner"
|
||||
msgstr "eier"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "Ingen"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "Hvilket som helst ord"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "Alle ord"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "Eksakt match"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Regulære uttrykk"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "Fuzzy word"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "Fuzzy word"
|
||||
msgid "Automatic"
|
||||
msgstr "Automatisk"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "navn"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "treff"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "samsvarende algoritme"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "er insensitiv"
|
||||
|
||||
@@ -611,113 +611,169 @@ msgstr ""
|
||||
msgid "custom field instances"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr "API-opplasting"
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr "Epost-henting"
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "ordre"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr "filtrer sti"
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr "Bare last inn dokumenter med en sti som samsvarer med dette hvis angitt. Jokertegn angitt som * er tillatt. Saker er usensitive."
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr "filtrer filnavn"
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "Bare bruke dokumenter som samsvarer med dette filnavnet hvis angitt. Jokertegn som *.pdf eller *faktura* er tillatt. Saksfortegnet."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr "filtrere dokumenter fra denne epostregelen"
|
||||
|
||||
#: documents/models.py:940
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr "tildel tittel"
|
||||
|
||||
#: documents/models.py:945
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr "Tilordne en dokumenttittel, kan inkludere noen plassholdere, se dokumentasjon."
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "tilordne denne taggen"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "tilordne denne dokumenttypen"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "Tildel denne korrespondenten"
|
||||
|
||||
#: documents/models.py:977
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr "tilordne denne lagringsstien"
|
||||
|
||||
#: documents/models.py:986
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr "tilordne denne eieren"
|
||||
|
||||
#: documents/models.py:993
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr "gir lesetilgang til disse brukerne"
|
||||
|
||||
#: documents/models.py:1000
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr "gi lesetilgang til disse brukerne"
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr "gir skrivetilgang til disse brukerne"
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr "gi skrivetilgang til disse gruppene"
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
msgstr "forbruksmal"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
msgstr "forbruksmaler"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "ordre"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "Ugyldig regulært uttrykk: %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "Ugyldig farge."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Filtype %(type)s støttes ikke"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Ugyldig variabel oppdaget."
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr "E-post"
|
||||
msgid "Send me instructions!"
|
||||
msgstr "Send meg instruksjoner!"
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr "Paperless"
|
||||
|
||||
#: paperless/settings.py:586
|
||||
msgid "English (US)"
|
||||
msgstr "Engelsk (US)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
msgid "Arabic"
|
||||
msgstr "Arabisk"
|
||||
|
||||
#: paperless/settings.py:588
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikansk"
|
||||
|
||||
#: paperless/settings.py:589
|
||||
msgid "Belarusian"
|
||||
msgstr "Hviterussisk"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
msgid "Bulgarian"
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:591
|
||||
msgid "Catalan"
|
||||
msgstr "Katalansk"
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:592
|
||||
msgid "Czech"
|
||||
msgstr "Tsjekkisk"
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:593
|
||||
msgid "Danish"
|
||||
msgstr "Dansk"
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:594
|
||||
msgid "German"
|
||||
msgstr "Tysk"
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:595
|
||||
msgid "Greek"
|
||||
msgstr "Gresk"
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:596
|
||||
msgid "English (GB)"
|
||||
msgstr "Engelsk (GB)"
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:597
|
||||
msgid "Spanish"
|
||||
msgstr "Spansk"
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:598
|
||||
msgid "Finnish"
|
||||
msgstr "Finsk"
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:599
|
||||
msgid "French"
|
||||
msgstr "Fransk"
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:600
|
||||
msgid "Hungarian"
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "English (US)"
|
||||
msgstr "Engelsk (US)"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
msgid "Arabic"
|
||||
msgstr "Arabisk"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikansk"
|
||||
|
||||
#: paperless/settings.py:604
|
||||
msgid "Belarusian"
|
||||
msgstr "Hviterussisk"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
msgid "Bulgarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:606
|
||||
msgid "Catalan"
|
||||
msgstr "Katalansk"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
msgid "Czech"
|
||||
msgstr "Tsjekkisk"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
msgid "Danish"
|
||||
msgstr "Dansk"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
msgid "German"
|
||||
msgstr "Tysk"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
msgid "Greek"
|
||||
msgstr "Gresk"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
msgid "English (GB)"
|
||||
msgstr "Engelsk (GB)"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
msgid "Spanish"
|
||||
msgstr "Spansk"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
msgid "Finnish"
|
||||
msgstr "Finsk"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
msgid "French"
|
||||
msgstr "Fransk"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
msgid "Hungarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "Italiensk"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Luxembourgsk"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr "Norsk"
|
||||
|
||||
#: paperless/settings.py:604
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "Nederlandsk"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "Polsk"
|
||||
|
||||
#: paperless/settings.py:606
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Portugisisk (Brasil)"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "Portugisisk"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "Rumensk"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "Russisk"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr "Slovakisk"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "Slovenian"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "Serbisk"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "Svensk"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "Tyrkisk"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr "Ukrainsk"
|
||||
|
||||
#: paperless/settings.py:616
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "Kinesisk forenklet"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Paperless-ngx-administrasjon"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-28 12:09\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Polish\n"
|
||||
"Language: pl_PL\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "Dokumenty"
|
||||
msgid "owner"
|
||||
msgstr "właściciel"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "Brak"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "Dowolne słowo"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "Wszystkie słowa"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "Dokładne dopasowanie"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Wyrażenie regularne"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "Dopasowanie rozmyte"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "Dopasowanie rozmyte"
|
||||
msgid "Automatic"
|
||||
msgstr "Automatyczny"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "nazwa"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "dopasowanie"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "algorytm dopasowania"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "bez rozróżniania wielkości znaków"
|
||||
|
||||
@@ -112,11 +112,11 @@ msgstr "ścieżka"
|
||||
|
||||
#: documents/models.py:129 documents/models.py:156
|
||||
msgid "storage path"
|
||||
msgstr "ścieżka przechowywania"
|
||||
msgstr "ścieżka zapisu"
|
||||
|
||||
#: documents/models.py:130
|
||||
msgid "storage paths"
|
||||
msgstr "ścieżki przechowywania"
|
||||
msgstr "ścieżki zapisu"
|
||||
|
||||
#: documents/models.py:137
|
||||
msgid "Unencrypted"
|
||||
@@ -197,7 +197,7 @@ msgstr "oryginalna nazwa pliku"
|
||||
|
||||
#: documents/models.py:256
|
||||
msgid "The original name of the file when it was uploaded"
|
||||
msgstr "Oryginalna nazwa pliku podczas jego przesyłania"
|
||||
msgstr "Oryginalna nazwa pliku w momencie jego przesyłania"
|
||||
|
||||
#: documents/models.py:263
|
||||
msgid "archive serial number"
|
||||
@@ -253,7 +253,7 @@ msgstr "log"
|
||||
|
||||
#: documents/models.py:390
|
||||
msgid "logs"
|
||||
msgstr "logi"
|
||||
msgstr "dziennik"
|
||||
|
||||
#: documents/models.py:399 documents/models.py:466
|
||||
msgid "saved view"
|
||||
@@ -381,7 +381,7 @@ msgstr "ASN mniejszy niż"
|
||||
|
||||
#: documents/models.py:447
|
||||
msgid "storage path is"
|
||||
msgstr "ścieżką przechowywania jest"
|
||||
msgstr "ścieżką zapisu jest"
|
||||
|
||||
#: documents/models.py:448
|
||||
msgid "has correspondent in"
|
||||
@@ -401,11 +401,11 @@ msgstr "nie ma typu dokumentu w"
|
||||
|
||||
#: documents/models.py:452
|
||||
msgid "has storage path in"
|
||||
msgstr "ma ścieżkę składowania w"
|
||||
msgstr "ma ścieżkę zapisu w"
|
||||
|
||||
#: documents/models.py:453
|
||||
msgid "does not have storage path in"
|
||||
msgstr "nie ma ścieżki składowania w"
|
||||
msgstr "nie ma ścieżki zapisu w"
|
||||
|
||||
#: documents/models.py:454
|
||||
msgid "owner is"
|
||||
@@ -425,7 +425,7 @@ msgstr "nie ma właściciela w"
|
||||
|
||||
#: documents/models.py:458
|
||||
msgid "has custom field value"
|
||||
msgstr "ma wartość pola niestandardowego"
|
||||
msgstr "ma wartość pola dodatkowego"
|
||||
|
||||
#: documents/models.py:459
|
||||
msgid "is shared by me"
|
||||
@@ -597,127 +597,183 @@ msgstr "typ danych"
|
||||
|
||||
#: documents/models.py:781
|
||||
msgid "custom field"
|
||||
msgstr "pole niestandardowe"
|
||||
msgstr "pole dodatkowe"
|
||||
|
||||
#: documents/models.py:782
|
||||
msgid "custom fields"
|
||||
msgstr "pola niestandardowe"
|
||||
msgstr "pola dodatkowe"
|
||||
|
||||
#: documents/models.py:844
|
||||
msgid "custom field instance"
|
||||
msgstr "przykład pola niestandardowego"
|
||||
msgstr "przypisane pole dodatkowe"
|
||||
|
||||
#: documents/models.py:845
|
||||
msgid "custom field instances"
|
||||
msgstr "przykłady pól niestandardowych"
|
||||
msgstr "przypisanych pól dodatkowych"
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr "Rozpoczęto pobieranie"
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr "Dodano dokument"
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr "Dokument zaktualizowano"
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr "Folder pobierania"
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr "Przesyłanie przez API"
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr "Pobieranie E-mail"
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "kolejność"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr "Typ wyzwalacza dla procesu"
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr "filtruj ścieżkę"
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr "Pobiera tylko dokumenty ze ścieżką, która pasuje do wyspecyfikowanej. Symbol * jest dozwolony. Wielkość liter bez znaczenia."
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr "filtruj po nazwie pliku"
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "Przetwarzaj tylko dokumenty, które całkowicie pasują do tej nazwy pliku, jeśli jest podana. Wzorce dopasowania jak *.pdf lub *faktura* są dozwolone. Wielkość liter nie jest rozróżniana."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr "filtruj dokumenty z tej reguły pocztowej"
|
||||
|
||||
#: documents/models.py:940
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr "posiada wskazane tag(i)"
|
||||
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr "posiada wskazany typ dokumentu"
|
||||
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr "posiada wskazanego nadawcę"
|
||||
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr "wyzwalacz procesu"
|
||||
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr "wyzwalacze procesu"
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr "Przypisanie"
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr "Typ akcji w procesie"
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr "przypisz tytuł"
|
||||
|
||||
#: documents/models.py:945
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr "Przypisz tytuł dokumentu, może zawierać zmienne, szczegóły w dokumentacji."
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "przypisz ten tag"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "przypisz ten typ dokumentu"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "przypisz tego korespondenta"
|
||||
|
||||
#: documents/models.py:977
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr "przypisz tą ścieżkę zapisu"
|
||||
|
||||
#: documents/models.py:986
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr "przypisz tego właściciela"
|
||||
|
||||
#: documents/models.py:993
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr "nadaj tym użytkownikom uprawnienia do przeglądania"
|
||||
|
||||
#: documents/models.py:1000
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr "nadaj tym grupom uprawnienia do przeglądania"
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr "nadaj tym użytkownikom uprawnienia do zmiany"
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr "nadaj tym grupom uprawnienia do zmiany"
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr "przypisz te pola niestandardowe"
|
||||
msgstr "przypisz te pola dodatkowe"
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
msgstr "szablon pobierania"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr "akcja procesu"
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
msgstr "szablony pobierania"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr "akcje procesu"
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "kolejność"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr "wyzwalacze"
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr "akcje"
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr "włączony"
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "Nieprawidłowe wyrażenie regularne: %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "Nieprawidłowy kolor."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Typ pliku %(type)s nie jest obsługiwany"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Wykryto nieprawidłową zmienną."
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr "Adres e-mail"
|
||||
msgid "Send me instructions!"
|
||||
msgstr "Wyślij mi instrukcje!"
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr "Nie można przetworzyć URI {value}, błędna struktura"
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr "Nie można przetworzyć URI {value}, błędna lokalizacja sieciowa lub ścieżka"
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr "Nie można przetworzyć URI {value}"
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr "Paperless"
|
||||
|
||||
#: paperless/settings.py:586
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr "pdf"
|
||||
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr "pdfa"
|
||||
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr "pdfa-1"
|
||||
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr "pdfa-2"
|
||||
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr "pdfa-3"
|
||||
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr "skip"
|
||||
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr "redo"
|
||||
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr "force"
|
||||
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr "skip_noarchive"
|
||||
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr "never"
|
||||
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr "with_text"
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr "always"
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr "wyczyść"
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr "clean-final"
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr "brak"
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr "LeaveColorUnchanged"
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr "RGB"
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr "UseDeviceIndependentColor"
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr "Gray"
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr "CMYK"
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr "Określa wyjściowy typ PDF"
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr "Wykonaj OCR od strony 1 do strony wskazanej"
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr "Wykonaj OCR używając wskazanych języków"
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr "Określa tryb OCR"
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr "Zarządza tworzeniem pliku archiwum"
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr "Określa wartość rezerwową dla DPI obrazu"
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr "Zarządza procesem oczyszczania skanów"
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr "Włącza prostowanie"
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr "Włącza obracanie strony"
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr "Określa próg dla obracania strony"
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr "Ustawia maksymalny rozmiar obrazu dla dekompresji"
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr "Określa strategię konwersji kolorów przez Ghostscript"
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr "Dodaje dodatkowe argumenty dla OCRMyPDF"
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr "paperless ustawienia aplikacji"
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "English (US)"
|
||||
msgstr "Angielski (USA)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
#: paperless/settings.py:602
|
||||
msgid "Arabic"
|
||||
msgstr "arabski"
|
||||
|
||||
#: paperless/settings.py:588
|
||||
#: paperless/settings.py:603
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrykanerski"
|
||||
|
||||
#: paperless/settings.py:589
|
||||
#: paperless/settings.py:604
|
||||
msgid "Belarusian"
|
||||
msgstr "Białoruski"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
#: paperless/settings.py:605
|
||||
msgid "Bulgarian"
|
||||
msgstr "Bułgarski"
|
||||
|
||||
#: paperless/settings.py:591
|
||||
#: paperless/settings.py:606
|
||||
msgid "Catalan"
|
||||
msgstr "Kataloński"
|
||||
|
||||
#: paperless/settings.py:592
|
||||
#: paperless/settings.py:607
|
||||
msgid "Czech"
|
||||
msgstr "Czeski"
|
||||
|
||||
#: paperless/settings.py:593
|
||||
#: paperless/settings.py:608
|
||||
msgid "Danish"
|
||||
msgstr "Duński"
|
||||
|
||||
#: paperless/settings.py:594
|
||||
#: paperless/settings.py:609
|
||||
msgid "German"
|
||||
msgstr "Niemiecki"
|
||||
|
||||
#: paperless/settings.py:595
|
||||
#: paperless/settings.py:610
|
||||
msgid "Greek"
|
||||
msgstr "Grecki"
|
||||
|
||||
#: paperless/settings.py:596
|
||||
#: paperless/settings.py:611
|
||||
msgid "English (GB)"
|
||||
msgstr "Angielski (Wielka Brytania)"
|
||||
|
||||
#: paperless/settings.py:597
|
||||
#: paperless/settings.py:612
|
||||
msgid "Spanish"
|
||||
msgstr "Hiszpański"
|
||||
|
||||
#: paperless/settings.py:598
|
||||
#: paperless/settings.py:613
|
||||
msgid "Finnish"
|
||||
msgstr "Fiński"
|
||||
|
||||
#: paperless/settings.py:599
|
||||
#: paperless/settings.py:614
|
||||
msgid "French"
|
||||
msgstr "Francuski"
|
||||
|
||||
#: paperless/settings.py:600
|
||||
#: paperless/settings.py:615
|
||||
msgid "Hungarian"
|
||||
msgstr "Węgierski"
|
||||
|
||||
#: paperless/settings.py:601
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "Włoski"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Luksemburski"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr "Norweski"
|
||||
|
||||
#: paperless/settings.py:604
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "Holenderski"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "Polski"
|
||||
|
||||
#: paperless/settings.py:606
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Portugalski (Brazylia)"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "Portugalski"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "Rumuński"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "Rosyjski"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr "Słowacki"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "Słoweński"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "Serbski"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "Szwedzki"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "Turecki"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr "Ukraiński"
|
||||
|
||||
#: paperless/settings.py:616
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "Chiński uproszczony"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Administracja Paperless-ngx"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-19 20:45\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Portuguese, Brazilian\n"
|
||||
"Language: pt_BR\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "Documentos"
|
||||
msgid "owner"
|
||||
msgstr "proprietário"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "Nenhum"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "Qualquer palavra"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "Todas as palavras"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "Correspondência exata"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Expressão regular"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "Palavra difusa (fuzzy)"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "Palavra difusa (fuzzy)"
|
||||
msgid "Automatic"
|
||||
msgstr "Automático"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "nome"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "correspondência"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "algoritmo de correspondência"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "diferencia maiúsculas de minúsculas"
|
||||
|
||||
@@ -611,114 +611,170 @@ msgstr "instância de campo personalizado"
|
||||
msgid "custom field instances"
|
||||
msgstr "instâncias de campo personalizadas"
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr "Pasta de Consumo"
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr "Envio por API"
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr "Busca em e-mail"
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "ordem"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr "filtro de caminho"
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "Consumir somente documentos que correspondem a este nome de arquivo se especificado.\n"
|
||||
"Curingas como *.pdf ou *invoice* são permitidos. Sem diferenciação de maiúsculas e minúsculas."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:940
|
||||
msgid "assign title"
|
||||
msgstr "atribuir título"
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:945
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr "Atribuir um título de documento, pode incluir alguns espaços reservados, consulta a documentação."
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "atribuir esta etiqueta"
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "atribuir este tipo de documento"
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "atribuir este correspondente"
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:977
|
||||
msgid "assign this storage path"
|
||||
msgstr "atribuir este caminho de armazenamento"
|
||||
|
||||
#: documents/models.py:986
|
||||
msgid "assign this owner"
|
||||
msgstr "atribuir este proprietário"
|
||||
|
||||
#: documents/models.py:993
|
||||
msgid "grant view permissions to these users"
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr "atribuir título"
|
||||
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr "Atribuir um título de documento, pode incluir alguns espaços reservados, consulta a documentação."
|
||||
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "atribuir esta etiqueta"
|
||||
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "atribuir este tipo de documento"
|
||||
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "atribuir este correspondente"
|
||||
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr "atribuir este caminho de armazenamento"
|
||||
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr "atribuir este proprietário"
|
||||
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr "atribuir estes campos personalizados"
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
msgstr "modelo de consumo"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
msgstr "modelos de consumo"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "ordem"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "Expressão regular inválida: %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "Cor inválida."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Tipo de arquivo %(type)s não suportado"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Variável inválida detectada."
|
||||
|
||||
@@ -855,135 +911,286 @@ msgstr "E-mail"
|
||||
msgid "Send me instructions!"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr "Paperless"
|
||||
|
||||
#: paperless/settings.py:586
|
||||
msgid "English (US)"
|
||||
msgstr "Inglês (EUA)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
msgid "Arabic"
|
||||
msgstr "Árabe"
|
||||
|
||||
#: paperless/settings.py:588
|
||||
msgid "Afrikaans"
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:589
|
||||
msgid "Belarusian"
|
||||
msgstr "Bielorrusso"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
msgid "Bulgarian"
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:591
|
||||
msgid "Catalan"
|
||||
msgstr "Catalão"
|
||||
|
||||
#: paperless/settings.py:592
|
||||
msgid "Czech"
|
||||
msgstr "Tcheco"
|
||||
|
||||
#: paperless/settings.py:593
|
||||
msgid "Danish"
|
||||
msgstr "Dinamarquês"
|
||||
|
||||
#: paperless/settings.py:594
|
||||
msgid "German"
|
||||
msgstr "Alemão"
|
||||
|
||||
#: paperless/settings.py:595
|
||||
msgid "Greek"
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:596
|
||||
msgid "English (GB)"
|
||||
msgstr "Inglês (GB)"
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:597
|
||||
msgid "Spanish"
|
||||
msgstr "Espanhol"
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:598
|
||||
msgid "Finnish"
|
||||
msgstr "Finlandês"
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:599
|
||||
msgid "French"
|
||||
msgstr "Francês"
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:600
|
||||
msgid "Hungarian"
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "Italian"
|
||||
msgstr "Italiano"
|
||||
msgid "English (US)"
|
||||
msgstr "Inglês (EUA)"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Luxemburguês"
|
||||
msgid "Arabic"
|
||||
msgstr "Árabe"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
msgid "Norwegian"
|
||||
msgid "Afrikaans"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:604
|
||||
msgid "Dutch"
|
||||
msgstr "Holandês"
|
||||
msgid "Belarusian"
|
||||
msgstr "Bielorrusso"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
msgid "Polish"
|
||||
msgstr "Polonês"
|
||||
msgid "Bulgarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:606
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Português (Brasil)"
|
||||
msgid "Catalan"
|
||||
msgstr "Catalão"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
msgid "Portuguese"
|
||||
msgstr "Português"
|
||||
msgid "Czech"
|
||||
msgstr "Tcheco"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
msgid "Romanian"
|
||||
msgstr "Romeno"
|
||||
msgid "Danish"
|
||||
msgstr "Dinamarquês"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
msgid "Russian"
|
||||
msgstr "Russo"
|
||||
msgid "German"
|
||||
msgstr "Alemão"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
msgid "Slovak"
|
||||
msgstr "Eslovaco"
|
||||
msgid "Greek"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:611
|
||||
msgid "Slovenian"
|
||||
msgstr "Esloveno"
|
||||
msgid "English (GB)"
|
||||
msgstr "Inglês (GB)"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
msgid "Serbian"
|
||||
msgstr "Sérvio"
|
||||
msgid "Spanish"
|
||||
msgstr "Espanhol"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
msgid "Swedish"
|
||||
msgstr "Sueco"
|
||||
msgid "Finnish"
|
||||
msgstr "Finlandês"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
msgid "Turkish"
|
||||
msgstr "Turco"
|
||||
msgid "French"
|
||||
msgstr "Francês"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
msgid "Ukrainian"
|
||||
msgid "Hungarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "Italiano"
|
||||
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Luxemburguês"
|
||||
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "Holandês"
|
||||
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "Polonês"
|
||||
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Português (Brasil)"
|
||||
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "Português"
|
||||
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "Romeno"
|
||||
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "Russo"
|
||||
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr "Eslovaco"
|
||||
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "Esloveno"
|
||||
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "Sérvio"
|
||||
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "Sueco"
|
||||
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "Turco"
|
||||
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "Chinês Simplificado"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Administração do Paperless-ngx"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-19 20:45\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Portuguese\n"
|
||||
"Language: pt_PT\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "Documentos"
|
||||
msgid "owner"
|
||||
msgstr "dono"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "Nenhum"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "Qualquer palavra"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "Todas as palavras"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "Detecção exata"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Expressão regular"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "Palavra difusa (fuzzy)"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "Palavra difusa (fuzzy)"
|
||||
msgid "Automatic"
|
||||
msgstr "Automático"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "nome"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "correspondência"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "algoritmo correspondente"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "é insensível"
|
||||
|
||||
@@ -611,113 +611,169 @@ msgstr ""
|
||||
msgid "custom field instances"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "ordem"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "Consumir apenas documentos que correspondam inteiramente ao nome de arquivo se especificado. Genéricos como *.pdf ou *fatura* são permitidos. Não é sensível a letras maiúsculas/minúsculas."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:940
|
||||
msgid "assign title"
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:945
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "atribuir esta etiqueta"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "atribuir este tipo de documento"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "atribuir este correspondente"
|
||||
|
||||
#: documents/models.py:977
|
||||
msgid "assign this storage path"
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:986
|
||||
msgid "assign this owner"
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:993
|
||||
msgid "grant view permissions to these users"
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "atribuir esta etiqueta"
|
||||
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "atribuir este tipo de documento"
|
||||
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "atribuir este correspondente"
|
||||
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "ordem"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "Expressão regular inválida: %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "Cor invalida."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Tipo de arquivo %(type)s não suportado"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Variável inválida detetada."
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr "Email"
|
||||
msgid "Send me instructions!"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr "Paperless"
|
||||
|
||||
#: paperless/settings.py:586
|
||||
msgid "English (US)"
|
||||
msgstr "Inglês (EUA)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
msgid "Arabic"
|
||||
msgstr "Árabe"
|
||||
|
||||
#: paperless/settings.py:588
|
||||
msgid "Afrikaans"
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:589
|
||||
msgid "Belarusian"
|
||||
msgstr "Bielorrusso"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
msgid "Bulgarian"
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:591
|
||||
msgid "Catalan"
|
||||
msgstr "Catalão"
|
||||
|
||||
#: paperless/settings.py:592
|
||||
msgid "Czech"
|
||||
msgstr "Checo"
|
||||
|
||||
#: paperless/settings.py:593
|
||||
msgid "Danish"
|
||||
msgstr "Dinamarquês"
|
||||
|
||||
#: paperless/settings.py:594
|
||||
msgid "German"
|
||||
msgstr "Deutsch"
|
||||
|
||||
#: paperless/settings.py:595
|
||||
msgid "Greek"
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:596
|
||||
msgid "English (GB)"
|
||||
msgstr "Inglês (GB)"
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:597
|
||||
msgid "Spanish"
|
||||
msgstr "Espanhol"
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:598
|
||||
msgid "Finnish"
|
||||
msgstr "Finlandês"
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:599
|
||||
msgid "French"
|
||||
msgstr "Français"
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:600
|
||||
msgid "Hungarian"
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "Italian"
|
||||
msgstr "Italiano"
|
||||
msgid "English (US)"
|
||||
msgstr "Inglês (EUA)"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Luxemburguês"
|
||||
msgid "Arabic"
|
||||
msgstr "Árabe"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
msgid "Norwegian"
|
||||
msgid "Afrikaans"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:604
|
||||
msgid "Dutch"
|
||||
msgstr "Nederlandse"
|
||||
msgid "Belarusian"
|
||||
msgstr "Bielorrusso"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
msgid "Polish"
|
||||
msgstr "Polaco"
|
||||
msgid "Bulgarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:606
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Português (Brasil)"
|
||||
msgid "Catalan"
|
||||
msgstr "Catalão"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
msgid "Portuguese"
|
||||
msgstr "Português"
|
||||
msgid "Czech"
|
||||
msgstr "Checo"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
msgid "Romanian"
|
||||
msgstr "Romeno"
|
||||
msgid "Danish"
|
||||
msgstr "Dinamarquês"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
msgid "Russian"
|
||||
msgstr "Russo"
|
||||
msgid "German"
|
||||
msgstr "Deutsch"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
msgid "Slovak"
|
||||
msgstr "Eslovaco"
|
||||
msgid "Greek"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:611
|
||||
msgid "Slovenian"
|
||||
msgstr "Esloveno"
|
||||
msgid "English (GB)"
|
||||
msgstr "Inglês (GB)"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
msgid "Serbian"
|
||||
msgstr "Sérvio"
|
||||
msgid "Spanish"
|
||||
msgstr "Espanhol"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
msgid "Swedish"
|
||||
msgstr "Sueco"
|
||||
msgid "Finnish"
|
||||
msgstr "Finlandês"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
msgid "Turkish"
|
||||
msgstr "Turco"
|
||||
msgid "French"
|
||||
msgstr "Français"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
msgid "Ukrainian"
|
||||
msgid "Hungarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "Italiano"
|
||||
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Luxemburguês"
|
||||
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "Nederlandse"
|
||||
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "Polaco"
|
||||
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Português (Brasil)"
|
||||
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "Português"
|
||||
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "Romeno"
|
||||
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "Russo"
|
||||
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr "Eslovaco"
|
||||
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "Esloveno"
|
||||
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "Sérvio"
|
||||
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "Sueco"
|
||||
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "Turco"
|
||||
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "Chinês Simplificado"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Administração do Paperless-ngx"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-19 20:45\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Romanian\n"
|
||||
"Language: ro_RO\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "Documente"
|
||||
msgid "owner"
|
||||
msgstr "proprietar"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "Nimic"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "Orice cuvânt"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "Toate cuvintele"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "Potrivire exactă"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Expresie regulată"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "Mod neatent"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "Mod neatent"
|
||||
msgid "Automatic"
|
||||
msgstr "Automat"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "nume"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "potrivire"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "algoritm de potrivire"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "nu ține cont de majuscule"
|
||||
|
||||
@@ -611,113 +611,169 @@ msgstr ""
|
||||
msgid "custom field instances"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "ordonează"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "Consumă doar documentele care se potrivesc în întregime cu acest nume de fișier, dacă este specificat. Simbolul * ține locul oricărui șir de caractere. Majusculele nu contează."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:940
|
||||
msgid "assign title"
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:945
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "atribuie această etichetă"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "atribuie acest tip"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "atribuie acest corespondent"
|
||||
|
||||
#: documents/models.py:977
|
||||
msgid "assign this storage path"
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:986
|
||||
msgid "assign this owner"
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:993
|
||||
msgid "grant view permissions to these users"
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "atribuie această etichetă"
|
||||
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "atribuie acest tip"
|
||||
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "atribuie acest corespondent"
|
||||
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "ordonează"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "Expresie regulată invalida: %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "Culoare invalidă."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Tip de fișier %(type)s nesuportat"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr ""
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr ""
|
||||
msgid "Send me instructions!"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:586
|
||||
msgid "English (US)"
|
||||
msgstr "Engleză (Americană)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
msgid "Arabic"
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:588
|
||||
msgid "Afrikaans"
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:589
|
||||
msgid "Belarusian"
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:590
|
||||
msgid "Bulgarian"
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:591
|
||||
msgid "Catalan"
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:592
|
||||
msgid "Czech"
|
||||
msgstr "Cehă"
|
||||
|
||||
#: paperless/settings.py:593
|
||||
msgid "Danish"
|
||||
msgstr "Daneză"
|
||||
|
||||
#: paperless/settings.py:594
|
||||
msgid "German"
|
||||
msgstr "Germană"
|
||||
|
||||
#: paperless/settings.py:595
|
||||
msgid "Greek"
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:596
|
||||
msgid "English (GB)"
|
||||
msgstr "Engleză (Britanică)"
|
||||
|
||||
#: paperless/settings.py:597
|
||||
msgid "Spanish"
|
||||
msgstr "Spaniolă"
|
||||
|
||||
#: paperless/settings.py:598
|
||||
msgid "Finnish"
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:599
|
||||
msgid "French"
|
||||
msgstr "Franceză"
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:600
|
||||
msgid "Hungarian"
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "Italian"
|
||||
msgstr "Italiană"
|
||||
msgid "English (US)"
|
||||
msgstr "Engleză (Americană)"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Luxemburgheză"
|
||||
msgid "Arabic"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:603
|
||||
msgid "Norwegian"
|
||||
msgid "Afrikaans"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:604
|
||||
msgid "Dutch"
|
||||
msgstr "Olandeză"
|
||||
msgid "Belarusian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:605
|
||||
msgid "Polish"
|
||||
msgstr "Poloneză"
|
||||
msgid "Bulgarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:606
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Portugheză (Brazilia)"
|
||||
msgid "Catalan"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:607
|
||||
msgid "Portuguese"
|
||||
msgstr "Portugheză"
|
||||
msgid "Czech"
|
||||
msgstr "Cehă"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
msgid "Romanian"
|
||||
msgstr "Română"
|
||||
msgid "Danish"
|
||||
msgstr "Daneză"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
msgid "Russian"
|
||||
msgstr "Rusă"
|
||||
msgid "German"
|
||||
msgstr "Germană"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
msgid "Slovak"
|
||||
msgid "Greek"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:611
|
||||
msgid "Slovenian"
|
||||
msgstr ""
|
||||
msgid "English (GB)"
|
||||
msgstr "Engleză (Britanică)"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
msgid "Serbian"
|
||||
msgstr ""
|
||||
msgid "Spanish"
|
||||
msgstr "Spaniolă"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
msgid "Swedish"
|
||||
msgstr "Suedeză"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
msgid "Turkish"
|
||||
msgid "Finnish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:614
|
||||
msgid "French"
|
||||
msgstr "Franceză"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
msgid "Ukrainian"
|
||||
msgid "Hungarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "Italiană"
|
||||
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Luxemburgheză"
|
||||
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "Olandeză"
|
||||
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "Poloneză"
|
||||
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Portugheză (Brazilia)"
|
||||
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "Portugheză"
|
||||
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "Română"
|
||||
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "Rusă"
|
||||
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "Suedeză"
|
||||
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Administrare Paperless-ngx"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-19 20:45\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Russian\n"
|
||||
"Language: ru_RU\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "Документы"
|
||||
msgid "owner"
|
||||
msgstr "владелец"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "Ничего"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "Любые слова"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "Все слова"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "Точное соответствие"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Регулярное выражение"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "\"Нечёткий\" режим"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "\"Нечёткий\" режим"
|
||||
msgid "Automatic"
|
||||
msgstr "Автоматически"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "имя"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "соответствие"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "алгоритм сопоставления"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "без учёта регистра"
|
||||
|
||||
@@ -611,113 +611,169 @@ msgstr ""
|
||||
msgid "custom field instances"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr "Загрузка API"
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr "Получить почту"
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "порядок"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "Обрабатывать только документы, которые полностью совпадают с именем файла (если оно указано). Маски, например *.pdf или *счет*, разрешены. Без учёта регистра."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:940
|
||||
msgid "assign title"
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:945
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "назначить этот тег"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "назначить этот тип документа"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "назначить этого корреспондента"
|
||||
|
||||
#: documents/models.py:977
|
||||
msgid "assign this storage path"
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:986
|
||||
msgid "assign this owner"
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:993
|
||||
msgid "grant view permissions to these users"
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "назначить этот тег"
|
||||
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "назначить этот тип документа"
|
||||
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "назначить этого корреспондента"
|
||||
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "порядок"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "неверное регулярное выражение: %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "Неверный цвет."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Тип файла %(type)s не поддерживается"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Обнаружена неверная переменная."
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr "Электронная почта"
|
||||
msgid "Send me instructions!"
|
||||
msgstr "Отправить мне инструкции!"
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr "Paperless"
|
||||
|
||||
#: paperless/settings.py:586
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "English (US)"
|
||||
msgstr "Английский (США)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
#: paperless/settings.py:602
|
||||
msgid "Arabic"
|
||||
msgstr "Арабский"
|
||||
|
||||
#: paperless/settings.py:588
|
||||
#: paperless/settings.py:603
|
||||
msgid "Afrikaans"
|
||||
msgstr "Африкаанс"
|
||||
|
||||
#: paperless/settings.py:589
|
||||
#: paperless/settings.py:604
|
||||
msgid "Belarusian"
|
||||
msgstr "Белорусский"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
#: paperless/settings.py:605
|
||||
msgid "Bulgarian"
|
||||
msgstr "Болгарский"
|
||||
|
||||
#: paperless/settings.py:591
|
||||
#: paperless/settings.py:606
|
||||
msgid "Catalan"
|
||||
msgstr "Каталонский"
|
||||
|
||||
#: paperless/settings.py:592
|
||||
#: paperless/settings.py:607
|
||||
msgid "Czech"
|
||||
msgstr "Чешский"
|
||||
|
||||
#: paperless/settings.py:593
|
||||
#: paperless/settings.py:608
|
||||
msgid "Danish"
|
||||
msgstr "Датский"
|
||||
|
||||
#: paperless/settings.py:594
|
||||
#: paperless/settings.py:609
|
||||
msgid "German"
|
||||
msgstr "Немецкий"
|
||||
|
||||
#: paperless/settings.py:595
|
||||
#: paperless/settings.py:610
|
||||
msgid "Greek"
|
||||
msgstr "Греческий"
|
||||
|
||||
#: paperless/settings.py:596
|
||||
#: paperless/settings.py:611
|
||||
msgid "English (GB)"
|
||||
msgstr "Английский (Великобритании)"
|
||||
|
||||
#: paperless/settings.py:597
|
||||
#: paperless/settings.py:612
|
||||
msgid "Spanish"
|
||||
msgstr "Испанский"
|
||||
|
||||
#: paperless/settings.py:598
|
||||
#: paperless/settings.py:613
|
||||
msgid "Finnish"
|
||||
msgstr "Финский"
|
||||
|
||||
#: paperless/settings.py:599
|
||||
#: paperless/settings.py:614
|
||||
msgid "French"
|
||||
msgstr "Французский"
|
||||
|
||||
#: paperless/settings.py:600
|
||||
#: paperless/settings.py:615
|
||||
msgid "Hungarian"
|
||||
msgstr "Венгерский"
|
||||
|
||||
#: paperless/settings.py:601
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "Итальянский"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Люксембургский"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr "Норвежский"
|
||||
|
||||
#: paperless/settings.py:604
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "Датский"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "Польский"
|
||||
|
||||
#: paperless/settings.py:606
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Португальский (Бразилия)"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "Португальский"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "Румынский"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "Русский"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr "Словацкий"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "Словенский"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "Сербский"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "Шведский"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "Турецкий"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr "Украинский"
|
||||
|
||||
#: paperless/settings.py:616
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "Китайский упрощенный"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Администрирование Paperless-ngx"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-19 20:45\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Slovak\n"
|
||||
"Language: sk_SK\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "Dokumenty"
|
||||
msgid "owner"
|
||||
msgstr "vlastník"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "Žiadny"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "Akékoľvek slovo"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "Všetky slová"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "Presná zhoda"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Regulárny výraz"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "Nejednoznačné slovo"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "Nejednoznačné slovo"
|
||||
msgid "Automatic"
|
||||
msgstr "Automatické"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "meno"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "zhoda"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "algoritmus zhody"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "nerozlišuje veľké a malé písmená"
|
||||
|
||||
@@ -611,113 +611,169 @@ msgstr ""
|
||||
msgid "custom field instances"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "poradie"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "Spracuje iba dokumenty so zhodným názvom, ak je vyplnený. Použitie zástupných znakov ako *.pdf alebo *invoice* je povolené. Rozoznáva malé a veľké písmená."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:940
|
||||
msgid "assign title"
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:945
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "priradiť tento štítok"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "priradiť tento typ dokumentu"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "priradiť tohto odosielateľa"
|
||||
|
||||
#: documents/models.py:977
|
||||
msgid "assign this storage path"
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:986
|
||||
msgid "assign this owner"
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:993
|
||||
msgid "grant view permissions to these users"
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "priradiť tento štítok"
|
||||
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "priradiť tento typ dokumentu"
|
||||
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "priradiť tohto odosielateľa"
|
||||
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "poradie"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "Neplatný regulárny výraz: %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "Neplatná farba."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Typ súboru %(type)s nie je podporovaný"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Zistená neplatná premenná."
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr "E-mail"
|
||||
msgid "Send me instructions!"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr "Paperless"
|
||||
|
||||
#: paperless/settings.py:586
|
||||
msgid "English (US)"
|
||||
msgstr "Angličtina (US)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
msgid "Arabic"
|
||||
msgstr "Arabčina"
|
||||
|
||||
#: paperless/settings.py:588
|
||||
msgid "Afrikaans"
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:589
|
||||
msgid "Belarusian"
|
||||
msgstr "Bieloruština"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
msgid "Bulgarian"
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:591
|
||||
msgid "Catalan"
|
||||
msgstr "Catalan"
|
||||
|
||||
#: paperless/settings.py:592
|
||||
msgid "Czech"
|
||||
msgstr "Čeština"
|
||||
|
||||
#: paperless/settings.py:593
|
||||
msgid "Danish"
|
||||
msgstr "Dánčina"
|
||||
|
||||
#: paperless/settings.py:594
|
||||
msgid "German"
|
||||
msgstr "Nemčina"
|
||||
|
||||
#: paperless/settings.py:595
|
||||
msgid "Greek"
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:596
|
||||
msgid "English (GB)"
|
||||
msgstr "Angličtina (GB)"
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:597
|
||||
msgid "Spanish"
|
||||
msgstr "Španielčina"
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:598
|
||||
msgid "Finnish"
|
||||
msgstr "Finnish"
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:599
|
||||
msgid "French"
|
||||
msgstr "Francúzština"
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:600
|
||||
msgid "Hungarian"
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "Italian"
|
||||
msgstr "Taliančina"
|
||||
msgid "English (US)"
|
||||
msgstr "Angličtina (US)"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Luxemburčina"
|
||||
msgid "Arabic"
|
||||
msgstr "Arabčina"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
msgid "Norwegian"
|
||||
msgid "Afrikaans"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:604
|
||||
msgid "Dutch"
|
||||
msgstr "Holandčina"
|
||||
msgid "Belarusian"
|
||||
msgstr "Bieloruština"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
msgid "Polish"
|
||||
msgstr "Polština"
|
||||
msgid "Bulgarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:606
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Portugalčina (Brazília)"
|
||||
msgid "Catalan"
|
||||
msgstr "Catalan"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
msgid "Portuguese"
|
||||
msgstr "Portugalčina"
|
||||
msgid "Czech"
|
||||
msgstr "Čeština"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
msgid "Romanian"
|
||||
msgstr "Rumunčina"
|
||||
msgid "Danish"
|
||||
msgstr "Dánčina"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
msgid "Russian"
|
||||
msgstr "Ruština"
|
||||
msgid "German"
|
||||
msgstr "Nemčina"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
msgid "Slovak"
|
||||
msgstr "Slovenčina"
|
||||
msgid "Greek"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:611
|
||||
msgid "Slovenian"
|
||||
msgstr "Slovinčina"
|
||||
msgid "English (GB)"
|
||||
msgstr "Angličtina (GB)"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
msgid "Serbian"
|
||||
msgstr "Srbčina"
|
||||
msgid "Spanish"
|
||||
msgstr "Španielčina"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
msgid "Swedish"
|
||||
msgstr "Švédčina"
|
||||
msgid "Finnish"
|
||||
msgstr "Finnish"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
msgid "Turkish"
|
||||
msgstr "Turečtina"
|
||||
msgid "French"
|
||||
msgstr "Francúzština"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
msgid "Ukrainian"
|
||||
msgid "Hungarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "Taliančina"
|
||||
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Luxemburčina"
|
||||
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "Holandčina"
|
||||
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "Polština"
|
||||
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Portugalčina (Brazília)"
|
||||
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "Portugalčina"
|
||||
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "Rumunčina"
|
||||
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "Ruština"
|
||||
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr "Slovenčina"
|
||||
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "Slovinčina"
|
||||
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "Srbčina"
|
||||
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "Švédčina"
|
||||
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "Turečtina"
|
||||
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "Čínština (zjednodušená)"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Správa Paperless-ngx"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-19 20:45\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Slovenian\n"
|
||||
"Language: sl_SI\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "Dokumenti"
|
||||
msgid "owner"
|
||||
msgstr "lastnik"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "Brez"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "Katerakoli beseda"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "Vse besede"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "Točno ujemanje"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Regularni izraz"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "Fuzzy beseda"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "Fuzzy beseda"
|
||||
msgid "Automatic"
|
||||
msgstr "Samodejno"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "ime"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "ujemanje"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "algoritem ujemanja"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "brez razlikovanje velikosti črk"
|
||||
|
||||
@@ -611,113 +611,169 @@ msgstr "primer polja po meri"
|
||||
msgid "custom field instances"
|
||||
msgstr "primeri polja po meri"
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr "Zajemalna mapa"
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr "Api prenos"
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr "Pridobi e-pošto"
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "vrstni red"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr "filtriraj pot"
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr "Če je določena, zajemi samo dokumente s potjo, ki se ujema s to. Dovoljeni so nadomestni znaki, določeni kot *. Ni občutljivo na velikost črk."
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr "filtriraj imena datotek"
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "Uporabljajte samo dokumente, ki se v celoti ujemajo s tem imenom datoteke, če je navedeno. Dovoljeni so nadomestni znaki, kot sta *.pdf ali *račun*. Neobčutljiva na velike in male črke."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr "filtriraj dokumente iz tega e-poštnega pravila"
|
||||
|
||||
#: documents/models.py:940
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr "dodeli naslov"
|
||||
|
||||
#: documents/models.py:945
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr "Dodelite naslov dokumenta, lahko vključuje nekatere nadomestne znake, glejte dokumentacijo."
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "dodeli to oznako"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "dodeli to vrsto dokumenta"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "dodeli tega dopisnika"
|
||||
|
||||
#: documents/models.py:977
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr "dodeli to pot shranjevanja"
|
||||
|
||||
#: documents/models.py:986
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr "določi tega lastnika"
|
||||
|
||||
#: documents/models.py:993
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr "tem uporabnikom podeli dovoljenje za ogled"
|
||||
|
||||
#: documents/models.py:1000
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr "tem skupinam podeli dovoljenje za ogled"
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr "tem uporabnikom podeli dovoljenje za spreminjanje"
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr "tem skupinam podeli dovoljenje za spreminjanje"
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
msgstr "zajemalna predloga"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
msgstr "zajemalne predloge"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "vrstni red"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "Neveljaven splošen izraz: %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "Napačna barva."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Vrsta datoteke %(type)s ni podprta"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Zaznani neveljavni znaki."
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr "E-pošta"
|
||||
msgid "Send me instructions!"
|
||||
msgstr "Pošljite mi navodila!"
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr "Paperless"
|
||||
|
||||
#: paperless/settings.py:586
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "English (US)"
|
||||
msgstr "Angleščina (ZDA)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
#: paperless/settings.py:602
|
||||
msgid "Arabic"
|
||||
msgstr "Arabščina"
|
||||
|
||||
#: paperless/settings.py:588
|
||||
#: paperless/settings.py:603
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikanščina"
|
||||
|
||||
#: paperless/settings.py:589
|
||||
#: paperless/settings.py:604
|
||||
msgid "Belarusian"
|
||||
msgstr "Beloruščina"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
#: paperless/settings.py:605
|
||||
msgid "Bulgarian"
|
||||
msgstr "Bolgarščina"
|
||||
|
||||
#: paperless/settings.py:591
|
||||
#: paperless/settings.py:606
|
||||
msgid "Catalan"
|
||||
msgstr "Katalonščina"
|
||||
|
||||
#: paperless/settings.py:592
|
||||
#: paperless/settings.py:607
|
||||
msgid "Czech"
|
||||
msgstr "Češčina"
|
||||
|
||||
#: paperless/settings.py:593
|
||||
#: paperless/settings.py:608
|
||||
msgid "Danish"
|
||||
msgstr "Danščina"
|
||||
|
||||
#: paperless/settings.py:594
|
||||
#: paperless/settings.py:609
|
||||
msgid "German"
|
||||
msgstr "Nemščina"
|
||||
|
||||
#: paperless/settings.py:595
|
||||
#: paperless/settings.py:610
|
||||
msgid "Greek"
|
||||
msgstr "Grščina"
|
||||
|
||||
#: paperless/settings.py:596
|
||||
#: paperless/settings.py:611
|
||||
msgid "English (GB)"
|
||||
msgstr "Angleščina (GB)"
|
||||
|
||||
#: paperless/settings.py:597
|
||||
#: paperless/settings.py:612
|
||||
msgid "Spanish"
|
||||
msgstr "Španščina"
|
||||
|
||||
#: paperless/settings.py:598
|
||||
#: paperless/settings.py:613
|
||||
msgid "Finnish"
|
||||
msgstr "Finščina"
|
||||
|
||||
#: paperless/settings.py:599
|
||||
#: paperless/settings.py:614
|
||||
msgid "French"
|
||||
msgstr "Francoščina"
|
||||
|
||||
#: paperless/settings.py:600
|
||||
#: paperless/settings.py:615
|
||||
msgid "Hungarian"
|
||||
msgstr "Madžarščina"
|
||||
|
||||
#: paperless/settings.py:601
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "Italijanščina"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Luksemburški"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr "Norveščina"
|
||||
|
||||
#: paperless/settings.py:604
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "Nizozemščina"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "Poljščina"
|
||||
|
||||
#: paperless/settings.py:606
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Portugalščina (Brazilija)"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "Portugalščina"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "Romunščina"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "Ruščina"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr "Slovaščina"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "Slovenščina"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "Srbščina"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "Švedščina"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "Turščina"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr "Ukrajinščina"
|
||||
|
||||
#: paperless/settings.py:616
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "Poenostavljena kitajščina"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Paperless-ngx administracija"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-19 20:45\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Serbian (Latin)\n"
|
||||
"Language: sr_CS\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "Dokumenta"
|
||||
msgid "owner"
|
||||
msgstr "vlasnik"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "Nijedan"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "Bilo koja reč"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "Sve reči"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "Tačno podudaranje"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Regularni izraz"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "Fuzzy reč"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "Fuzzy reč"
|
||||
msgid "Automatic"
|
||||
msgstr "Automatski"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "naziv"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "poklapanje"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "algoritam podudaranja"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "bez razlike veliko/malo slovo"
|
||||
|
||||
@@ -611,113 +611,169 @@ msgstr ""
|
||||
msgid "custom field instances"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr "Folder za obradu"
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr "Preuzimanje e-pošte"
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "raspored"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr "filtriraj putanju"
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr "filtriraj ime fajla"
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "Konzumirajte samo dokumente koji u potpunosti odgovaraju ovom nazivu datoteke ako je navedeno. Dopušteni su zamenski znakovi kao što su *.pdf ili *faktura*. Neosetljivo je na mala i mala slova."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:940
|
||||
msgid "assign title"
|
||||
msgstr "dodeli naslov"
|
||||
|
||||
#: documents/models.py:945
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "dodeli ovu oznaku"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "dodeli ovaj tip dokumenta"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "dodeli ovog korspodenta"
|
||||
|
||||
#: documents/models.py:977
|
||||
msgid "assign this storage path"
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:986
|
||||
msgid "assign this owner"
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:993
|
||||
msgid "grant view permissions to these users"
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr "dodeli naslov"
|
||||
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "dodeli ovu oznaku"
|
||||
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "dodeli ovaj tip dokumenta"
|
||||
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "dodeli ovog korspodenta"
|
||||
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
msgstr "šabloni za obradu"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "raspored"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "Nevažeći regularni izraz: %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "Nevažeća boja."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Vrsta datoteke %(type)s nije podržana"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Otkrivena je nevažeća promenljiva."
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr "Email"
|
||||
msgid "Send me instructions!"
|
||||
msgstr "Pošalji mi uputstva!"
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:586
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "English (US)"
|
||||
msgstr "Engleski (US)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
#: paperless/settings.py:602
|
||||
msgid "Arabic"
|
||||
msgstr "Arapski"
|
||||
|
||||
#: paperless/settings.py:588
|
||||
#: paperless/settings.py:603
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrički"
|
||||
|
||||
#: paperless/settings.py:589
|
||||
#: paperless/settings.py:604
|
||||
msgid "Belarusian"
|
||||
msgstr "Beloruski"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
#: paperless/settings.py:605
|
||||
msgid "Bulgarian"
|
||||
msgstr "Bugarski"
|
||||
|
||||
#: paperless/settings.py:591
|
||||
#: paperless/settings.py:606
|
||||
msgid "Catalan"
|
||||
msgstr "Katalonski"
|
||||
|
||||
#: paperless/settings.py:592
|
||||
#: paperless/settings.py:607
|
||||
msgid "Czech"
|
||||
msgstr "Češki"
|
||||
|
||||
#: paperless/settings.py:593
|
||||
#: paperless/settings.py:608
|
||||
msgid "Danish"
|
||||
msgstr "Danski"
|
||||
|
||||
#: paperless/settings.py:594
|
||||
#: paperless/settings.py:609
|
||||
msgid "German"
|
||||
msgstr "Nemački"
|
||||
|
||||
#: paperless/settings.py:595
|
||||
#: paperless/settings.py:610
|
||||
msgid "Greek"
|
||||
msgstr "Grčki"
|
||||
|
||||
#: paperless/settings.py:596
|
||||
#: paperless/settings.py:611
|
||||
msgid "English (GB)"
|
||||
msgstr "Engleski (UK)"
|
||||
|
||||
#: paperless/settings.py:597
|
||||
#: paperless/settings.py:612
|
||||
msgid "Spanish"
|
||||
msgstr "Španski"
|
||||
|
||||
#: paperless/settings.py:598
|
||||
#: paperless/settings.py:613
|
||||
msgid "Finnish"
|
||||
msgstr "Finski"
|
||||
|
||||
#: paperless/settings.py:599
|
||||
#: paperless/settings.py:614
|
||||
msgid "French"
|
||||
msgstr "Francuski"
|
||||
|
||||
#: paperless/settings.py:600
|
||||
#: paperless/settings.py:615
|
||||
msgid "Hungarian"
|
||||
msgstr "Mađarski"
|
||||
|
||||
#: paperless/settings.py:601
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "Italijanski"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Luksemburški"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr "Norveški"
|
||||
|
||||
#: paperless/settings.py:604
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "Holandski"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "Poljski"
|
||||
|
||||
#: paperless/settings.py:606
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Portugalski (Brazil)"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "Portugalski"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "Rumunski"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "Ruski"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr "Slovački"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "Slovenački"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "Srpski"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "Švedski"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "Turski"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr "Ukrajinski"
|
||||
|
||||
#: paperless/settings.py:616
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "Kineski pojednostavljen"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Paperless-ngx administracija"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-19 20:45\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Swedish\n"
|
||||
"Language: sv_SE\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "Dokument"
|
||||
msgid "owner"
|
||||
msgstr "ägare"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "Ingen"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "Valfritt ord"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "Alla ord"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "Exakt matchning"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Reguljära uttryck"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "Ungefärligt ord"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "Ungefärligt ord"
|
||||
msgid "Automatic"
|
||||
msgstr "Automatisk"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "namn"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "träff"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "matchande algoritm"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "är ej skiftlägeskänsligt"
|
||||
|
||||
@@ -611,113 +611,169 @@ msgstr ""
|
||||
msgid "custom field instances"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr "Api-uppladdning"
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "ordning"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "Konsumera endast dokument som matchar exakt detta filnamn, om det är angivet. Jokertecken som *.pdf eller *faktura* är tillåtna. Ej skiftlägeskänsligt."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:940
|
||||
msgid "assign title"
|
||||
msgstr "tilldela titel"
|
||||
|
||||
#: documents/models.py:945
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "tilldela denna etikett"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "tilldela den här dokumenttypen"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "tilldela denna korrespondent"
|
||||
|
||||
#: documents/models.py:977
|
||||
msgid "assign this storage path"
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:986
|
||||
msgid "assign this owner"
|
||||
msgstr "tilldela denna ägare"
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:993
|
||||
msgid "grant view permissions to these users"
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr "tilldela titel"
|
||||
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "tilldela denna etikett"
|
||||
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "tilldela den här dokumenttypen"
|
||||
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "tilldela denna korrespondent"
|
||||
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr "tilldela denna ägare"
|
||||
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "ordning"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "Ogiltigt reguljärt uttryck: %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "Ogiltig färg."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Filtypen %(type)s stöds inte"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Ogiltig variabel upptäckt."
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr "E-post"
|
||||
msgid "Send me instructions!"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr "Paperless"
|
||||
|
||||
#: paperless/settings.py:586
|
||||
msgid "English (US)"
|
||||
msgstr "Engelska (USA)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
msgid "Arabic"
|
||||
msgstr "Arabiska"
|
||||
|
||||
#: paperless/settings.py:588
|
||||
msgid "Afrikaans"
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:589
|
||||
msgid "Belarusian"
|
||||
msgstr "Belarusiska"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
msgid "Bulgarian"
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:591
|
||||
msgid "Catalan"
|
||||
msgstr "Kataloniska"
|
||||
|
||||
#: paperless/settings.py:592
|
||||
msgid "Czech"
|
||||
msgstr "Tjeckiska"
|
||||
|
||||
#: paperless/settings.py:593
|
||||
msgid "Danish"
|
||||
msgstr "Danska"
|
||||
|
||||
#: paperless/settings.py:594
|
||||
msgid "German"
|
||||
msgstr "Tyska"
|
||||
|
||||
#: paperless/settings.py:595
|
||||
msgid "Greek"
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:596
|
||||
msgid "English (GB)"
|
||||
msgstr "Engelska (GB)"
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:597
|
||||
msgid "Spanish"
|
||||
msgstr "Spanska"
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:598
|
||||
msgid "Finnish"
|
||||
msgstr "Finska"
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:599
|
||||
msgid "French"
|
||||
msgstr "Franska"
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:600
|
||||
msgid "Hungarian"
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "Italian"
|
||||
msgstr "Italienska"
|
||||
msgid "English (US)"
|
||||
msgstr "Engelska (USA)"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Luxemburgiska"
|
||||
msgid "Arabic"
|
||||
msgstr "Arabiska"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
msgid "Norwegian"
|
||||
msgid "Afrikaans"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:604
|
||||
msgid "Belarusian"
|
||||
msgstr "Belarusiska"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
msgid "Bulgarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:606
|
||||
msgid "Catalan"
|
||||
msgstr "Kataloniska"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
msgid "Czech"
|
||||
msgstr "Tjeckiska"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
msgid "Danish"
|
||||
msgstr "Danska"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
msgid "German"
|
||||
msgstr "Tyska"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
msgid "Greek"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:611
|
||||
msgid "English (GB)"
|
||||
msgstr "Engelska (GB)"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
msgid "Spanish"
|
||||
msgstr "Spanska"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
msgid "Finnish"
|
||||
msgstr "Finska"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
msgid "French"
|
||||
msgstr "Franska"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
msgid "Hungarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "Italienska"
|
||||
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Luxemburgiska"
|
||||
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "Holländska"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "Polska"
|
||||
|
||||
#: paperless/settings.py:606
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Portugisiska (Brasilien)"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "Portugisiska"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "Rumänska"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "Ryska"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr "Slovakiska"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "Slovenska"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "Serbiska"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "Svenska"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "Turkiska"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr "Ukrainiska"
|
||||
|
||||
#: paperless/settings.py:616
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "Kinesiska (förenklad)"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Paperless-ngx administration"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-19 20:45\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Thai\n"
|
||||
"Language: th_TH\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "เอกสาร"
|
||||
msgid "owner"
|
||||
msgstr "เจ้าของ"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "ไม่ใช้งาน"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "คำใดคำหนึ่ง"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "ทุกคำ"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "ตรงกันทุกประการ"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Regular expression"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "Fuzzy word"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "Fuzzy word"
|
||||
msgid "Automatic"
|
||||
msgstr "อัตโนมัติ"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "ชื่อ"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "การจำแนก"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "วิธีการจำแนก"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "ไม่คำนึงถึงตัวพิมพ์เล็ก-ใหญ่"
|
||||
|
||||
@@ -611,113 +611,169 @@ msgstr ""
|
||||
msgid "custom field instances"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "อันดับ"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "ประมวลผลเอกสารที่ชื่อไฟล์ตรงกับที่ระบุ (หากมี) โดยไม่สนใจอักษรพิมพ์ใหญ่-เล็ก และสามารถระบุแบบ wildcard ได้เช่น .pdf หรือ *invoice*"
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:940
|
||||
msgid "assign title"
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:945
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "กำหนดแท็กนี้"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "กำหนดประเภทเอกสารนี้"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "กำหนดผู้เขียนนี้"
|
||||
|
||||
#: documents/models.py:977
|
||||
msgid "assign this storage path"
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:986
|
||||
msgid "assign this owner"
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:993
|
||||
msgid "grant view permissions to these users"
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "กำหนดแท็กนี้"
|
||||
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "กำหนดประเภทเอกสารนี้"
|
||||
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "กำหนดผู้เขียนนี้"
|
||||
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "อันดับ"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "Regular expression ไม่ถูกต้อง : %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "สีไม่ถูกต้อง"
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "ไม่รองรับไฟล์ประเภท %(type)s"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "ตรวจพบตัวแปรไม่ถูกต้อง"
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr "อีเมล"
|
||||
msgid "Send me instructions!"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr "Paperless"
|
||||
|
||||
#: paperless/settings.py:586
|
||||
msgid "English (US)"
|
||||
msgstr "ภาษาอังกฤษ (สหรัฐฯ)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
msgid "Arabic"
|
||||
msgstr "ภาษาอาหรับ"
|
||||
|
||||
#: paperless/settings.py:588
|
||||
msgid "Afrikaans"
|
||||
msgstr "ภาษาอาฟรีกานส์"
|
||||
|
||||
#: paperless/settings.py:589
|
||||
msgid "Belarusian"
|
||||
msgstr "ภาษาเบลารุส"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
msgid "Bulgarian"
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:591
|
||||
msgid "Catalan"
|
||||
msgstr "ภาษาคาตาลัน"
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:592
|
||||
msgid "Czech"
|
||||
msgstr "ภาษาเช็ก"
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:593
|
||||
msgid "Danish"
|
||||
msgstr "ภาษาเดนมาร์ก"
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:594
|
||||
msgid "German"
|
||||
msgstr "ภาษาเยอรมัน"
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:595
|
||||
msgid "Greek"
|
||||
msgstr "ภาษากรีก"
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:596
|
||||
msgid "English (GB)"
|
||||
msgstr "ภาษาอังกฤษ (สหราชอาณาจักร)"
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:597
|
||||
msgid "Spanish"
|
||||
msgstr "ภาษาสเปน"
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:598
|
||||
msgid "Finnish"
|
||||
msgstr "ภาษาฟินแลนด์"
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:599
|
||||
msgid "French"
|
||||
msgstr "ภาษาฝรั่งเศส"
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:600
|
||||
msgid "Hungarian"
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "English (US)"
|
||||
msgstr "ภาษาอังกฤษ (สหรัฐฯ)"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
msgid "Arabic"
|
||||
msgstr "ภาษาอาหรับ"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
msgid "Afrikaans"
|
||||
msgstr "ภาษาอาฟรีกานส์"
|
||||
|
||||
#: paperless/settings.py:604
|
||||
msgid "Belarusian"
|
||||
msgstr "ภาษาเบลารุส"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
msgid "Bulgarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:606
|
||||
msgid "Catalan"
|
||||
msgstr "ภาษาคาตาลัน"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
msgid "Czech"
|
||||
msgstr "ภาษาเช็ก"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
msgid "Danish"
|
||||
msgstr "ภาษาเดนมาร์ก"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
msgid "German"
|
||||
msgstr "ภาษาเยอรมัน"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
msgid "Greek"
|
||||
msgstr "ภาษากรีก"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
msgid "English (GB)"
|
||||
msgstr "ภาษาอังกฤษ (สหราชอาณาจักร)"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
msgid "Spanish"
|
||||
msgstr "ภาษาสเปน"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
msgid "Finnish"
|
||||
msgstr "ภาษาฟินแลนด์"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
msgid "French"
|
||||
msgstr "ภาษาฝรั่งเศส"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
msgid "Hungarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "ภาษาอิตาลี"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "ภาษาลักเซมเบิร์ก"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr "ภาษานอร์เวย์"
|
||||
|
||||
#: paperless/settings.py:604
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "ภาษาดัตช์"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "ภาษาโปแลนด์"
|
||||
|
||||
#: paperless/settings.py:606
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "ภาษาโปรตุเกส (บราซิล)"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "ภาษาโปรตุเกส"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "ภาษาโรมาเนีย"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "ภาษารัสเซีย"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr "ภาษาสโลวาเกีย"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "ภาษาสโลเวเนีย"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "ภาษาเซอร์เบีย"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "ภาษาสวีเดน"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "ภาษาตุรกี"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr "ภาษายูเครน"
|
||||
|
||||
#: paperless/settings.py:616
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "ภาษาจีน (ตัวย่อ)"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "การจัดการ Paperless-ngx"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-19 20:45\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Turkish\n"
|
||||
"Language: tr_TR\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "Belgeler"
|
||||
msgid "owner"
|
||||
msgstr "sahibi"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "Hiçbiri"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "Herhangi bir kelime"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "Tüm Kelimeler"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "Tam eşleşme"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Düzenli ifade"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "Fuzzy Kelime"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "Fuzzy Kelime"
|
||||
msgid "Automatic"
|
||||
msgstr "Otomatik"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "ad"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "eşleme"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "eşleştirme algoritması"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "duyarsızdır"
|
||||
|
||||
@@ -611,113 +611,169 @@ msgstr ""
|
||||
msgid "custom field instances"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "sıra"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr "dosya adı ara"
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "Yalnızca belirtilmişse bu dosya ismiyla tamamen eşleşen belgeleri tüket. *.pdf veya *fatura* gibi joker karakterlere izin verilir. Büyük küçük yazılımına duyarsız."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:940
|
||||
msgid "assign title"
|
||||
msgstr "başlık at"
|
||||
|
||||
#: documents/models.py:945
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "bu etiketi atan"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "bu dosya türünü atan"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "bu muhabiri atan"
|
||||
|
||||
#: documents/models.py:977
|
||||
msgid "assign this storage path"
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:986
|
||||
msgid "assign this owner"
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:993
|
||||
msgid "grant view permissions to these users"
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr "başlık at"
|
||||
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "bu etiketi atan"
|
||||
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "bu dosya türünü atan"
|
||||
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "bu muhabiri atan"
|
||||
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "sıra"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "Hatalı Düzenli İfade: %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "Geçersiz renk."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Dosya türü %(type)s desteklenmiyor"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Geçersiz değişken algılandı."
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr "E-posta"
|
||||
msgid "Send me instructions!"
|
||||
msgstr "Talimatları gönder!"
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr "Paperless"
|
||||
|
||||
#: paperless/settings.py:586
|
||||
msgid "English (US)"
|
||||
msgstr "İngilizce (Birleşik Devletler)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
msgid "Arabic"
|
||||
msgstr "Arapça"
|
||||
|
||||
#: paperless/settings.py:588
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrika dili"
|
||||
|
||||
#: paperless/settings.py:589
|
||||
msgid "Belarusian"
|
||||
msgstr "Belarusça"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
msgid "Bulgarian"
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:591
|
||||
msgid "Catalan"
|
||||
msgstr "Katalanca"
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:592
|
||||
msgid "Czech"
|
||||
msgstr "Çekçe"
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:593
|
||||
msgid "Danish"
|
||||
msgstr "Danca"
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:594
|
||||
msgid "German"
|
||||
msgstr "Almanca"
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:595
|
||||
msgid "Greek"
|
||||
msgstr "Yunanca"
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:596
|
||||
msgid "English (GB)"
|
||||
msgstr "İngilizce (GB)"
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:597
|
||||
msgid "Spanish"
|
||||
msgstr "İspanyolca"
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:598
|
||||
msgid "Finnish"
|
||||
msgstr "Fince"
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:599
|
||||
msgid "French"
|
||||
msgstr "Fransızca"
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:600
|
||||
msgid "Hungarian"
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "English (US)"
|
||||
msgstr "İngilizce (Birleşik Devletler)"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
msgid "Arabic"
|
||||
msgstr "Arapça"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrika dili"
|
||||
|
||||
#: paperless/settings.py:604
|
||||
msgid "Belarusian"
|
||||
msgstr "Belarusça"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
msgid "Bulgarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:606
|
||||
msgid "Catalan"
|
||||
msgstr "Katalanca"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
msgid "Czech"
|
||||
msgstr "Çekçe"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
msgid "Danish"
|
||||
msgstr "Danca"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
msgid "German"
|
||||
msgstr "Almanca"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
msgid "Greek"
|
||||
msgstr "Yunanca"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
msgid "English (GB)"
|
||||
msgstr "İngilizce (GB)"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
msgid "Spanish"
|
||||
msgstr "İspanyolca"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
msgid "Finnish"
|
||||
msgstr "Fince"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
msgid "French"
|
||||
msgstr "Fransızca"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
msgid "Hungarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "İtalyanca"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Lüksemburgca"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr "Norveçce"
|
||||
|
||||
#: paperless/settings.py:604
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "Hollandaca"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "Polonyaca"
|
||||
|
||||
#: paperless/settings.py:606
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Portekizce (Brezilya)"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "Portekizce"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "Romence"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "Rusça"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr "Slovakça"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "Slovakça"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "Sırpça"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "İsveççe"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "Türkçe"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr "Ukraynaca"
|
||||
|
||||
#: paperless/settings.py:616
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "Basitleştirilmiş Çince"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Paperless-ngx yönetimi"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-19 20:45\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Ukrainian\n"
|
||||
"Language: uk_UA\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "Документи"
|
||||
msgid "owner"
|
||||
msgstr "власник"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "Немає"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "Будь-яке слово"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "Усі слова"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "Точна відповідність"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Регулярний вираз"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "Нечіткий пошук"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "Нечіткий пошук"
|
||||
msgid "Automatic"
|
||||
msgstr "Автоматично"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "назва"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "відповідність"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "алгоритм зіставляння"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "нечутливий до регістру"
|
||||
|
||||
@@ -385,47 +385,47 @@ msgstr "шлях зберігання"
|
||||
|
||||
#: documents/models.py:448
|
||||
msgid "has correspondent in"
|
||||
msgstr ""
|
||||
msgstr "має кореспондента в"
|
||||
|
||||
#: documents/models.py:449
|
||||
msgid "does not have correspondent in"
|
||||
msgstr ""
|
||||
msgstr "не має кореспондента в"
|
||||
|
||||
#: documents/models.py:450
|
||||
msgid "has document type in"
|
||||
msgstr ""
|
||||
msgstr "має тип документа в"
|
||||
|
||||
#: documents/models.py:451
|
||||
msgid "does not have document type in"
|
||||
msgstr ""
|
||||
msgstr "не має типу документа в"
|
||||
|
||||
#: documents/models.py:452
|
||||
msgid "has storage path in"
|
||||
msgstr ""
|
||||
msgstr "має шлях до сховища в"
|
||||
|
||||
#: documents/models.py:453
|
||||
msgid "does not have storage path in"
|
||||
msgstr ""
|
||||
msgstr "не має шляху до сховища в"
|
||||
|
||||
#: documents/models.py:454
|
||||
msgid "owner is"
|
||||
msgstr ""
|
||||
msgstr "власник є"
|
||||
|
||||
#: documents/models.py:455
|
||||
msgid "has owner in"
|
||||
msgstr ""
|
||||
msgstr "має власника в"
|
||||
|
||||
#: documents/models.py:456
|
||||
msgid "does not have owner"
|
||||
msgstr ""
|
||||
msgstr "не має власника"
|
||||
|
||||
#: documents/models.py:457
|
||||
msgid "does not have owner in"
|
||||
msgstr ""
|
||||
msgstr "не має власника в"
|
||||
|
||||
#: documents/models.py:458
|
||||
msgid "has custom field value"
|
||||
msgstr ""
|
||||
msgstr "має значення спеціального поля"
|
||||
|
||||
#: documents/models.py:459
|
||||
msgid "is shared by me"
|
||||
@@ -521,7 +521,7 @@ msgstr "Дані, які повернені завданням"
|
||||
|
||||
#: documents/models.py:652
|
||||
msgid "Note for the document"
|
||||
msgstr ""
|
||||
msgstr "Примітка до документа"
|
||||
|
||||
#: documents/models.py:676
|
||||
msgid "user"
|
||||
@@ -529,7 +529,7 @@ msgstr "користувач"
|
||||
|
||||
#: documents/models.py:681
|
||||
msgid "note"
|
||||
msgstr ""
|
||||
msgstr "примітка"
|
||||
|
||||
#: documents/models.py:682
|
||||
msgid "notes"
|
||||
@@ -553,35 +553,35 @@ msgstr ""
|
||||
|
||||
#: documents/models.py:741
|
||||
msgid "share link"
|
||||
msgstr ""
|
||||
msgstr "поділитися посиланням"
|
||||
|
||||
#: documents/models.py:742
|
||||
msgid "share links"
|
||||
msgstr ""
|
||||
msgstr "поділитися посиланнями"
|
||||
|
||||
#: documents/models.py:754
|
||||
msgid "String"
|
||||
msgstr ""
|
||||
msgstr "Текст"
|
||||
|
||||
#: documents/models.py:755
|
||||
msgid "URL"
|
||||
msgstr ""
|
||||
msgstr "URL-адреса"
|
||||
|
||||
#: documents/models.py:756
|
||||
msgid "Date"
|
||||
msgstr ""
|
||||
msgstr "Дата"
|
||||
|
||||
#: documents/models.py:757
|
||||
msgid "Boolean"
|
||||
msgstr ""
|
||||
msgstr "Логічне значення"
|
||||
|
||||
#: documents/models.py:758
|
||||
msgid "Integer"
|
||||
msgstr ""
|
||||
msgstr "Ціле число"
|
||||
|
||||
#: documents/models.py:759
|
||||
msgid "Float"
|
||||
msgstr ""
|
||||
msgstr "З рухомою комою"
|
||||
|
||||
#: documents/models.py:760
|
||||
msgid "Monetary"
|
||||
@@ -589,19 +589,19 @@ msgstr ""
|
||||
|
||||
#: documents/models.py:761
|
||||
msgid "Document Link"
|
||||
msgstr ""
|
||||
msgstr "Посилання на документ"
|
||||
|
||||
#: documents/models.py:773
|
||||
msgid "data type"
|
||||
msgstr ""
|
||||
msgstr "тип даних"
|
||||
|
||||
#: documents/models.py:781
|
||||
msgid "custom field"
|
||||
msgstr ""
|
||||
msgstr "користувацьке поле"
|
||||
|
||||
#: documents/models.py:782
|
||||
msgid "custom fields"
|
||||
msgstr ""
|
||||
msgstr "користувацькі поля"
|
||||
|
||||
#: documents/models.py:844
|
||||
msgid "custom field instance"
|
||||
@@ -611,113 +611,169 @@ msgstr ""
|
||||
msgid "custom field instances"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr "Документ додано"
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr "Документ оновлено"
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:894
|
||||
msgid "Api Upload"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:895
|
||||
msgid "Mail Fetch"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "порядок"
|
||||
|
||||
#: documents/models.py:908
|
||||
msgid "filter path"
|
||||
msgid "Api Upload"
|
||||
msgstr "Завантаження API"
|
||||
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr "Завантаження пошти"
|
||||
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr "шлях фільтра"
|
||||
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "Обробляти лише ті документи, які повністю відповідають назві файлу, якщо вказано. Шаблони, такі як *.pdf чи *invoice* дозволені. Без врахування регістру."
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:940
|
||||
msgid "assign title"
|
||||
msgstr "призначити назву"
|
||||
|
||||
#: documents/models.py:945
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "призначити цей тег"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "призначити цей тип документа"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "призначити цього кореспондента"
|
||||
|
||||
#: documents/models.py:977
|
||||
msgid "assign this storage path"
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:986
|
||||
msgid "assign this owner"
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:993
|
||||
msgid "grant view permissions to these users"
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr "призначити назву"
|
||||
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "призначити цей тег"
|
||||
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "призначити цей тип документа"
|
||||
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "призначити цього кореспондента"
|
||||
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr "дія робочого циклу"
|
||||
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr "дії робочого циклу"
|
||||
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "порядок"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
msgstr ""
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr "дії"
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr "ввімкнено"
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "Неправильний регулярний вираз: %(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "Неправильний колір."
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "Тип файлу %(type)s не підтримується"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "Виявлено неправильну змінну."
|
||||
|
||||
@@ -763,7 +819,7 @@ msgstr ""
|
||||
|
||||
#: documents/templates/registration/login.html:52
|
||||
msgid "Share link has expired."
|
||||
msgstr ""
|
||||
msgstr "Термін дії посилання закінчився."
|
||||
|
||||
#: documents/templates/registration/login.html:55
|
||||
msgid "Username"
|
||||
@@ -779,44 +835,44 @@ msgstr "Увійти"
|
||||
|
||||
#: documents/templates/registration/login.html:70
|
||||
msgid "Forgot your password?"
|
||||
msgstr ""
|
||||
msgstr "Забули пароль?"
|
||||
|
||||
#: documents/templates/registration/password_reset_complete.html:14
|
||||
msgid "Paperless-ngx reset password complete"
|
||||
msgstr ""
|
||||
msgstr "Скидання пароля Paperless-ngx завершено"
|
||||
|
||||
#: documents/templates/registration/password_reset_complete.html:40
|
||||
msgid "Password reset complete."
|
||||
msgstr ""
|
||||
msgstr "Скидання пароля завершено."
|
||||
|
||||
#: documents/templates/registration/password_reset_complete.html:42
|
||||
#, python-format
|
||||
msgid "Your new password has been set. You can now <a href=\"%(login_url)s\">log in</a>"
|
||||
msgstr ""
|
||||
msgstr "Ваш новий пароль встановлено. Тепер ви можете <a href=\"%(login_url)s\">увійти в систему</a>"
|
||||
|
||||
#: documents/templates/registration/password_reset_confirm.html:14
|
||||
msgid "Paperless-ngx reset password confirmation"
|
||||
msgstr ""
|
||||
msgstr "Підтвердження скидання пароля Paperless-ngx"
|
||||
|
||||
#: documents/templates/registration/password_reset_confirm.html:42
|
||||
msgid "Set a new password."
|
||||
msgstr ""
|
||||
msgstr "Встановити новий пароль."
|
||||
|
||||
#: documents/templates/registration/password_reset_confirm.html:46
|
||||
msgid "Passwords did not match or too weak. Try again."
|
||||
msgstr ""
|
||||
msgstr "Паролі не збігаються або надто слабкі. Спробуйте ще раз."
|
||||
|
||||
#: documents/templates/registration/password_reset_confirm.html:49
|
||||
msgid "New Password"
|
||||
msgstr ""
|
||||
msgstr "Новий пароль"
|
||||
|
||||
#: documents/templates/registration/password_reset_confirm.html:50
|
||||
msgid "Confirm Password"
|
||||
msgstr ""
|
||||
msgstr "Підтвердьте пароль"
|
||||
|
||||
#: documents/templates/registration/password_reset_confirm.html:61
|
||||
msgid "Change my password"
|
||||
msgstr ""
|
||||
msgstr "Змінити мій пароль"
|
||||
|
||||
#: documents/templates/registration/password_reset_confirm.html:65
|
||||
msgid "request a new password reset"
|
||||
@@ -828,11 +884,11 @@ msgstr ""
|
||||
|
||||
#: documents/templates/registration/password_reset_done.html:40
|
||||
msgid "Check your inbox."
|
||||
msgstr ""
|
||||
msgstr "Перевірте вашу поштову скриньку."
|
||||
|
||||
#: documents/templates/registration/password_reset_done.html:41
|
||||
msgid "We've emailed you instructions for setting your password. You should receive the email shortly!"
|
||||
msgstr ""
|
||||
msgstr "Ми надіслали вам на електронну пошту інструкції щодо встановлення паролю. Ви маєте отримати лист найближчим часом!"
|
||||
|
||||
#: documents/templates/registration/password_reset_form.html:14
|
||||
msgid "Paperless-ngx reset password request"
|
||||
@@ -854,135 +910,286 @@ msgstr "Ел. пошта"
|
||||
msgid "Send me instructions!"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr "Paperless"
|
||||
|
||||
#: paperless/settings.py:586
|
||||
msgid "English (US)"
|
||||
msgstr "Англійська (США)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
msgid "Arabic"
|
||||
msgstr "Арабська"
|
||||
|
||||
#: paperless/settings.py:588
|
||||
msgid "Afrikaans"
|
||||
msgstr "Африкаанс"
|
||||
|
||||
#: paperless/settings.py:589
|
||||
msgid "Belarusian"
|
||||
msgstr "Білоруська"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
msgid "Bulgarian"
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:591
|
||||
msgid "Catalan"
|
||||
msgstr "Каталонська"
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:592
|
||||
msgid "Czech"
|
||||
msgstr "Чеська"
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:593
|
||||
msgid "Danish"
|
||||
msgstr "Данська"
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:594
|
||||
msgid "German"
|
||||
msgstr "Німецька"
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:595
|
||||
msgid "Greek"
|
||||
msgstr "Грецька"
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:596
|
||||
msgid "English (GB)"
|
||||
msgstr "Англійська (Велика Британія)"
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:597
|
||||
msgid "Spanish"
|
||||
msgstr "Іспанська"
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:598
|
||||
msgid "Finnish"
|
||||
msgstr "Фінська"
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:599
|
||||
msgid "French"
|
||||
msgstr "Французька"
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:600
|
||||
msgid "Hungarian"
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr "RGB"
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr "Сірий"
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr "CMYK"
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "English (US)"
|
||||
msgstr "Англійська (США)"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
msgid "Arabic"
|
||||
msgstr "Арабська"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
msgid "Afrikaans"
|
||||
msgstr "Африкаанс"
|
||||
|
||||
#: paperless/settings.py:604
|
||||
msgid "Belarusian"
|
||||
msgstr "Білоруська"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
msgid "Bulgarian"
|
||||
msgstr "Болгарська"
|
||||
|
||||
#: paperless/settings.py:606
|
||||
msgid "Catalan"
|
||||
msgstr "Каталонська"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
msgid "Czech"
|
||||
msgstr "Чеська"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
msgid "Danish"
|
||||
msgstr "Данська"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
msgid "German"
|
||||
msgstr "Німецька"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
msgid "Greek"
|
||||
msgstr "Грецька"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
msgid "English (GB)"
|
||||
msgstr "Англійська (Велика Британія)"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
msgid "Spanish"
|
||||
msgstr "Іспанська"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
msgid "Finnish"
|
||||
msgstr "Фінська"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
msgid "French"
|
||||
msgstr "Французька"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
msgid "Hungarian"
|
||||
msgstr "Угорська"
|
||||
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "Італійська"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "Люксембурзька"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr "Норвезька"
|
||||
|
||||
#: paperless/settings.py:604
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "Нідерландська"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "Польська"
|
||||
|
||||
#: paperless/settings.py:606
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "Португальська (Бразилія)"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "Португальська"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "Румунська"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "Російська"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr "Словацька"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "Словенська"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "Сербська"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "Шведська"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "Турецька"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr "Українська"
|
||||
|
||||
#: paperless/settings.py:616
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "Китайська спрощена"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Адміністрування Paperless-ngx"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-19 20:45\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Vietnamese\n"
|
||||
"Language: vi_VN\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "Tài liệu"
|
||||
msgid "owner"
|
||||
msgstr "chủ sở hữu"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "Không có"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "Từ bất kỳ"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "Tất cả từ"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "Chính xác"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "Biểu hiện bình thường"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "từ fuzzy"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "từ fuzzy"
|
||||
msgid "Automatic"
|
||||
msgstr "Tự động"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "tên"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "phù hợp"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "thuật toán tìm kiếm"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "không phân biệt chữ hoa/thường"
|
||||
|
||||
@@ -611,113 +611,169 @@ msgstr ""
|
||||
msgid "custom field instances"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:940
|
||||
msgid "assign title"
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:945
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:977
|
||||
msgid "assign this storage path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:986
|
||||
msgid "assign this owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:993
|
||||
msgid "grant view permissions to these users"
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr ""
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr ""
|
||||
msgid "Send me instructions!"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:586
|
||||
msgid "English (US)"
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:587
|
||||
msgid "Arabic"
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:588
|
||||
msgid "Afrikaans"
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:589
|
||||
msgid "Belarusian"
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:590
|
||||
msgid "Bulgarian"
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:591
|
||||
msgid "Catalan"
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:592
|
||||
msgid "Czech"
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:593
|
||||
msgid "Danish"
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:594
|
||||
msgid "German"
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:595
|
||||
msgid "Greek"
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:596
|
||||
msgid "English (GB)"
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:597
|
||||
msgid "Spanish"
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:598
|
||||
msgid "Finnish"
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:599
|
||||
msgid "French"
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:600
|
||||
msgid "Hungarian"
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "Italian"
|
||||
msgid "English (US)"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:602
|
||||
msgid "Luxembourgish"
|
||||
msgid "Arabic"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:603
|
||||
msgid "Norwegian"
|
||||
msgid "Afrikaans"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:604
|
||||
msgid "Dutch"
|
||||
msgid "Belarusian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:605
|
||||
msgid "Polish"
|
||||
msgid "Bulgarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:606
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgid "Catalan"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:607
|
||||
msgid "Portuguese"
|
||||
msgid "Czech"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:608
|
||||
msgid "Romanian"
|
||||
msgid "Danish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:609
|
||||
msgid "Russian"
|
||||
msgid "German"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:610
|
||||
msgid "Slovak"
|
||||
msgid "Greek"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:611
|
||||
msgid "Slovenian"
|
||||
msgid "English (GB)"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:612
|
||||
msgid "Serbian"
|
||||
msgid "Spanish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:613
|
||||
msgid "Swedish"
|
||||
msgid "Finnish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:614
|
||||
msgid "Turkish"
|
||||
msgid "French"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:615
|
||||
msgid "Ukrainian"
|
||||
msgid "Hungarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-28 12:09\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Chinese Simplified\n"
|
||||
"Language: zh_CN\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "文档"
|
||||
msgid "owner"
|
||||
msgstr "所有者"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "无"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "任意单词"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "所有单词"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "精确匹配"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr "正则表达式"
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "模糊单词"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "模糊单词"
|
||||
msgid "Automatic"
|
||||
msgstr "自动"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "名称"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "匹配"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "匹配算法"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "忽略大小写"
|
||||
|
||||
@@ -425,7 +425,7 @@ msgstr "没有所有者"
|
||||
|
||||
#: documents/models.py:458
|
||||
msgid "has custom field value"
|
||||
msgstr ""
|
||||
msgstr "添加自定义字段值"
|
||||
|
||||
#: documents/models.py:459
|
||||
msgid "is shared by me"
|
||||
@@ -611,113 +611,169 @@ msgstr "自定义字段实例"
|
||||
msgid "custom field instances"
|
||||
msgstr "自定义字段实例"
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr "消费文件夹"
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr "Api上传"
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr "邮件获取"
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "排序"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr "过滤路径"
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr "只消耗匹配了指定路径的文档。路径指定中允许使用*作为通配符,大小写不敏感。"
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr "过滤文件名"
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr "如果指定了文件名,只处理完全匹配此文件名的文档。允许使用通配符,如 *.pdf 或 *发票*。不区分大小写。"
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr "从邮件规则中过滤文档"
|
||||
|
||||
#: documents/models.py:940
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr "指定标题"
|
||||
|
||||
#: documents/models.py:945
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr "指定一个文档标题,可以包含一些占位符,参见文档。"
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr "分配此标签"
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr "分配此文档类型"
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "分配此联系人"
|
||||
|
||||
#: documents/models.py:977
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr "指定存储路径"
|
||||
|
||||
#: documents/models.py:986
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr "指定所有者"
|
||||
|
||||
#: documents/models.py:993
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr "为这些用户授予观看权限"
|
||||
|
||||
#: documents/models.py:1000
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr "为这些用户组授予观看权限"
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr "为这些用户授予修改权限"
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr "为这些用户组授予修改权限"
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr "分配这些自定义字段"
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
msgstr "消费模板"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
msgstr "消费模板"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr "排序"
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr "无效的正则表达式:%(error)s"
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr "无效的颜色"
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr "不支持文件类型 %(type)s"
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr "检测到无效变量。"
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr "电子邮件"
|
||||
msgid "Send me instructions!"
|
||||
msgstr "向为发送说明"
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr "无纸版"
|
||||
|
||||
#: paperless/settings.py:586
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "English (US)"
|
||||
msgstr "英语(美国)"
|
||||
|
||||
#: paperless/settings.py:587
|
||||
#: paperless/settings.py:602
|
||||
msgid "Arabic"
|
||||
msgstr "阿拉伯语"
|
||||
|
||||
#: paperless/settings.py:588
|
||||
#: paperless/settings.py:603
|
||||
msgid "Afrikaans"
|
||||
msgstr "Afrikaans 荷兰语"
|
||||
|
||||
#: paperless/settings.py:589
|
||||
#: paperless/settings.py:604
|
||||
msgid "Belarusian"
|
||||
msgstr "白俄罗斯语"
|
||||
|
||||
#: paperless/settings.py:590
|
||||
#: paperless/settings.py:605
|
||||
msgid "Bulgarian"
|
||||
msgstr "保加利亚语"
|
||||
|
||||
#: paperless/settings.py:591
|
||||
#: paperless/settings.py:606
|
||||
msgid "Catalan"
|
||||
msgstr "Catalan 加泰罗尼亚语"
|
||||
|
||||
#: paperless/settings.py:592
|
||||
#: paperless/settings.py:607
|
||||
msgid "Czech"
|
||||
msgstr "捷克语"
|
||||
|
||||
#: paperless/settings.py:593
|
||||
#: paperless/settings.py:608
|
||||
msgid "Danish"
|
||||
msgstr "丹麦语"
|
||||
|
||||
#: paperless/settings.py:594
|
||||
#: paperless/settings.py:609
|
||||
msgid "German"
|
||||
msgstr "德语"
|
||||
|
||||
#: paperless/settings.py:595
|
||||
#: paperless/settings.py:610
|
||||
msgid "Greek"
|
||||
msgstr "Greek 希腊语"
|
||||
|
||||
#: paperless/settings.py:596
|
||||
#: paperless/settings.py:611
|
||||
msgid "English (GB)"
|
||||
msgstr "英语(英国)"
|
||||
|
||||
#: paperless/settings.py:597
|
||||
#: paperless/settings.py:612
|
||||
msgid "Spanish"
|
||||
msgstr "西班牙语"
|
||||
|
||||
#: paperless/settings.py:598
|
||||
#: paperless/settings.py:613
|
||||
msgid "Finnish"
|
||||
msgstr "已完成"
|
||||
|
||||
#: paperless/settings.py:599
|
||||
#: paperless/settings.py:614
|
||||
msgid "French"
|
||||
msgstr "法语"
|
||||
|
||||
#: paperless/settings.py:600
|
||||
#: paperless/settings.py:615
|
||||
msgid "Hungarian"
|
||||
msgstr "匈牙利语"
|
||||
|
||||
#: paperless/settings.py:601
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr "意大利语"
|
||||
|
||||
#: paperless/settings.py:602
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr "卢森堡语"
|
||||
|
||||
#: paperless/settings.py:603
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr "Norwegian 挪威语"
|
||||
|
||||
#: paperless/settings.py:604
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr "荷兰语"
|
||||
|
||||
#: paperless/settings.py:605
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr "波兰语"
|
||||
|
||||
#: paperless/settings.py:606
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr "葡萄牙语 (巴西)"
|
||||
|
||||
#: paperless/settings.py:607
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr "葡萄牙语"
|
||||
|
||||
#: paperless/settings.py:608
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr "罗马尼亚语"
|
||||
|
||||
#: paperless/settings.py:609
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr "俄语"
|
||||
|
||||
#: paperless/settings.py:610
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr "Slovak 斯洛伐克语"
|
||||
|
||||
#: paperless/settings.py:611
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr "斯洛语尼亚语"
|
||||
|
||||
#: paperless/settings.py:612
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr "塞尔维亚语"
|
||||
|
||||
#: paperless/settings.py:613
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr "瑞典语"
|
||||
|
||||
#: paperless/settings.py:614
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr "土耳其语"
|
||||
|
||||
#: paperless/settings.py:615
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr "Ukrainian 乌克兰语"
|
||||
|
||||
#: paperless/settings.py:616
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "简体中文"
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr "Paperless-ngx 管理"
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-12-09 10:53-0800\n"
|
||||
"PO-Revision-Date: 2023-12-19 20:45\n"
|
||||
"POT-Creation-Date: 2024-01-05 21:26-0800\n"
|
||||
"PO-Revision-Date: 2024-01-06 05:27\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Chinese Traditional\n"
|
||||
"Language: zh_TW\n"
|
||||
@@ -25,27 +25,27 @@ msgstr "文件"
|
||||
msgid "owner"
|
||||
msgstr "擁有者"
|
||||
|
||||
#: documents/models.py:53
|
||||
#: documents/models.py:53 documents/models.py:894
|
||||
msgid "None"
|
||||
msgstr "無"
|
||||
|
||||
#: documents/models.py:54
|
||||
#: documents/models.py:54 documents/models.py:895
|
||||
msgid "Any word"
|
||||
msgstr "任何字"
|
||||
|
||||
#: documents/models.py:55
|
||||
#: documents/models.py:55 documents/models.py:896
|
||||
msgid "All words"
|
||||
msgstr "所有字詞"
|
||||
|
||||
#: documents/models.py:56
|
||||
#: documents/models.py:56 documents/models.py:897
|
||||
msgid "Exact match"
|
||||
msgstr "完全符合"
|
||||
|
||||
#: documents/models.py:57
|
||||
#: documents/models.py:57 documents/models.py:898
|
||||
msgid "Regular expression"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:58
|
||||
#: documents/models.py:58 documents/models.py:899
|
||||
msgid "Fuzzy word"
|
||||
msgstr "模糊詞"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "模糊詞"
|
||||
msgid "Automatic"
|
||||
msgstr "自動"
|
||||
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:897
|
||||
#: documents/models.py:62 documents/models.py:402 documents/models.py:1099
|
||||
#: paperless_mail/models.py:18 paperless_mail/models.py:93
|
||||
msgid "name"
|
||||
msgstr "名稱"
|
||||
|
||||
#: documents/models.py:64
|
||||
#: documents/models.py:64 documents/models.py:955
|
||||
msgid "match"
|
||||
msgstr "比對"
|
||||
|
||||
#: documents/models.py:67
|
||||
#: documents/models.py:67 documents/models.py:958
|
||||
msgid "matching algorithm"
|
||||
msgstr "比對演算法"
|
||||
|
||||
#: documents/models.py:72
|
||||
#: documents/models.py:72 documents/models.py:963
|
||||
msgid "is insensitive"
|
||||
msgstr "不區分大小寫"
|
||||
|
||||
@@ -611,113 +611,169 @@ msgstr ""
|
||||
msgid "custom field instances"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:893
|
||||
#: documents/models.py:902
|
||||
msgid "Consumption Started"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:903
|
||||
msgid "Document Added"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:904
|
||||
msgid "Document Updated"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:907
|
||||
msgid "Consume Folder"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:894
|
||||
#: documents/models.py:908
|
||||
msgid "Api Upload"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:895
|
||||
#: documents/models.py:909
|
||||
msgid "Mail Fetch"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:899 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
#: documents/models.py:912
|
||||
msgid "Workflow Trigger Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:908
|
||||
#: documents/models.py:924
|
||||
msgid "filter path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:913
|
||||
#: documents/models.py:929
|
||||
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:920
|
||||
#: documents/models.py:936
|
||||
msgid "filter filename"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:925 paperless_mail/models.py:148
|
||||
#: documents/models.py:941 paperless_mail/models.py:148
|
||||
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:936
|
||||
#: documents/models.py:952
|
||||
msgid "filter documents from this mail rule"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:940
|
||||
msgid "assign title"
|
||||
#: documents/models.py:968
|
||||
msgid "has these tag(s)"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:945
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
#: documents/models.py:976
|
||||
msgid "has this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:953 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
#: documents/models.py:984
|
||||
msgid "has this correspondent"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:961 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
#: documents/models.py:988
|
||||
msgid "workflow trigger"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:969 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "指派這個聯繫者"
|
||||
|
||||
#: documents/models.py:977
|
||||
msgid "assign this storage path"
|
||||
#: documents/models.py:989
|
||||
msgid "workflow triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:986
|
||||
msgid "assign this owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:993
|
||||
msgid "grant view permissions to these users"
|
||||
#: documents/models.py:997
|
||||
msgid "Assignment"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1000
|
||||
msgid "Workflow Action Type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1006
|
||||
msgid "assign title"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1011
|
||||
msgid "Assign a document title, can include some placeholders, see documentation."
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1019 paperless_mail/models.py:216
|
||||
msgid "assign this tag"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1027 paperless_mail/models.py:224
|
||||
msgid "assign this document type"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1035 paperless_mail/models.py:238
|
||||
msgid "assign this correspondent"
|
||||
msgstr "指派這個聯繫者"
|
||||
|
||||
#: documents/models.py:1043
|
||||
msgid "assign this storage path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1052
|
||||
msgid "assign this owner"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1059
|
||||
msgid "grant view permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1066
|
||||
msgid "grant view permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1007
|
||||
#: documents/models.py:1073
|
||||
msgid "grant change permissions to these users"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1014
|
||||
#: documents/models.py:1080
|
||||
msgid "grant change permissions to these groups"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1021
|
||||
#: documents/models.py:1087
|
||||
msgid "assign these custom fields"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1025
|
||||
msgid "consumption template"
|
||||
#: documents/models.py:1091
|
||||
msgid "workflow action"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1026
|
||||
msgid "consumption templates"
|
||||
#: documents/models.py:1092
|
||||
msgid "workflow actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:105
|
||||
#: documents/models.py:1101 paperless_mail/models.py:95
|
||||
msgid "order"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1107
|
||||
msgid "triggers"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1114
|
||||
msgid "actions"
|
||||
msgstr ""
|
||||
|
||||
#: documents/models.py:1117
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:111
|
||||
#, python-format
|
||||
msgid "Invalid regular expression: %(error)s"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:399
|
||||
#: documents/serialisers.py:405
|
||||
msgid "Invalid color."
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:865
|
||||
#: documents/serialisers.py:999
|
||||
#, python-format
|
||||
msgid "File type %(type)s not supported"
|
||||
msgstr ""
|
||||
|
||||
#: documents/serialisers.py:962
|
||||
#: documents/serialisers.py:1102
|
||||
msgid "Invalid variable detected."
|
||||
msgstr ""
|
||||
|
||||
@@ -854,135 +910,286 @@ msgstr ""
|
||||
msgid "Send me instructions!"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:17
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing scheme"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:22
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}, missing net location or path"
|
||||
msgstr ""
|
||||
|
||||
#: documents/validators.py:27
|
||||
#, python-brace-format
|
||||
msgid "Unable to parse URI {value}"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/apps.py:10
|
||||
msgid "Paperless"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:586
|
||||
msgid "English (US)"
|
||||
#: paperless/models.py:25
|
||||
msgid "pdf"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:587
|
||||
msgid "Arabic"
|
||||
#: paperless/models.py:26
|
||||
msgid "pdfa"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:588
|
||||
msgid "Afrikaans"
|
||||
#: paperless/models.py:27
|
||||
msgid "pdfa-1"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:589
|
||||
msgid "Belarusian"
|
||||
#: paperless/models.py:28
|
||||
msgid "pdfa-2"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:590
|
||||
msgid "Bulgarian"
|
||||
#: paperless/models.py:29
|
||||
msgid "pdfa-3"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:591
|
||||
msgid "Catalan"
|
||||
#: paperless/models.py:38
|
||||
msgid "skip"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:592
|
||||
msgid "Czech"
|
||||
#: paperless/models.py:39
|
||||
msgid "redo"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:593
|
||||
msgid "Danish"
|
||||
#: paperless/models.py:40
|
||||
msgid "force"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:594
|
||||
msgid "German"
|
||||
#: paperless/models.py:41
|
||||
msgid "skip_noarchive"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:595
|
||||
msgid "Greek"
|
||||
#: paperless/models.py:49
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:596
|
||||
msgid "English (GB)"
|
||||
#: paperless/models.py:50
|
||||
msgid "with_text"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:597
|
||||
msgid "Spanish"
|
||||
#: paperless/models.py:51
|
||||
msgid "always"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:598
|
||||
msgid "Finnish"
|
||||
#: paperless/models.py:59
|
||||
msgid "clean"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:599
|
||||
msgid "French"
|
||||
#: paperless/models.py:60
|
||||
msgid "clean-final"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:600
|
||||
msgid "Hungarian"
|
||||
#: paperless/models.py:61
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:69
|
||||
msgid "LeaveColorUnchanged"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:70
|
||||
msgid "RGB"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:71
|
||||
msgid "UseDeviceIndependentColor"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:72
|
||||
msgid "Gray"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:73
|
||||
msgid "CMYK"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:82
|
||||
msgid "Sets the output PDF type"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:94
|
||||
msgid "Do OCR from page 1 to this value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:100
|
||||
msgid "Do OCR using these languages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:107
|
||||
msgid "Sets the OCR mode"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:115
|
||||
msgid "Controls the generation of an archive file"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:123
|
||||
msgid "Sets image DPI fallback value"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:130
|
||||
msgid "Controls the unpaper cleaning"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:137
|
||||
msgid "Enables deskew"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:140
|
||||
msgid "Enables page rotation"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:145
|
||||
msgid "Sets the threshold for rotation of pages"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:151
|
||||
msgid "Sets the maximum image size for decompression"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:157
|
||||
msgid "Sets the Ghostscript color conversion strategy"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:165
|
||||
msgid "Adds additional user arguments for OCRMyPDF"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/models.py:170
|
||||
msgid "paperless application settings"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:601
|
||||
msgid "Italian"
|
||||
msgid "English (US)"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:602
|
||||
msgid "Luxembourgish"
|
||||
msgid "Arabic"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:603
|
||||
msgid "Norwegian"
|
||||
msgid "Afrikaans"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:604
|
||||
msgid "Dutch"
|
||||
msgid "Belarusian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:605
|
||||
msgid "Polish"
|
||||
msgid "Bulgarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:606
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgid "Catalan"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:607
|
||||
msgid "Portuguese"
|
||||
msgid "Czech"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:608
|
||||
msgid "Romanian"
|
||||
msgid "Danish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:609
|
||||
msgid "Russian"
|
||||
msgid "German"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:610
|
||||
msgid "Slovak"
|
||||
msgid "Greek"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:611
|
||||
msgid "Slovenian"
|
||||
msgid "English (GB)"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:612
|
||||
msgid "Serbian"
|
||||
msgid "Spanish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:613
|
||||
msgid "Swedish"
|
||||
msgid "Finnish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:614
|
||||
msgid "Turkish"
|
||||
msgid "French"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:615
|
||||
msgid "Ukrainian"
|
||||
msgid "Hungarian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:616
|
||||
msgid "Italian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:617
|
||||
msgid "Luxembourgish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:618
|
||||
msgid "Norwegian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:619
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:620
|
||||
msgid "Polish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:621
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:622
|
||||
msgid "Portuguese"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:623
|
||||
msgid "Romanian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:624
|
||||
msgid "Russian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:625
|
||||
msgid "Slovak"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:626
|
||||
msgid "Slovenian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:627
|
||||
msgid "Serbian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:628
|
||||
msgid "Swedish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:629
|
||||
msgid "Turkish"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:630
|
||||
msgid "Ukrainian"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/settings.py:631
|
||||
msgid "Chinese Simplified"
|
||||
msgstr ""
|
||||
|
||||
#: paperless/urls.py:194
|
||||
#: paperless/urls.py:205
|
||||
msgid "Paperless-ngx administration"
|
||||
msgstr ""
|
||||
|
||||
|
||||
88
src/paperless/config.py
Normal file
88
src/paperless/config.py
Normal file
@@ -0,0 +1,88 @@
|
||||
import dataclasses
|
||||
import json
|
||||
from typing import Optional
|
||||
|
||||
from django.conf import settings
|
||||
|
||||
from paperless.models import ApplicationConfiguration
|
||||
|
||||
|
||||
@dataclasses.dataclass
|
||||
class OutputTypeConfig:
|
||||
"""
|
||||
Almost all parsers care about the chosen PDF output format
|
||||
"""
|
||||
|
||||
output_type: str = dataclasses.field(init=False)
|
||||
|
||||
@staticmethod
|
||||
def _get_config_instance() -> ApplicationConfiguration:
|
||||
app_config = ApplicationConfiguration.objects.all().first()
|
||||
# Workaround for a test where the migration hasn't run to create the single model
|
||||
if app_config is None:
|
||||
ApplicationConfiguration.objects.create()
|
||||
app_config = ApplicationConfiguration.objects.all().first()
|
||||
return app_config
|
||||
|
||||
def __post_init__(self) -> None:
|
||||
app_config = self._get_config_instance()
|
||||
|
||||
self.output_type = app_config.output_type or settings.OCR_OUTPUT_TYPE
|
||||
|
||||
|
||||
@dataclasses.dataclass
|
||||
class OcrConfig(OutputTypeConfig):
|
||||
"""
|
||||
Specific settings for the Tesseract based parser. Options generally
|
||||
correspond almost directly to the OCRMyPDF options
|
||||
"""
|
||||
|
||||
pages: Optional[int] = dataclasses.field(init=False)
|
||||
language: str = dataclasses.field(init=False)
|
||||
mode: str = dataclasses.field(init=False)
|
||||
skip_archive_file: str = dataclasses.field(init=False)
|
||||
image_dpi: Optional[int] = dataclasses.field(init=False)
|
||||
clean: str = dataclasses.field(init=False)
|
||||
deskew: bool = dataclasses.field(init=False)
|
||||
rotate: bool = dataclasses.field(init=False)
|
||||
rotate_threshold: float = dataclasses.field(init=False)
|
||||
max_image_pixel: Optional[float] = dataclasses.field(init=False)
|
||||
color_conversion_strategy: str = dataclasses.field(init=False)
|
||||
user_args: Optional[dict[str, str]] = dataclasses.field(init=False)
|
||||
|
||||
def __post_init__(self) -> None:
|
||||
super().__post_init__()
|
||||
|
||||
app_config = self._get_config_instance()
|
||||
|
||||
self.pages = app_config.pages or settings.OCR_PAGES
|
||||
self.language = app_config.language or settings.OCR_LANGUAGE
|
||||
self.mode = app_config.mode or settings.OCR_MODE
|
||||
self.skip_archive_file = (
|
||||
app_config.skip_archive_file or settings.OCR_SKIP_ARCHIVE_FILE
|
||||
)
|
||||
self.image_dpi = app_config.image_dpi or settings.OCR_IMAGE_DPI
|
||||
self.clean = app_config.unpaper_clean or settings.OCR_CLEAN
|
||||
self.deskew = app_config.deskew or settings.OCR_DESKEW
|
||||
self.rotate = app_config.rotate_pages or settings.OCR_ROTATE_PAGES
|
||||
self.rotate_threshold = (
|
||||
app_config.rotate_pages_threshold or settings.OCR_ROTATE_PAGES_THRESHOLD
|
||||
)
|
||||
self.max_image_pixel = (
|
||||
app_config.max_image_pixels or settings.OCR_MAX_IMAGE_PIXELS
|
||||
)
|
||||
self.color_conversion_strategy = (
|
||||
app_config.color_conversion_strategy
|
||||
or settings.OCR_COLOR_CONVERSION_STRATEGY
|
||||
)
|
||||
|
||||
user_args = None
|
||||
if app_config.user_args:
|
||||
user_args = app_config.user_args
|
||||
elif settings.OCR_USER_ARGS is not None: # pragma: no cover
|
||||
try:
|
||||
user_args = json.loads(settings.OCR_USER_ARGS)
|
||||
except json.JSONDecodeError:
|
||||
user_args = {}
|
||||
|
||||
self.user_args = user_args
|
||||
180
src/paperless/migrations/0001_initial.py
Normal file
180
src/paperless/migrations/0001_initial.py
Normal file
@@ -0,0 +1,180 @@
|
||||
# Generated by Django 4.2.7 on 2023-12-19 17:51
|
||||
|
||||
import django.core.validators
|
||||
from django.db import migrations
|
||||
from django.db import models
|
||||
|
||||
|
||||
def _create_singleton(apps, schema_editor):
|
||||
"""
|
||||
Creates the first and only instance of the configuration model
|
||||
"""
|
||||
settings_model = apps.get_model("paperless", "ApplicationConfiguration")
|
||||
settings_model.objects.create()
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
initial = True
|
||||
|
||||
dependencies = []
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name="ApplicationConfiguration",
|
||||
fields=[
|
||||
(
|
||||
"id",
|
||||
models.AutoField(
|
||||
auto_created=True,
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
verbose_name="ID",
|
||||
),
|
||||
),
|
||||
(
|
||||
"output_type",
|
||||
models.CharField(
|
||||
blank=True,
|
||||
choices=[
|
||||
("pdf", "pdf"),
|
||||
("pdfa", "pdfa"),
|
||||
("pdfa-1", "pdfa-1"),
|
||||
("pdfa-2", "pdfa-2"),
|
||||
("pdfa-3", "pdfa-3"),
|
||||
],
|
||||
max_length=8,
|
||||
null=True,
|
||||
verbose_name="Sets the output PDF type",
|
||||
),
|
||||
),
|
||||
(
|
||||
"pages",
|
||||
models.PositiveIntegerField(
|
||||
null=True,
|
||||
validators=[
|
||||
django.core.validators.MinValueValidator(1),
|
||||
],
|
||||
verbose_name="Do OCR from page 1 to this value",
|
||||
),
|
||||
),
|
||||
(
|
||||
"language",
|
||||
models.CharField(
|
||||
blank=True,
|
||||
max_length=32,
|
||||
null=True,
|
||||
verbose_name="Do OCR using these languages",
|
||||
),
|
||||
),
|
||||
(
|
||||
"mode",
|
||||
models.CharField(
|
||||
blank=True,
|
||||
choices=[
|
||||
("skip", "skip"),
|
||||
("redo", "redo"),
|
||||
("force", "force"),
|
||||
("skip_noarchive", "skip_noarchive"),
|
||||
],
|
||||
max_length=16,
|
||||
null=True,
|
||||
verbose_name="Sets the OCR mode",
|
||||
),
|
||||
),
|
||||
(
|
||||
"skip_archive_file",
|
||||
models.CharField(
|
||||
blank=True,
|
||||
choices=[
|
||||
("never", "never"),
|
||||
("with_text", "with_text"),
|
||||
("always", "always"),
|
||||
],
|
||||
max_length=16,
|
||||
null=True,
|
||||
verbose_name="Controls the generation of an archive file",
|
||||
),
|
||||
),
|
||||
(
|
||||
"image_dpi",
|
||||
models.PositiveIntegerField(
|
||||
null=True,
|
||||
validators=[
|
||||
django.core.validators.MinValueValidator(1),
|
||||
],
|
||||
verbose_name="Sets image DPI fallback value",
|
||||
),
|
||||
),
|
||||
(
|
||||
"unpaper_clean",
|
||||
models.CharField(
|
||||
blank=True,
|
||||
choices=[
|
||||
("clean", "clean"),
|
||||
("clean-final", "clean-final"),
|
||||
("none", "none"),
|
||||
],
|
||||
max_length=16,
|
||||
null=True,
|
||||
verbose_name="Controls the unpaper cleaning",
|
||||
),
|
||||
),
|
||||
(
|
||||
"deskew",
|
||||
models.BooleanField(null=True, verbose_name="Enables deskew"),
|
||||
),
|
||||
(
|
||||
"rotate_pages",
|
||||
models.BooleanField(
|
||||
null=True,
|
||||
verbose_name="Enables page rotation",
|
||||
),
|
||||
),
|
||||
(
|
||||
"rotate_pages_threshold",
|
||||
models.FloatField(
|
||||
null=True,
|
||||
validators=[django.core.validators.MinValueValidator(0.0)],
|
||||
verbose_name="Sets the threshold for rotation of pages",
|
||||
),
|
||||
),
|
||||
(
|
||||
"max_image_pixels",
|
||||
models.FloatField(
|
||||
null=True,
|
||||
validators=[
|
||||
django.core.validators.MinValueValidator(1000000.0),
|
||||
],
|
||||
verbose_name="Sets the maximum image size for decompression",
|
||||
),
|
||||
),
|
||||
(
|
||||
"color_conversion_strategy",
|
||||
models.CharField(
|
||||
blank=True,
|
||||
choices=[
|
||||
("LeaveColorUnchanged", "LeaveColorUnchanged"),
|
||||
("RGB", "RGB"),
|
||||
("UseDeviceIndependentColor", "UseDeviceIndependentColor"),
|
||||
("Gray", "Gray"),
|
||||
("CMYK", "CMYK"),
|
||||
],
|
||||
max_length=32,
|
||||
null=True,
|
||||
verbose_name="Sets the Ghostscript color conversion strategy",
|
||||
),
|
||||
),
|
||||
(
|
||||
"user_args",
|
||||
models.JSONField(
|
||||
null=True,
|
||||
verbose_name="Adds additional user arguments for OCRMyPDF",
|
||||
),
|
||||
),
|
||||
],
|
||||
options={
|
||||
"verbose_name": "paperless application settings",
|
||||
},
|
||||
),
|
||||
migrations.RunPython(_create_singleton, migrations.RunPython.noop),
|
||||
]
|
||||
0
src/paperless/migrations/__init__.py
Normal file
0
src/paperless/migrations/__init__.py
Normal file
173
src/paperless/models.py
Normal file
173
src/paperless/models.py
Normal file
@@ -0,0 +1,173 @@
|
||||
from django.core.validators import MinValueValidator
|
||||
from django.db import models
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
DEFAULT_SINGLETON_INSTANCE_ID = 1
|
||||
|
||||
|
||||
class AbstractSingletonModel(models.Model):
|
||||
class Meta:
|
||||
abstract = True
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
"""
|
||||
Always save as the first and only model
|
||||
"""
|
||||
self.pk = DEFAULT_SINGLETON_INSTANCE_ID
|
||||
super().save(*args, **kwargs)
|
||||
|
||||
|
||||
class OutputTypeChoices(models.TextChoices):
|
||||
"""
|
||||
Matches to --output-type
|
||||
"""
|
||||
|
||||
PDF = ("pdf", _("pdf"))
|
||||
PDF_A = ("pdfa", _("pdfa"))
|
||||
PDF_A1 = ("pdfa-1", _("pdfa-1"))
|
||||
PDF_A2 = ("pdfa-2", _("pdfa-2"))
|
||||
PDF_A3 = ("pdfa-3", _("pdfa-3"))
|
||||
|
||||
|
||||
class ModeChoices(models.TextChoices):
|
||||
"""
|
||||
Matches to --skip-text, --redo-ocr, --force-ocr
|
||||
and our own custom setting
|
||||
"""
|
||||
|
||||
SKIP = ("skip", _("skip"))
|
||||
REDO = ("redo", _("redo"))
|
||||
FORCE = ("force", _("force"))
|
||||
SKIP_NO_ARCHIVE = ("skip_noarchive", _("skip_noarchive"))
|
||||
|
||||
|
||||
class ArchiveFileChoices(models.TextChoices):
|
||||
"""
|
||||
Settings to control creation of an archive PDF file
|
||||
"""
|
||||
|
||||
NEVER = ("never", _("never"))
|
||||
WITH_TEXT = ("with_text", _("with_text"))
|
||||
ALWAYS = ("always", _("always"))
|
||||
|
||||
|
||||
class CleanChoices(models.TextChoices):
|
||||
"""
|
||||
Matches to --clean, --clean-final
|
||||
"""
|
||||
|
||||
CLEAN = ("clean", _("clean"))
|
||||
FINAL = ("clean-final", _("clean-final"))
|
||||
NONE = ("none", _("none"))
|
||||
|
||||
|
||||
class ColorConvertChoices(models.TextChoices):
|
||||
"""
|
||||
Refer to the Ghostscript documentation for valid options
|
||||
"""
|
||||
|
||||
UNCHANGED = ("LeaveColorUnchanged", _("LeaveColorUnchanged"))
|
||||
RGB = ("RGB", _("RGB"))
|
||||
INDEPENDENT = ("UseDeviceIndependentColor", _("UseDeviceIndependentColor"))
|
||||
GRAY = ("Gray", _("Gray"))
|
||||
CMYK = ("CMYK", _("CMYK"))
|
||||
|
||||
|
||||
class ApplicationConfiguration(AbstractSingletonModel):
|
||||
"""
|
||||
Settings which are common across more than 1 parser
|
||||
"""
|
||||
|
||||
output_type = models.CharField(
|
||||
verbose_name=_("Sets the output PDF type"),
|
||||
null=True,
|
||||
blank=True,
|
||||
max_length=8,
|
||||
choices=OutputTypeChoices.choices,
|
||||
)
|
||||
|
||||
"""
|
||||
Settings for the Tesseract based OCR parser
|
||||
"""
|
||||
|
||||
pages = models.PositiveIntegerField(
|
||||
verbose_name=_("Do OCR from page 1 to this value"),
|
||||
null=True,
|
||||
validators=[MinValueValidator(1)],
|
||||
)
|
||||
|
||||
language = models.CharField(
|
||||
verbose_name=_("Do OCR using these languages"),
|
||||
null=True,
|
||||
blank=True,
|
||||
max_length=32,
|
||||
)
|
||||
|
||||
mode = models.CharField(
|
||||
verbose_name=_("Sets the OCR mode"),
|
||||
null=True,
|
||||
blank=True,
|
||||
max_length=16,
|
||||
choices=ModeChoices.choices,
|
||||
)
|
||||
|
||||
skip_archive_file = models.CharField(
|
||||
verbose_name=_("Controls the generation of an archive file"),
|
||||
null=True,
|
||||
blank=True,
|
||||
max_length=16,
|
||||
choices=ArchiveFileChoices.choices,
|
||||
)
|
||||
|
||||
image_dpi = models.PositiveIntegerField(
|
||||
verbose_name=_("Sets image DPI fallback value"),
|
||||
null=True,
|
||||
validators=[MinValueValidator(1)],
|
||||
)
|
||||
|
||||
# Can't call it clean, that's a model method
|
||||
unpaper_clean = models.CharField(
|
||||
verbose_name=_("Controls the unpaper cleaning"),
|
||||
null=True,
|
||||
blank=True,
|
||||
max_length=16,
|
||||
choices=CleanChoices.choices,
|
||||
)
|
||||
|
||||
deskew = models.BooleanField(verbose_name=_("Enables deskew"), null=True)
|
||||
|
||||
rotate_pages = models.BooleanField(
|
||||
verbose_name=_("Enables page rotation"),
|
||||
null=True,
|
||||
)
|
||||
|
||||
rotate_pages_threshold = models.FloatField(
|
||||
verbose_name=_("Sets the threshold for rotation of pages"),
|
||||
null=True,
|
||||
validators=[MinValueValidator(0.0)],
|
||||
)
|
||||
|
||||
max_image_pixels = models.FloatField(
|
||||
verbose_name=_("Sets the maximum image size for decompression"),
|
||||
null=True,
|
||||
validators=[MinValueValidator(1_000_000.0)],
|
||||
)
|
||||
|
||||
color_conversion_strategy = models.CharField(
|
||||
verbose_name=_("Sets the Ghostscript color conversion strategy"),
|
||||
blank=True,
|
||||
null=True,
|
||||
max_length=32,
|
||||
choices=ColorConvertChoices.choices,
|
||||
)
|
||||
|
||||
user_args = models.JSONField(
|
||||
verbose_name=_("Adds additional user arguments for OCRMyPDF"),
|
||||
null=True,
|
||||
)
|
||||
|
||||
class Meta:
|
||||
verbose_name = _("paperless application settings")
|
||||
|
||||
def __str__(self) -> str: # pragma: no cover
|
||||
return "ApplicationConfiguration"
|
||||
@@ -3,6 +3,8 @@ from django.contrib.auth.models import Permission
|
||||
from django.contrib.auth.models import User
|
||||
from rest_framework import serializers
|
||||
|
||||
from paperless.models import ApplicationConfiguration
|
||||
|
||||
|
||||
class ObfuscatedUserPasswordField(serializers.Field):
|
||||
"""
|
||||
@@ -113,3 +115,9 @@ class ProfileSerializer(serializers.ModelSerializer):
|
||||
"last_name",
|
||||
"auth_token",
|
||||
)
|
||||
|
||||
|
||||
class ApplicationConfigurationSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = ApplicationConfiguration
|
||||
fields = "__all__"
|
||||
|
||||
@@ -57,6 +57,15 @@ def __get_int(key: str, default: int) -> int:
|
||||
return int(os.getenv(key, default))
|
||||
|
||||
|
||||
def __get_optional_int(key: str) -> Optional[int]:
|
||||
"""
|
||||
Returns None if the environment key is not present, otherwise an integer
|
||||
"""
|
||||
if key in os.environ:
|
||||
return __get_int(key, -1) # pragma: no cover
|
||||
return None
|
||||
|
||||
|
||||
def __get_float(key: str, default: float) -> float:
|
||||
"""
|
||||
Return an integer value based on the environment variable or a default
|
||||
@@ -66,18 +75,24 @@ def __get_float(key: str, default: float) -> float:
|
||||
|
||||
def __get_path(
|
||||
key: str,
|
||||
default: Optional[Union[PathLike, str]] = None,
|
||||
) -> Optional[Path]:
|
||||
default: Union[PathLike, str],
|
||||
) -> Path:
|
||||
"""
|
||||
Return a normalized, absolute path based on the environment variable or a default,
|
||||
if provided. If not set and no default, returns None
|
||||
if provided
|
||||
"""
|
||||
if key in os.environ:
|
||||
return Path(os.environ[key]).resolve()
|
||||
elif default is not None:
|
||||
return Path(default).resolve()
|
||||
else:
|
||||
return None
|
||||
return Path(default).resolve()
|
||||
|
||||
|
||||
def __get_optional_path(key: str) -> Optional[Path]:
|
||||
"""
|
||||
Returns None if the environment key is not present, otherwise a fully resolved Path
|
||||
"""
|
||||
if key in os.environ:
|
||||
return __get_path(key, "")
|
||||
return None
|
||||
|
||||
|
||||
def __get_list(
|
||||
@@ -304,7 +319,7 @@ REST_FRAMEWORK = {
|
||||
"DEFAULT_VERSION": "1",
|
||||
# Make sure these are ordered and that the most recent version appears
|
||||
# last
|
||||
"ALLOWED_VERSIONS": ["1", "2", "3"],
|
||||
"ALLOWED_VERSIONS": ["1", "2", "3", "4"],
|
||||
}
|
||||
|
||||
if DEBUG:
|
||||
@@ -327,7 +342,7 @@ MIDDLEWARE = [
|
||||
]
|
||||
|
||||
# Optional to enable compression
|
||||
if __get_boolean("PAPERLESS_ENABLE_COMPRESSION", "yes"): # pragma: nocover
|
||||
if __get_boolean("PAPERLESS_ENABLE_COMPRESSION", "yes"): # pragma: no cover
|
||||
MIDDLEWARE.insert(0, "compression_middleware.middleware.CompressionMiddleware")
|
||||
|
||||
ROOT_URLCONF = "paperless.urls"
|
||||
@@ -495,7 +510,7 @@ CSRF_COOKIE_NAME = f"{COOKIE_PREFIX}csrftoken"
|
||||
SESSION_COOKIE_NAME = f"{COOKIE_PREFIX}sessionid"
|
||||
LANGUAGE_COOKIE_NAME = f"{COOKIE_PREFIX}django_language"
|
||||
|
||||
EMAIL_CERTIFICATE_FILE = __get_path("PAPERLESS_EMAIL_CERTIFICATE_LOCATION")
|
||||
EMAIL_CERTIFICATE_FILE = __get_optional_path("PAPERLESS_EMAIL_CERTIFICATE_LOCATION")
|
||||
|
||||
|
||||
###############################################################################
|
||||
@@ -796,11 +811,10 @@ CONSUMER_BARCODE_STRING: Final[str] = os.getenv(
|
||||
"PATCHT",
|
||||
)
|
||||
|
||||
consumer_barcode_scanner_tmp: Final[str] = os.getenv(
|
||||
CONSUMER_BARCODE_SCANNER: Final[str] = os.getenv(
|
||||
"PAPERLESS_CONSUMER_BARCODE_SCANNER",
|
||||
"PYZBAR",
|
||||
)
|
||||
CONSUMER_BARCODE_SCANNER = consumer_barcode_scanner_tmp.upper()
|
||||
).upper()
|
||||
|
||||
CONSUMER_ENABLE_ASN_BARCODE: Final[bool] = __get_boolean(
|
||||
"PAPERLESS_CONSUMER_ENABLE_ASN_BARCODE",
|
||||
@@ -811,15 +825,12 @@ CONSUMER_ASN_BARCODE_PREFIX: Final[str] = os.getenv(
|
||||
"ASN",
|
||||
)
|
||||
|
||||
|
||||
CONSUMER_BARCODE_UPSCALE: Final[float] = float(
|
||||
os.getenv("PAPERLESS_CONSUMER_BARCODE_UPSCALE", 0.0),
|
||||
CONSUMER_BARCODE_UPSCALE: Final[float] = __get_float(
|
||||
"PAPERLESS_CONSUMER_BARCODE_UPSCALE",
|
||||
0.0,
|
||||
)
|
||||
|
||||
|
||||
CONSUMER_BARCODE_DPI: Final[str] = int(
|
||||
os.getenv("PAPERLESS_CONSUMER_BARCODE_DPI", 300),
|
||||
)
|
||||
CONSUMER_BARCODE_DPI: Final[int] = __get_int("PAPERLESS_CONSUMER_BARCODE_DPI", 300)
|
||||
|
||||
CONSUMER_ENABLE_COLLATE_DOUBLE_SIDED: Final[bool] = __get_boolean(
|
||||
"PAPERLESS_CONSUMER_ENABLE_COLLATE_DOUBLE_SIDED",
|
||||
@@ -834,7 +845,7 @@ CONSUMER_COLLATE_DOUBLE_SIDED_TIFF_SUPPORT: Final[bool] = __get_boolean(
|
||||
"PAPERLESS_CONSUMER_COLLATE_DOUBLE_SIDED_TIFF_SUPPORT",
|
||||
)
|
||||
|
||||
OCR_PAGES = int(os.getenv("PAPERLESS_OCR_PAGES", 0))
|
||||
OCR_PAGES = __get_optional_int("PAPERLESS_OCR_PAGES")
|
||||
|
||||
# The default language that tesseract will attempt to use when parsing
|
||||
# documents. It should be a 3-letter language code consistent with ISO 639.
|
||||
@@ -848,28 +859,29 @@ OCR_MODE = os.getenv("PAPERLESS_OCR_MODE", "skip")
|
||||
|
||||
OCR_SKIP_ARCHIVE_FILE = os.getenv("PAPERLESS_OCR_SKIP_ARCHIVE_FILE", "never")
|
||||
|
||||
OCR_IMAGE_DPI = os.getenv("PAPERLESS_OCR_IMAGE_DPI")
|
||||
OCR_IMAGE_DPI = __get_optional_int("PAPERLESS_OCR_IMAGE_DPI")
|
||||
|
||||
OCR_CLEAN = os.getenv("PAPERLESS_OCR_CLEAN", "clean")
|
||||
|
||||
OCR_DESKEW = __get_boolean("PAPERLESS_OCR_DESKEW", "true")
|
||||
OCR_DESKEW: Final[bool] = __get_boolean("PAPERLESS_OCR_DESKEW", "true")
|
||||
|
||||
OCR_ROTATE_PAGES = __get_boolean("PAPERLESS_OCR_ROTATE_PAGES", "true")
|
||||
OCR_ROTATE_PAGES: Final[bool] = __get_boolean("PAPERLESS_OCR_ROTATE_PAGES", "true")
|
||||
|
||||
OCR_ROTATE_PAGES_THRESHOLD = float(
|
||||
os.getenv("PAPERLESS_OCR_ROTATE_PAGES_THRESHOLD", 12.0),
|
||||
OCR_ROTATE_PAGES_THRESHOLD: Final[float] = __get_float(
|
||||
"PAPERLESS_OCR_ROTATE_PAGES_THRESHOLD",
|
||||
12.0,
|
||||
)
|
||||
|
||||
OCR_MAX_IMAGE_PIXELS: Optional[int] = None
|
||||
if os.environ.get("PAPERLESS_OCR_MAX_IMAGE_PIXELS") is not None:
|
||||
OCR_MAX_IMAGE_PIXELS: int = int(os.environ.get("PAPERLESS_OCR_MAX_IMAGE_PIXELS"))
|
||||
OCR_MAX_IMAGE_PIXELS: Final[Optional[int]] = __get_optional_int(
|
||||
"PAPERLESS_OCR_MAX_IMAGE_PIXELS",
|
||||
)
|
||||
|
||||
OCR_COLOR_CONVERSION_STRATEGY = os.getenv(
|
||||
"PAPERLESS_OCR_COLOR_CONVERSION_STRATEGY",
|
||||
"RGB",
|
||||
)
|
||||
|
||||
OCR_USER_ARGS = os.getenv("PAPERLESS_OCR_USER_ARGS", "{}")
|
||||
OCR_USER_ARGS = os.getenv("PAPERLESS_OCR_USER_ARGS")
|
||||
|
||||
# GNUPG needs a home directory for some reason
|
||||
GNUPG_HOME = os.getenv("HOME", "/tmp")
|
||||
|
||||
@@ -15,7 +15,6 @@ from documents.views import AcknowledgeTasksView
|
||||
from documents.views import BulkDownloadView
|
||||
from documents.views import BulkEditObjectPermissionsView
|
||||
from documents.views import BulkEditView
|
||||
from documents.views import ConsumptionTemplateViewSet
|
||||
from documents.views import CorrespondentViewSet
|
||||
from documents.views import CustomFieldViewSet
|
||||
from documents.views import DocumentTypeViewSet
|
||||
@@ -34,7 +33,11 @@ from documents.views import TagViewSet
|
||||
from documents.views import TasksViewSet
|
||||
from documents.views import UiSettingsView
|
||||
from documents.views import UnifiedSearchViewSet
|
||||
from documents.views import WorkflowActionViewSet
|
||||
from documents.views import WorkflowTriggerViewSet
|
||||
from documents.views import WorkflowViewSet
|
||||
from paperless.consumers import StatusConsumer
|
||||
from paperless.views import ApplicationConfigurationViewSet
|
||||
from paperless.views import FaviconView
|
||||
from paperless.views import GenerateAuthTokenView
|
||||
from paperless.views import GroupViewSet
|
||||
@@ -58,8 +61,11 @@ api_router.register(r"groups", GroupViewSet, basename="groups")
|
||||
api_router.register(r"mail_accounts", MailAccountViewSet)
|
||||
api_router.register(r"mail_rules", MailRuleViewSet)
|
||||
api_router.register(r"share_links", ShareLinkViewSet)
|
||||
api_router.register(r"consumption_templates", ConsumptionTemplateViewSet)
|
||||
api_router.register(r"workflow_triggers", WorkflowTriggerViewSet)
|
||||
api_router.register(r"workflow_actions", WorkflowActionViewSet)
|
||||
api_router.register(r"workflows", WorkflowViewSet)
|
||||
api_router.register(r"custom_fields", CustomFieldViewSet)
|
||||
api_router.register(r"config", ApplicationConfigurationViewSet)
|
||||
|
||||
|
||||
urlpatterns = [
|
||||
|
||||
@@ -18,6 +18,8 @@ from rest_framework.viewsets import ModelViewSet
|
||||
from documents.permissions import PaperlessObjectPermissions
|
||||
from paperless.filters import GroupFilterSet
|
||||
from paperless.filters import UserFilterSet
|
||||
from paperless.models import ApplicationConfiguration
|
||||
from paperless.serialisers import ApplicationConfigurationSerializer
|
||||
from paperless.serialisers import GroupSerializer
|
||||
from paperless.serialisers import ProfileSerializer
|
||||
from paperless.serialisers import UserSerializer
|
||||
@@ -54,11 +56,7 @@ class StandardPagination(PageNumberPagination):
|
||||
except Exception:
|
||||
pass
|
||||
else:
|
||||
for obj in self.page.paginator.object_list:
|
||||
if hasattr(obj, "id"):
|
||||
ids.append(obj.id)
|
||||
elif hasattr(obj, "fields"):
|
||||
ids.append(obj.fields()["id"])
|
||||
ids = self.page.paginator.object_list.values_list("pk", flat=True)
|
||||
return ids
|
||||
|
||||
def get_paginated_response_schema(self, schema):
|
||||
@@ -71,7 +69,7 @@ class StandardPagination(PageNumberPagination):
|
||||
|
||||
|
||||
class FaviconView(View):
|
||||
def get(self, request, *args, **kwargs): # pragma: nocover
|
||||
def get(self, request, *args, **kwargs): # pragma: no cover
|
||||
favicon = os.path.join(
|
||||
os.path.dirname(__file__),
|
||||
"static",
|
||||
@@ -160,3 +158,12 @@ class GenerateAuthTokenView(GenericAPIView):
|
||||
return Response(
|
||||
token.key,
|
||||
)
|
||||
|
||||
|
||||
class ApplicationConfigurationViewSet(ModelViewSet):
|
||||
model = ApplicationConfiguration
|
||||
|
||||
queryset = ApplicationConfiguration.objects
|
||||
|
||||
serializer_class = ApplicationConfigurationSerializer
|
||||
permission_classes = (IsAuthenticated,)
|
||||
|
||||
@@ -92,7 +92,7 @@ class BaseMailAction:
|
||||
M: MailBox,
|
||||
message_uid: str,
|
||||
parameter: str,
|
||||
): # pragma: nocover
|
||||
): # pragma: no cover
|
||||
"""
|
||||
Perform mail action on the given mail uid in the mailbox.
|
||||
"""
|
||||
@@ -171,7 +171,7 @@ class TagMailAction(BaseMailAction):
|
||||
return AND(NOT(gmail_label=self.keyword), no_keyword=self.keyword)
|
||||
else:
|
||||
return {"no_keyword": self.keyword}
|
||||
else: # pragma: nocover
|
||||
else: # pragma: no cover
|
||||
raise ValueError("This should never happen.")
|
||||
|
||||
def post_consume(self, M: MailBox, message_uid: str, parameter: str):
|
||||
@@ -361,7 +361,7 @@ def get_rule_action(rule: MailRule, supports_gmail_labels: bool) -> BaseMailActi
|
||||
elif rule.action == MailRule.MailAction.TAG:
|
||||
return TagMailAction(rule.action_parameter, supports_gmail_labels)
|
||||
else:
|
||||
raise NotImplementedError("Unknown action.") # pragma: nocover
|
||||
raise NotImplementedError("Unknown action.") # pragma: no cover
|
||||
|
||||
|
||||
def make_criterias(rule: MailRule, supports_gmail_labels: bool):
|
||||
@@ -397,7 +397,7 @@ def get_mailbox(server, port, security) -> MailBox:
|
||||
Returns the correct MailBox instance for the given configuration.
|
||||
"""
|
||||
ssl_context = ssl.create_default_context()
|
||||
if settings.EMAIL_CERTIFICATE_FILE is not None: # pragma: nocover
|
||||
if settings.EMAIL_CERTIFICATE_FILE is not None: # pragma: no cover
|
||||
ssl_context.load_verify_locations(cafile=settings.EMAIL_CERTIFICATE_FILE)
|
||||
|
||||
if security == MailAccount.ImapSecurity.NONE:
|
||||
@@ -407,7 +407,7 @@ def get_mailbox(server, port, security) -> MailBox:
|
||||
elif security == MailAccount.ImapSecurity.SSL:
|
||||
mailbox = MailBox(server, port, ssl_context=ssl_context)
|
||||
else:
|
||||
raise NotImplementedError("Unknown IMAP security") # pragma: nocover
|
||||
raise NotImplementedError("Unknown IMAP security") # pragma: no cover
|
||||
return mailbox
|
||||
|
||||
|
||||
@@ -450,7 +450,7 @@ class MailAccountHandler(LoggingMixin):
|
||||
else:
|
||||
raise NotImplementedError(
|
||||
"Unknown title selector.",
|
||||
) # pragma: nocover
|
||||
) # pragma: no cover
|
||||
|
||||
def _get_correspondent(
|
||||
self,
|
||||
@@ -478,7 +478,7 @@ class MailAccountHandler(LoggingMixin):
|
||||
else:
|
||||
raise NotImplementedError(
|
||||
"Unknown correspondent selector",
|
||||
) # pragma: nocover
|
||||
) # pragma: no cover
|
||||
|
||||
def handle_mail_account(self, account: MailAccount):
|
||||
"""
|
||||
@@ -569,6 +569,7 @@ class MailAccountHandler(LoggingMixin):
|
||||
criteria=criterias,
|
||||
mark_seen=False,
|
||||
charset=rule.account.character_set,
|
||||
bulk=True,
|
||||
)
|
||||
except Exception as err:
|
||||
raise MailError(
|
||||
|
||||
@@ -405,3 +405,9 @@ class MailDocumentParser(DocumentParser):
|
||||
html_pdf = tempdir / "html.pdf"
|
||||
html_pdf.write_bytes(response.content)
|
||||
return html_pdf
|
||||
|
||||
def get_settings(self):
|
||||
"""
|
||||
This parser does not implement additional settings yet
|
||||
"""
|
||||
return None
|
||||
|
||||
@@ -118,7 +118,7 @@ class BogusMailBox(AbstractContextManager):
|
||||
if username != self.USERNAME or access_token != self.ACCESS_TOKEN:
|
||||
raise MailboxLoginError("BAD", "OK")
|
||||
|
||||
def fetch(self, criteria, mark_seen, charset=""):
|
||||
def fetch(self, criteria, mark_seen, charset="", bulk=True):
|
||||
msg = self.messages
|
||||
|
||||
criteria = str(criteria).strip("()").split(" ")
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import json
|
||||
import os
|
||||
import re
|
||||
import subprocess
|
||||
import tempfile
|
||||
from pathlib import Path
|
||||
from typing import TYPE_CHECKING
|
||||
from typing import Optional
|
||||
|
||||
from django.conf import settings
|
||||
@@ -12,6 +12,10 @@ from PIL import Image
|
||||
from documents.parsers import DocumentParser
|
||||
from documents.parsers import ParseError
|
||||
from documents.parsers import make_thumbnail_from_pdf
|
||||
from paperless.config import OcrConfig
|
||||
from paperless.models import ArchiveFileChoices
|
||||
from paperless.models import CleanChoices
|
||||
from paperless.models import ModeChoices
|
||||
|
||||
|
||||
class NoTextFoundException(Exception):
|
||||
@@ -30,6 +34,12 @@ class RasterisedDocumentParser(DocumentParser):
|
||||
|
||||
logging_name = "paperless.parsing.tesseract"
|
||||
|
||||
def get_settings(self) -> OcrConfig:
|
||||
"""
|
||||
This parser uses the OCR configuration settings to parse documents
|
||||
"""
|
||||
return OcrConfig()
|
||||
|
||||
def extract_metadata(self, document_path, mime_type):
|
||||
result = []
|
||||
if mime_type == "application/pdf":
|
||||
@@ -66,7 +76,7 @@ class RasterisedDocumentParser(DocumentParser):
|
||||
self.logging_group,
|
||||
)
|
||||
|
||||
def is_image(self, mime_type):
|
||||
def is_image(self, mime_type) -> bool:
|
||||
return mime_type in [
|
||||
"image/png",
|
||||
"image/jpeg",
|
||||
@@ -76,22 +86,24 @@ class RasterisedDocumentParser(DocumentParser):
|
||||
"image/webp",
|
||||
]
|
||||
|
||||
def has_alpha(self, image):
|
||||
def has_alpha(self, image) -> bool:
|
||||
with Image.open(image) as im:
|
||||
return im.mode in ("RGBA", "LA")
|
||||
|
||||
def remove_alpha(self, image_path: str):
|
||||
def remove_alpha(self, image_path: str) -> Path:
|
||||
no_alpha_image = Path(self.tempdir) / "image-no-alpha"
|
||||
subprocess.run(
|
||||
[
|
||||
settings.CONVERT_BINARY,
|
||||
"-alpha",
|
||||
"off",
|
||||
image_path,
|
||||
image_path,
|
||||
no_alpha_image,
|
||||
],
|
||||
)
|
||||
return no_alpha_image
|
||||
|
||||
def get_dpi(self, image):
|
||||
def get_dpi(self, image) -> Optional[int]:
|
||||
try:
|
||||
with Image.open(image) as im:
|
||||
x, y = im.info["dpi"]
|
||||
@@ -100,7 +112,7 @@ class RasterisedDocumentParser(DocumentParser):
|
||||
self.log.warning(f"Error while getting DPI from image {image}: {e}")
|
||||
return None
|
||||
|
||||
def calculate_a4_dpi(self, image):
|
||||
def calculate_a4_dpi(self, image) -> Optional[int]:
|
||||
try:
|
||||
with Image.open(image) as im:
|
||||
width, height = im.size
|
||||
@@ -113,13 +125,17 @@ class RasterisedDocumentParser(DocumentParser):
|
||||
self.log.warning(f"Error while calculating DPI for image {image}: {e}")
|
||||
return None
|
||||
|
||||
def extract_text(self, sidecar_file: Optional[Path], pdf_file: Path):
|
||||
def extract_text(
|
||||
self,
|
||||
sidecar_file: Optional[Path],
|
||||
pdf_file: Path,
|
||||
) -> Optional[str]:
|
||||
# When re-doing OCR, the sidecar contains ONLY the new text, not
|
||||
# the whole text, so do not utilize it in that case
|
||||
if (
|
||||
sidecar_file is not None
|
||||
and os.path.isfile(sidecar_file)
|
||||
and settings.OCR_MODE != "redo"
|
||||
and self.settings.mode != "redo"
|
||||
):
|
||||
text = self.read_file_handle_unicode_errors(sidecar_file)
|
||||
|
||||
@@ -174,6 +190,8 @@ class RasterisedDocumentParser(DocumentParser):
|
||||
sidecar_file,
|
||||
safe_fallback=False,
|
||||
):
|
||||
if TYPE_CHECKING:
|
||||
assert isinstance(self.settings, OcrConfig)
|
||||
ocrmypdf_args = {
|
||||
"input_file": input_file,
|
||||
"output_file": output_file,
|
||||
@@ -181,46 +199,47 @@ class RasterisedDocumentParser(DocumentParser):
|
||||
# processes via the task library.
|
||||
"use_threads": True,
|
||||
"jobs": settings.THREADS_PER_WORKER,
|
||||
"language": settings.OCR_LANGUAGE,
|
||||
"output_type": settings.OCR_OUTPUT_TYPE,
|
||||
"language": self.settings.language,
|
||||
"output_type": self.settings.output_type,
|
||||
"progress_bar": False,
|
||||
}
|
||||
|
||||
if "pdfa" in ocrmypdf_args["output_type"]:
|
||||
ocrmypdf_args[
|
||||
"color_conversion_strategy"
|
||||
] = settings.OCR_COLOR_CONVERSION_STRATEGY
|
||||
] = self.settings.color_conversion_strategy
|
||||
|
||||
if settings.OCR_MODE == "force" or safe_fallback:
|
||||
if self.settings.mode == ModeChoices.FORCE or safe_fallback:
|
||||
ocrmypdf_args["force_ocr"] = True
|
||||
elif settings.OCR_MODE in ["skip", "skip_noarchive"]:
|
||||
elif self.settings.mode in {
|
||||
ModeChoices.SKIP,
|
||||
ModeChoices.SKIP_NO_ARCHIVE,
|
||||
}:
|
||||
ocrmypdf_args["skip_text"] = True
|
||||
elif settings.OCR_MODE == "redo":
|
||||
elif self.settings.mode == ModeChoices.REDO:
|
||||
ocrmypdf_args["redo_ocr"] = True
|
||||
else:
|
||||
raise ParseError(f"Invalid ocr mode: {settings.OCR_MODE}")
|
||||
else: # pragma: no cover
|
||||
raise ParseError(f"Invalid ocr mode: {self.settings.mode}")
|
||||
|
||||
if settings.OCR_CLEAN == "clean":
|
||||
if self.settings.clean == CleanChoices.CLEAN:
|
||||
ocrmypdf_args["clean"] = True
|
||||
elif settings.OCR_CLEAN == "clean-final":
|
||||
if settings.OCR_MODE == "redo":
|
||||
elif self.settings.clean == CleanChoices.FINAL:
|
||||
if self.settings.mode == ModeChoices.REDO:
|
||||
ocrmypdf_args["clean"] = True
|
||||
else:
|
||||
# --clean-final is not compatible with --redo-ocr
|
||||
ocrmypdf_args["clean_final"] = True
|
||||
|
||||
if settings.OCR_DESKEW and settings.OCR_MODE != "redo":
|
||||
if self.settings.deskew and self.settings.mode != ModeChoices.REDO:
|
||||
# --deskew is not compatible with --redo-ocr
|
||||
ocrmypdf_args["deskew"] = True
|
||||
|
||||
if settings.OCR_ROTATE_PAGES:
|
||||
if self.settings.rotate:
|
||||
ocrmypdf_args["rotate_pages"] = True
|
||||
ocrmypdf_args[
|
||||
"rotate_pages_threshold"
|
||||
] = settings.OCR_ROTATE_PAGES_THRESHOLD
|
||||
ocrmypdf_args["rotate_pages_threshold"] = self.settings.rotate_threshold
|
||||
|
||||
if settings.OCR_PAGES > 0:
|
||||
ocrmypdf_args["pages"] = f"1-{settings.OCR_PAGES}"
|
||||
if self.settings.pages is not None:
|
||||
ocrmypdf_args["pages"] = f"1-{self.settings.pages}"
|
||||
else:
|
||||
# sidecar is incompatible with pages
|
||||
ocrmypdf_args["sidecar"] = sidecar_file
|
||||
@@ -234,13 +253,14 @@ class RasterisedDocumentParser(DocumentParser):
|
||||
f"Removing alpha layer from {input_file} "
|
||||
"for compatibility with img2pdf",
|
||||
)
|
||||
self.remove_alpha(input_file)
|
||||
# Replace the input file with the non-alpha
|
||||
ocrmypdf_args["input_file"] = self.remove_alpha(input_file)
|
||||
|
||||
if dpi:
|
||||
self.log.debug(f"Detected DPI for image {input_file}: {dpi}")
|
||||
ocrmypdf_args["image_dpi"] = dpi
|
||||
elif settings.OCR_IMAGE_DPI:
|
||||
ocrmypdf_args["image_dpi"] = settings.OCR_IMAGE_DPI
|
||||
elif self.settings.image_dpi is not None:
|
||||
ocrmypdf_args["image_dpi"] = self.settings.image_dpi
|
||||
elif a4_dpi:
|
||||
ocrmypdf_args["image_dpi"] = a4_dpi
|
||||
else:
|
||||
@@ -254,19 +274,18 @@ class RasterisedDocumentParser(DocumentParser):
|
||||
f"Image DPI of {ocrmypdf_args['image_dpi']} is low, OCR may fail",
|
||||
)
|
||||
|
||||
if settings.OCR_USER_ARGS:
|
||||
if self.settings.user_args is not None:
|
||||
try:
|
||||
user_args = json.loads(settings.OCR_USER_ARGS)
|
||||
ocrmypdf_args = {**ocrmypdf_args, **user_args}
|
||||
ocrmypdf_args = {**ocrmypdf_args, **self.settings.user_args}
|
||||
except Exception as e:
|
||||
self.log.warning(
|
||||
f"There is an issue with PAPERLESS_OCR_USER_ARGS, so "
|
||||
f"they will not be used. Error: {e}",
|
||||
)
|
||||
|
||||
if settings.OCR_MAX_IMAGE_PIXELS is not None:
|
||||
if self.settings.max_image_pixel is not None:
|
||||
# Convert pixels to mega-pixels and provide to ocrmypdf
|
||||
max_pixels_mpixels = settings.OCR_MAX_IMAGE_PIXELS / 1_000_000.0
|
||||
max_pixels_mpixels = self.settings.max_image_pixel / 1_000_000.0
|
||||
if max_pixels_mpixels > 0:
|
||||
self.log.debug(
|
||||
f"Calculated {max_pixels_mpixels} megapixels for OCR",
|
||||
@@ -298,8 +317,12 @@ class RasterisedDocumentParser(DocumentParser):
|
||||
# If the original has text, and the user doesn't want an archive,
|
||||
# we're done here
|
||||
skip_archive_for_text = (
|
||||
settings.OCR_MODE == "skip_noarchive"
|
||||
or settings.OCR_SKIP_ARCHIVE_FILE in ["with_text", "always"]
|
||||
self.settings.mode == ModeChoices.SKIP_NO_ARCHIVE
|
||||
or self.settings.skip_archive_file
|
||||
in {
|
||||
ArchiveFileChoices.WITH_TEXT,
|
||||
ArchiveFileChoices.ALWAYS,
|
||||
}
|
||||
)
|
||||
if skip_archive_for_text and original_has_text:
|
||||
self.log.debug("Document has text, skipping OCRmyPDF entirely.")
|
||||
@@ -329,7 +352,7 @@ class RasterisedDocumentParser(DocumentParser):
|
||||
self.log.debug(f"Calling OCRmyPDF with args: {args}")
|
||||
ocrmypdf.ocr(**args)
|
||||
|
||||
if settings.OCR_SKIP_ARCHIVE_FILE != "always":
|
||||
if self.settings.skip_archive_file != ArchiveFileChoices.ALWAYS:
|
||||
self.archive_path = archive_path
|
||||
|
||||
self.text = self.extract_text(sidecar_file, archive_path)
|
||||
|
||||
@@ -2,7 +2,6 @@ import os
|
||||
import shutil
|
||||
import tempfile
|
||||
import uuid
|
||||
from contextlib import AbstractContextManager
|
||||
from pathlib import Path
|
||||
from unittest import mock
|
||||
|
||||
@@ -17,28 +16,6 @@ from documents.tests.utils import FileSystemAssertsMixin
|
||||
from paperless_tesseract.parsers import RasterisedDocumentParser
|
||||
from paperless_tesseract.parsers import post_process_text
|
||||
|
||||
image_to_string_calls = []
|
||||
|
||||
|
||||
def fake_convert(input_file, output_file, **kwargs):
|
||||
with open(input_file) as f:
|
||||
lines = f.readlines()
|
||||
|
||||
for i, line in enumerate(lines):
|
||||
with open(output_file % i, "w") as f2:
|
||||
f2.write(line.strip())
|
||||
|
||||
|
||||
class FakeImageFile(AbstractContextManager):
|
||||
def __init__(self, fname):
|
||||
self.fname = fname
|
||||
|
||||
def __exit__(self, exc_type, exc_val, exc_tb):
|
||||
pass
|
||||
|
||||
def __enter__(self):
|
||||
return os.path.basename(self.fname)
|
||||
|
||||
|
||||
class TestParser(DirectoriesMixin, FileSystemAssertsMixin, TestCase):
|
||||
SAMPLE_FILES = Path(__file__).resolve().parent / "samples"
|
||||
@@ -769,43 +746,52 @@ class TestParser(DirectoriesMixin, FileSystemAssertsMixin, TestCase):
|
||||
self.assertEqual(params["sidecar"], "sidecar.txt")
|
||||
|
||||
with override_settings(OCR_CLEAN="none"):
|
||||
parser = RasterisedDocumentParser(None)
|
||||
params = parser.construct_ocrmypdf_parameters("", "", "", "")
|
||||
self.assertNotIn("clean", params)
|
||||
self.assertNotIn("clean_final", params)
|
||||
|
||||
with override_settings(OCR_CLEAN="clean"):
|
||||
parser = RasterisedDocumentParser(None)
|
||||
params = parser.construct_ocrmypdf_parameters("", "", "", "")
|
||||
self.assertTrue(params["clean"])
|
||||
self.assertNotIn("clean_final", params)
|
||||
|
||||
with override_settings(OCR_CLEAN="clean-final", OCR_MODE="skip"):
|
||||
parser = RasterisedDocumentParser(None)
|
||||
params = parser.construct_ocrmypdf_parameters("", "", "", "")
|
||||
self.assertTrue(params["clean_final"])
|
||||
self.assertNotIn("clean", params)
|
||||
|
||||
with override_settings(OCR_CLEAN="clean-final", OCR_MODE="redo"):
|
||||
parser = RasterisedDocumentParser(None)
|
||||
params = parser.construct_ocrmypdf_parameters("", "", "", "")
|
||||
self.assertTrue(params["clean"])
|
||||
self.assertNotIn("clean_final", params)
|
||||
|
||||
with override_settings(OCR_DESKEW=True, OCR_MODE="skip"):
|
||||
parser = RasterisedDocumentParser(None)
|
||||
params = parser.construct_ocrmypdf_parameters("", "", "", "")
|
||||
self.assertTrue(params["deskew"])
|
||||
|
||||
with override_settings(OCR_DESKEW=True, OCR_MODE="redo"):
|
||||
parser = RasterisedDocumentParser(None)
|
||||
params = parser.construct_ocrmypdf_parameters("", "", "", "")
|
||||
self.assertNotIn("deskew", params)
|
||||
|
||||
with override_settings(OCR_DESKEW=False, OCR_MODE="skip"):
|
||||
parser = RasterisedDocumentParser(None)
|
||||
params = parser.construct_ocrmypdf_parameters("", "", "", "")
|
||||
self.assertNotIn("deskew", params)
|
||||
|
||||
with override_settings(OCR_MAX_IMAGE_PIXELS=1_000_001.0):
|
||||
parser = RasterisedDocumentParser(None)
|
||||
params = parser.construct_ocrmypdf_parameters("", "", "", "")
|
||||
self.assertIn("max_image_mpixels", params)
|
||||
self.assertAlmostEqual(params["max_image_mpixels"], 1, places=4)
|
||||
|
||||
with override_settings(OCR_MAX_IMAGE_PIXELS=-1_000_001.0):
|
||||
parser = RasterisedDocumentParser(None)
|
||||
params = parser.construct_ocrmypdf_parameters("", "", "", "")
|
||||
self.assertNotIn("max_image_mpixels", params)
|
||||
|
||||
|
||||
232
src/paperless_tesseract/tests/test_parser_custom_settings.py
Normal file
232
src/paperless_tesseract/tests/test_parser_custom_settings.py
Normal file
@@ -0,0 +1,232 @@
|
||||
import json
|
||||
|
||||
from django.test import TestCase
|
||||
from django.test import override_settings
|
||||
|
||||
from documents.tests.utils import DirectoriesMixin
|
||||
from documents.tests.utils import FileSystemAssertsMixin
|
||||
from paperless.models import ApplicationConfiguration
|
||||
from paperless.models import CleanChoices
|
||||
from paperless.models import ColorConvertChoices
|
||||
from paperless.models import ModeChoices
|
||||
from paperless.models import OutputTypeChoices
|
||||
from paperless_tesseract.parsers import RasterisedDocumentParser
|
||||
|
||||
|
||||
class TestParserSettingsFromDb(DirectoriesMixin, FileSystemAssertsMixin, TestCase):
|
||||
@staticmethod
|
||||
def get_params():
|
||||
"""
|
||||
Helper to get just the OCRMyPDF parameters from the parser
|
||||
"""
|
||||
return RasterisedDocumentParser(None).construct_ocrmypdf_parameters(
|
||||
input_file="input.pdf",
|
||||
output_file="output.pdf",
|
||||
sidecar_file="sidecar.txt",
|
||||
mime_type="application/pdf",
|
||||
safe_fallback=False,
|
||||
)
|
||||
|
||||
def test_db_settings_ocr_pages(self):
|
||||
"""
|
||||
GIVEN:
|
||||
- Django settings defines different value for OCR_PAGES than
|
||||
configuration object
|
||||
WHEN:
|
||||
- OCR parameters are constructed
|
||||
THEN:
|
||||
- Configuration from database is utilized
|
||||
"""
|
||||
with override_settings(OCR_PAGES=10):
|
||||
instance = ApplicationConfiguration.objects.all().first()
|
||||
instance.pages = 5
|
||||
instance.save()
|
||||
|
||||
params = self.get_params()
|
||||
self.assertEqual(params["pages"], "1-5")
|
||||
|
||||
def test_db_settings_ocr_language(self):
|
||||
"""
|
||||
GIVEN:
|
||||
- Django settings defines different value for OCR_LANGUAGE than
|
||||
configuration object
|
||||
WHEN:
|
||||
- OCR parameters are constructed
|
||||
THEN:
|
||||
- Configuration from database is utilized
|
||||
"""
|
||||
with override_settings(OCR_LANGUAGE="eng+deu"):
|
||||
instance = ApplicationConfiguration.objects.all().first()
|
||||
instance.language = "fra+ita"
|
||||
instance.save()
|
||||
|
||||
params = self.get_params()
|
||||
self.assertEqual(params["language"], "fra+ita")
|
||||
|
||||
def test_db_settings_ocr_output_type(self):
|
||||
"""
|
||||
GIVEN:
|
||||
- Django settings defines different value for OCR_OUTPUT_TYPE than
|
||||
configuration object
|
||||
WHEN:
|
||||
- OCR parameters are constructed
|
||||
THEN:
|
||||
- Configuration from database is utilized
|
||||
"""
|
||||
with override_settings(OCR_OUTPUT_TYPE="pdfa-3"):
|
||||
instance = ApplicationConfiguration.objects.all().first()
|
||||
instance.output_type = OutputTypeChoices.PDF_A
|
||||
instance.save()
|
||||
|
||||
params = self.get_params()
|
||||
self.assertEqual(params["output_type"], "pdfa")
|
||||
|
||||
def test_db_settings_ocr_mode(self):
|
||||
"""
|
||||
GIVEN:
|
||||
- Django settings defines different value for OCR_MODE than
|
||||
configuration object
|
||||
WHEN:
|
||||
- OCR parameters are constructed
|
||||
THEN:
|
||||
- Configuration from database is utilized
|
||||
"""
|
||||
with override_settings(OCR_MODE="redo"):
|
||||
instance = ApplicationConfiguration.objects.all().first()
|
||||
instance.mode = ModeChoices.SKIP
|
||||
instance.save()
|
||||
|
||||
params = self.get_params()
|
||||
self.assertTrue(params["skip_text"])
|
||||
self.assertNotIn("redo_ocr", params)
|
||||
self.assertNotIn("force_ocr", params)
|
||||
|
||||
def test_db_settings_ocr_clean(self):
|
||||
"""
|
||||
GIVEN:
|
||||
- Django settings defines different value for OCR_CLEAN than
|
||||
configuration object
|
||||
WHEN:
|
||||
- OCR parameters are constructed
|
||||
THEN:
|
||||
- Configuration from database is utilized
|
||||
"""
|
||||
with override_settings(OCR_CLEAN="clean-final"):
|
||||
instance = ApplicationConfiguration.objects.all().first()
|
||||
instance.unpaper_clean = CleanChoices.CLEAN
|
||||
instance.save()
|
||||
|
||||
params = self.get_params()
|
||||
self.assertTrue(params["clean"])
|
||||
self.assertNotIn("clean_final", params)
|
||||
|
||||
with override_settings(OCR_CLEAN="clean-final"):
|
||||
instance = ApplicationConfiguration.objects.all().first()
|
||||
instance.unpaper_clean = CleanChoices.FINAL
|
||||
instance.save()
|
||||
|
||||
params = self.get_params()
|
||||
self.assertTrue(params["clean_final"])
|
||||
self.assertNotIn("clean", params)
|
||||
|
||||
def test_db_settings_ocr_deskew(self):
|
||||
"""
|
||||
GIVEN:
|
||||
- Django settings defines different value for OCR_DESKEW than
|
||||
configuration object
|
||||
WHEN:
|
||||
- OCR parameters are constructed
|
||||
THEN:
|
||||
- Configuration from database is utilized
|
||||
"""
|
||||
with override_settings(OCR_DESKEW=False):
|
||||
instance = ApplicationConfiguration.objects.all().first()
|
||||
instance.deskew = True
|
||||
instance.save()
|
||||
|
||||
params = self.get_params()
|
||||
self.assertTrue(params["deskew"])
|
||||
|
||||
def test_db_settings_ocr_rotate(self):
|
||||
"""
|
||||
GIVEN:
|
||||
- Django settings defines different value for OCR_ROTATE_PAGES
|
||||
and OCR_ROTATE_PAGES_THRESHOLD than configuration object
|
||||
WHEN:
|
||||
- OCR parameters are constructed
|
||||
THEN:
|
||||
- Configuration from database is utilized
|
||||
"""
|
||||
with override_settings(OCR_ROTATE_PAGES=False, OCR_ROTATE_PAGES_THRESHOLD=30.0):
|
||||
instance = ApplicationConfiguration.objects.all().first()
|
||||
instance.rotate_pages = True
|
||||
instance.rotate_pages_threshold = 15.0
|
||||
instance.save()
|
||||
|
||||
params = self.get_params()
|
||||
self.assertTrue(params["rotate_pages"])
|
||||
self.assertAlmostEqual(params["rotate_pages_threshold"], 15.0)
|
||||
|
||||
def test_db_settings_ocr_max_pixels(self):
|
||||
"""
|
||||
GIVEN:
|
||||
- Django settings defines different value for OCR_MAX_IMAGE_PIXELS than
|
||||
configuration object
|
||||
WHEN:
|
||||
- OCR parameters are constructed
|
||||
THEN:
|
||||
- Configuration from database is utilized
|
||||
"""
|
||||
with override_settings(OCR_MAX_IMAGE_PIXELS=2_000_000.0):
|
||||
instance = ApplicationConfiguration.objects.all().first()
|
||||
instance.max_image_pixels = 1_000_000.0
|
||||
instance.save()
|
||||
|
||||
params = self.get_params()
|
||||
self.assertAlmostEqual(params["max_image_mpixels"], 1.0)
|
||||
|
||||
def test_db_settings_ocr_color_convert(self):
|
||||
"""
|
||||
GIVEN:
|
||||
- Django settings defines different value for OCR_COLOR_CONVERSION_STRATEGY than
|
||||
configuration object
|
||||
WHEN:
|
||||
- OCR parameters are constructed
|
||||
THEN:
|
||||
- Configuration from database is utilized
|
||||
"""
|
||||
with override_settings(OCR_COLOR_CONVERSION_STRATEGY="LeaveColorUnchanged"):
|
||||
instance = ApplicationConfiguration.objects.all().first()
|
||||
instance.color_conversion_strategy = ColorConvertChoices.INDEPENDENT
|
||||
instance.save()
|
||||
|
||||
params = self.get_params()
|
||||
self.assertEqual(
|
||||
params["color_conversion_strategy"],
|
||||
"UseDeviceIndependentColor",
|
||||
)
|
||||
|
||||
def test_ocr_user_args(self):
|
||||
"""
|
||||
GIVEN:
|
||||
- Django settings defines different value for OCR_USER_ARGS than
|
||||
configuration object
|
||||
WHEN:
|
||||
- OCR parameters are constructed
|
||||
THEN:
|
||||
- Configuration from database is utilized
|
||||
"""
|
||||
with override_settings(
|
||||
OCR_USER_ARGS=json.dumps({"continue_on_soft_render_error": True}),
|
||||
):
|
||||
instance = ApplicationConfiguration.objects.all().first()
|
||||
instance.user_args = {"unpaper_args": "--pre-rotate 90"}
|
||||
instance.save()
|
||||
|
||||
params = self.get_params()
|
||||
|
||||
self.assertIn("unpaper_args", params)
|
||||
self.assertEqual(
|
||||
params["unpaper_args"],
|
||||
"--pre-rotate 90",
|
||||
)
|
||||
@@ -34,3 +34,9 @@ class TextDocumentParser(DocumentParser):
|
||||
|
||||
def parse(self, document_path, mime_type, file_name=None):
|
||||
self.text = self.read_file_handle_unicode_errors(document_path)
|
||||
|
||||
def get_settings(self):
|
||||
"""
|
||||
This parser does not implement additional settings yet
|
||||
"""
|
||||
return None
|
||||
|
||||
@@ -10,6 +10,8 @@ from tika_client import TikaClient
|
||||
from documents.parsers import DocumentParser
|
||||
from documents.parsers import ParseError
|
||||
from documents.parsers import make_thumbnail_from_pdf
|
||||
from paperless.config import OutputTypeConfig
|
||||
from paperless.models import OutputTypeChoices
|
||||
|
||||
|
||||
class TikaDocumentParser(DocumentParser):
|
||||
@@ -63,7 +65,7 @@ class TikaDocumentParser(DocumentParser):
|
||||
document_path.read_bytes(),
|
||||
mime_type,
|
||||
)
|
||||
else: # pragma: nocover
|
||||
else: # pragma: no cover
|
||||
raise
|
||||
except Exception as err:
|
||||
raise ParseError(
|
||||
@@ -91,11 +93,14 @@ class TikaDocumentParser(DocumentParser):
|
||||
timeout=settings.CELERY_TASK_TIME_LIMIT,
|
||||
) as client, client.libre_office.to_pdf() as route:
|
||||
# Set the output format of the resulting PDF
|
||||
if settings.OCR_OUTPUT_TYPE in {"pdfa", "pdfa-2"}:
|
||||
if settings.OCR_OUTPUT_TYPE in {
|
||||
OutputTypeChoices.PDF_A,
|
||||
OutputTypeChoices.PDF_A2,
|
||||
}:
|
||||
route.pdf_format(PdfAFormat.A2b)
|
||||
elif settings.OCR_OUTPUT_TYPE == "pdfa-1":
|
||||
elif settings.OCR_OUTPUT_TYPE == OutputTypeChoices.PDF_A1:
|
||||
route.pdf_format(PdfAFormat.A1a)
|
||||
elif settings.OCR_OUTPUT_TYPE == "pdfa-3":
|
||||
elif settings.OCR_OUTPUT_TYPE == OutputTypeChoices.PDF_A3:
|
||||
route.pdf_format(PdfAFormat.A3b)
|
||||
|
||||
route.convert(document_path)
|
||||
@@ -111,3 +116,9 @@ class TikaDocumentParser(DocumentParser):
|
||||
raise ParseError(
|
||||
f"Error while converting document to PDF: {err}",
|
||||
) from err
|
||||
|
||||
def get_settings(self) -> OutputTypeConfig:
|
||||
"""
|
||||
This parser only uses the PDF output type configuration currently
|
||||
"""
|
||||
return OutputTypeConfig()
|
||||
|
||||
@@ -18,6 +18,7 @@ omit =
|
||||
exclude_also =
|
||||
if settings.AUDIT_LOG_ENABLED:
|
||||
if AUDIT_LOG_ENABLED:
|
||||
if TYPE_CHECKING:
|
||||
|
||||
[mypy]
|
||||
plugins = mypy_django_plugin.main, mypy_drf_plugin.main, numpy.typing.mypy_plugin
|
||||
|
||||
Reference in New Issue
Block a user