diff --git a/src-ui/src/app/components/document-detail/document-detail.component.html b/src-ui/src/app/components/document-detail/document-detail.component.html index 0384de371..54ac665e0 100644 --- a/src-ui/src/app/components/document-detail/document-detail.component.html +++ b/src-ui/src/app/components/document-detail/document-detail.component.html @@ -91,7 +91,7 @@ Content
- +
diff --git a/src-ui/src/app/components/document-detail/document-detail.component.scss b/src-ui/src/app/components/document-detail/document-detail.component.scss index 3ae922564..71d50ca61 100644 --- a/src-ui/src/app/components/document-detail/document-detail.component.scss +++ b/src-ui/src/app/components/document-detail/document-detail.component.scss @@ -28,3 +28,7 @@ left: 30%; right: 30%; } + +textarea.rtl { + direction: rtl; +} diff --git a/src-ui/src/app/components/document-detail/document-detail.component.ts b/src-ui/src/app/components/document-detail/document-detail.component.ts index 08d0b0e82..f99f547e6 100644 --- a/src-ui/src/app/components/document-detail/document-detail.component.ts +++ b/src-ui/src/app/components/document-detail/document-detail.component.ts @@ -135,6 +135,13 @@ export class DocumentDetailComponent : this.metadata?.original_mime_type } + get isRTL() { + if (!this.metadata || !this.metadata.lang) return false + else { + return ['ar', 'he', 'fe'].includes(this.metadata.lang) + } + } + ngOnInit(): void { this.documentForm.valueChanges .pipe(takeUntil(this.unsubscribeNotifier)) diff --git a/src-ui/src/app/data/paperless-document-metadata.ts b/src-ui/src/app/data/paperless-document-metadata.ts index 152f69046..b8c030ee8 100644 --- a/src-ui/src/app/data/paperless-document-metadata.ts +++ b/src-ui/src/app/data/paperless-document-metadata.ts @@ -10,4 +10,6 @@ export interface PaperlessDocumentMetadata { original_filename?: string has_archive_version?: boolean + + lang?: string } diff --git a/src/documents/views.py b/src/documents/views.py index e313ae17e..52b230b40 100644 --- a/src/documents/views.py +++ b/src/documents/views.py @@ -29,6 +29,7 @@ from django.views.decorators.cache import cache_control from django.views.generic import TemplateView from django_filters.rest_framework import DjangoFilterBackend from documents.tasks import consume_file +from langdetect import detect from packaging import version as packaging_version from paperless import version from paperless.db import GnuPG @@ -325,6 +326,13 @@ class DocumentViewSet( "original_filename": doc.original_filename, } + lang = "en" + try: + lang = detect(doc.content) + except Exception: + pass + meta["lang"] = lang + if doc.has_archive_version: meta["archive_size"] = self.get_filesize(doc.archive_path) meta["archive_metadata"] = self.get_metadata(