From 283ced56d120a59f666289fd2d6ccfc695bf3792 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Wed, 24 Jan 2024 11:00:44 -0800 Subject: [PATCH 1/2] Revert "Enhancement: support remote user auth directly against API (DRF)" (#5534) --- docs/api.md | 8 +-- src/paperless/auth.py | 8 --- src/paperless/settings.py | 32 ++++------- src/paperless/tests/test_remote_user.py | 75 ------------------------- 4 files changed, 11 insertions(+), 112 deletions(-) delete mode 100644 src/paperless/tests/test_remote_user.py diff --git a/docs/api.md b/docs/api.md index e103ae14a..97ccf4c3a 100644 --- a/docs/api.md +++ b/docs/api.md @@ -139,7 +139,7 @@ document. Paperless only reports PDF metadata at this point. ## Authorization -The REST api provides four different forms of authentication. +The REST api provides three different forms of authentication. 1. Basic authentication @@ -177,12 +177,6 @@ The REST api provides four different forms of authentication. Tokens can also be managed in the Django admin. -4. Remote User authentication - - If already setup (see - [configuration](configuration.md#PAPERLESS_ENABLE_HTTP_REMOTE_USER)), - you can authenticate against the API using Remote User auth. - ## Searching for documents Full text searching is available on the `/api/documents/` endpoint. Two diff --git a/src/paperless/auth.py b/src/paperless/auth.py index 98e2a8b30..a23b01cb4 100644 --- a/src/paperless/auth.py +++ b/src/paperless/auth.py @@ -47,11 +47,3 @@ class HttpRemoteUserMiddleware(PersistentRemoteUserMiddleware): """ header = settings.HTTP_REMOTE_USER_HEADER_NAME - - -class PaperlessRemoteUserAuthentication(authentication.RemoteUserAuthentication): - """ - REMOTE_USER authentication for DRF which overrides the default header. - """ - - header = settings.HTTP_REMOTE_USER_HEADER_NAME diff --git a/src/paperless/settings.py b/src/paperless/settings.py index 54779006d..bc815d4d5 100644 --- a/src/paperless/settings.py +++ b/src/paperless/settings.py @@ -420,31 +420,19 @@ if AUTO_LOGIN_USERNAME: # regular login in case the provided user does not exist. MIDDLEWARE.insert(_index + 1, "paperless.auth.AutoLoginMiddleware") +ENABLE_HTTP_REMOTE_USER = __get_boolean("PAPERLESS_ENABLE_HTTP_REMOTE_USER") +HTTP_REMOTE_USER_HEADER_NAME = os.getenv( + "PAPERLESS_HTTP_REMOTE_USER_HEADER_NAME", + "HTTP_REMOTE_USER", +) -def _parse_remote_user_settings() -> str: - global MIDDLEWARE, AUTHENTICATION_BACKENDS, REST_FRAMEWORK - enable = __get_boolean("PAPERLESS_ENABLE_HTTP_REMOTE_USER") - if enable: - MIDDLEWARE.append("paperless.auth.HttpRemoteUserMiddleware") - AUTHENTICATION_BACKENDS.insert( - 0, - "django.contrib.auth.backends.RemoteUserBackend", - ) - REST_FRAMEWORK["DEFAULT_AUTHENTICATION_CLASSES"].insert( - 0, - "paperless.auth.PaperlessRemoteUserAuthentication", - ) - - header_name = os.getenv( - "PAPERLESS_HTTP_REMOTE_USER_HEADER_NAME", - "HTTP_REMOTE_USER", +if ENABLE_HTTP_REMOTE_USER: + MIDDLEWARE.append("paperless.auth.HttpRemoteUserMiddleware") + AUTHENTICATION_BACKENDS.insert(0, "django.contrib.auth.backends.RemoteUserBackend") + REST_FRAMEWORK["DEFAULT_AUTHENTICATION_CLASSES"].append( + "rest_framework.authentication.RemoteUserAuthentication", ) - return header_name - - -HTTP_REMOTE_USER_HEADER_NAME = _parse_remote_user_settings() - # X-Frame options for embedded PDF display: X_FRAME_OPTIONS = "ANY" if DEBUG else "SAMEORIGIN" diff --git a/src/paperless/tests/test_remote_user.py b/src/paperless/tests/test_remote_user.py deleted file mode 100644 index 194026e4d..000000000 --- a/src/paperless/tests/test_remote_user.py +++ /dev/null @@ -1,75 +0,0 @@ -import os -from unittest import mock - -from django.contrib.auth.models import User -from rest_framework import status -from rest_framework.test import APITestCase - -from documents.tests.utils import DirectoriesMixin -from paperless.settings import _parse_remote_user_settings - - -class TestRemoteUser(DirectoriesMixin, APITestCase): - def setUp(self): - super().setUp() - - self.user = User.objects.create_superuser( - username="temp_admin", - ) - - def test_remote_user(self): - """ - GIVEN: - - Configured user - - Remote user auth is enabled - WHEN: - - API call is made to get documents - THEN: - - Call succeeds - """ - - with mock.patch.dict( - os.environ, - { - "PAPERLESS_ENABLE_HTTP_REMOTE_USER": "True", - }, - ): - _parse_remote_user_settings() - - response = self.client.get("/api/documents/") - - # 403 testing locally, 401 on ci... - self.assertIn( - response.status_code, - [status.HTTP_401_UNAUTHORIZED, status.HTTP_403_FORBIDDEN], - ) - - response = self.client.get( - "/api/documents/", - headers={ - "Remote-User": self.user.username, - }, - ) - - self.assertEqual(response.status_code, status.HTTP_200_OK) - - def test_remote_user_header_setting(self): - """ - GIVEN: - - Remote user header name is set - WHEN: - - Settings are parsed - THEN: - - Correct header name is returned - """ - - with mock.patch.dict( - os.environ, - { - "PAPERLESS_ENABLE_HTTP_REMOTE_USER": "True", - "PAPERLESS_HTTP_REMOTE_USER_HEADER_NAME": "HTTP_FOO", - }, - ): - header_name = _parse_remote_user_settings() - - self.assertEqual(header_name, "HTTP_FOO") From 212674f9df8c676eca66f56637a948680b7158cb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 24 Jan 2024 11:01:37 -0800 Subject: [PATCH 2/2] New Crowdin translations by GitHub Action (#5488) Co-authored-by: Crowdin Bot --- src-ui/src/locale/messages.ar_AR.xlf | 2 +- src-ui/src/locale/messages.el_GR.xlf | 4 +- src-ui/src/locale/messages.ja_JP.xlf | 20 +-- src-ui/src/locale/messages.tr_TR.xlf | 50 +++--- src-ui/src/locale/messages.uk_UA.xlf | 208 +++++++++++------------ src/locale/ar_AR/LC_MESSAGES/django.po | 2 +- src/locale/el_GR/LC_MESSAGES/django.po | 10 +- src/locale/ja_JP/LC_MESSAGES/django.po | 222 ++++++++++++------------- src/locale/tr_TR/LC_MESSAGES/django.po | 30 ++-- src/locale/uk_UA/LC_MESSAGES/django.po | 152 ++++++++--------- 10 files changed, 350 insertions(+), 350 deletions(-) diff --git a/src-ui/src/locale/messages.ar_AR.xlf b/src-ui/src/locale/messages.ar_AR.xlf index 1745c7da8..d1d5f100f 100644 --- a/src-ui/src/locale/messages.ar_AR.xlf +++ b/src-ui/src/locale/messages.ar_AR.xlf @@ -497,7 +497,7 @@ src/app/components/admin/config/config.component.html 34 - Enable + تمكين Discard diff --git a/src-ui/src/locale/messages.el_GR.xlf b/src-ui/src/locale/messages.el_GR.xlf index 91c6d7640..0534ac946 100644 --- a/src-ui/src/locale/messages.el_GR.xlf +++ b/src-ui/src/locale/messages.el_GR.xlf @@ -279,7 +279,7 @@ src/app/app.component.ts 90 - Document was added to Paperless-ngx. + Το έγγραφο προστέθηκε στο Paperless-ngx. Open document @@ -307,7 +307,7 @@ src/app/app.component.ts 120 - Document is being processed by Paperless-ngx. + Το έγγραφο επεξεργάζεται από το Paperless-ngx. Prev diff --git a/src-ui/src/locale/messages.ja_JP.xlf b/src-ui/src/locale/messages.ja_JP.xlf index 3fab2892d..010be2bd8 100644 --- a/src-ui/src/locale/messages.ja_JP.xlf +++ b/src-ui/src/locale/messages.ja_JP.xlf @@ -1781,7 +1781,7 @@ src/app/components/admin/tasks/tasks.component.html 41 - Info + 情報 click for full output @@ -1789,7 +1789,7 @@ src/app/components/admin/tasks/tasks.component.html 72 - click for full output + クリックしてすべて表示 Dismiss @@ -2813,7 +2813,7 @@ src/app/components/common/date-dropdown/date-dropdown.component.html 21 - now + 現在 After @@ -3185,7 +3185,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html 13 - Maximum age (days) + 最大有効期間 (日) Attachment type @@ -4146,7 +4146,7 @@ src/app/components/common/input/date/date.component.html 25 - 無効な日付です + 不正な日付です Suggestions: @@ -4259,7 +4259,7 @@ src/app/components/document-list/document-card-small/document-card-small.component.ts 77 - Private + 非公開 No items found @@ -7360,7 +7360,7 @@ src/app/data/paperless-config.ts 156 - 色変換 + 色変換ストラテジー OCR Arguments @@ -7669,7 +7669,7 @@ 33 Score is a value returned by the full text search engine and specifies how well a result matches the given query - Search score + 検索スコア English (US) @@ -7933,7 +7933,7 @@ src/app/services/settings.service.ts 471 - Successfully completed one-time migratration of settings to the database! + データベースへのワンタイム設定移行が正常に完了しました! Unable to migrate settings to the database, please try saving manually. @@ -7941,7 +7941,7 @@ src/app/services/settings.service.ts 472 - Unable to migrate settings to the database, please try saving manually. + データベースに設定を移行できません。手動で保存してみてください。 You can restart the tour from the settings page. diff --git a/src-ui/src/locale/messages.tr_TR.xlf b/src-ui/src/locale/messages.tr_TR.xlf index 26c41006f..19829e5c4 100644 --- a/src-ui/src/locale/messages.tr_TR.xlf +++ b/src-ui/src/locale/messages.tr_TR.xlf @@ -589,7 +589,7 @@ src/app/components/admin/config/config.component.ts 107 - Invalid JSON + Geçersiz JSON Configuration updated @@ -621,7 +621,7 @@ src/app/components/admin/config/config.component.ts 183 - An error occurred uploading file + Dosya yüklenirken bir hata oluştu Logs @@ -657,7 +657,7 @@ src/app/components/admin/tasks/tasks.component.html 16 - Auto refresh + Otomatik yenileme Loading... @@ -1913,7 +1913,7 @@ src/app/components/admin/tasks/tasks.component.ts 137 - completed + tamamlandı failed @@ -1965,7 +1965,7 @@ src/app/components/admin/users-groups/users-groups.component.html 14 - Add User + Kullanıcı Ekle Username @@ -2081,7 +2081,7 @@ src/app/components/admin/users-groups/users-groups.component.html 52 - Add Group + Grup Ekle No groups defined @@ -2133,7 +2133,7 @@ src/app/components/admin/users-groups/users-groups.component.ts 115 - This operation will permanently delete this user account. + Bu eylem kullanıcıyı kalıcı olarak silecek. This operation cannot be undone. @@ -2305,7 +2305,7 @@ src/app/components/app-frame/app-frame.component.html 55 - My Profile + Profilim Logout @@ -3645,7 +3645,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html 28 - First name + İsim Last name @@ -3657,7 +3657,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html 29 - Last name + Soyisim Active @@ -3765,7 +3765,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 68 - Add Action + Eylem Ekle Action type @@ -4138,7 +4138,7 @@ src/app/components/common/input/url/url.component.html 7 - Remove + Kaldır Invalid date. @@ -4190,7 +4190,7 @@ src/app/components/common/input/file/file.component.html 15 - Upload + Yükle Show password @@ -4307,7 +4307,7 @@ src/app/components/common/page-header/page-header.component.html 9 - What's this? + Bu nedir? Read more @@ -4315,7 +4315,7 @@ src/app/components/common/page-header/page-header.component.html 15 - Read more + Daha fazla oku Set permissions @@ -4323,7 +4323,7 @@ src/app/components/common/permissions-dialog/permissions-dialog.component.ts 28 - Set permissions + İzinleri ayarla Edit permissions for @@ -4347,7 +4347,7 @@ src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.html 26 - My documents + Belgelerim Shared with me @@ -4355,7 +4355,7 @@ src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.html 36 - Shared with me + Benimle paylaşılan Shared by me @@ -4363,7 +4363,7 @@ src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.html 46 - Shared by me + Benim paylaştıklarım Unowned @@ -4371,7 +4371,7 @@ src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.html 56 - Unowned + Sahipsiz Hide unowned @@ -4459,7 +4459,7 @@ src/app/components/common/share-links-dropdown/share-links-dropdown.component.html 29 - Copy + Kopyala Regenerate auth token @@ -4479,7 +4479,7 @@ src/app/components/common/share-links-dropdown/share-links-dropdown.component.html 40 - Copied! + Kopyalandı! Warning: changing the token cannot be undone @@ -4495,7 +4495,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts 94 - Emails must match + Emailler eşleşmeli Passwords must match @@ -4503,7 +4503,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts 122 - Passwords must match + Şifreler eşleşmeli Profile updated successfully @@ -4511,7 +4511,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts 142 - Profile updated successfully + Profil başarıyla güncellendi Error saving profile diff --git a/src-ui/src/locale/messages.uk_UA.xlf b/src-ui/src/locale/messages.uk_UA.xlf index 35ec669cf..1c4e23822 100644 --- a/src-ui/src/locale/messages.uk_UA.xlf +++ b/src-ui/src/locale/messages.uk_UA.xlf @@ -279,7 +279,7 @@ src/app/app.component.ts 90 - Document was added to Paperless-ngx. + Документ було додано до Paperless-ngx. Open document @@ -307,7 +307,7 @@ src/app/app.component.ts 120 - Document is being processed by Paperless-ngx. + Документ обробляється Paperless-ngx. Prev @@ -395,7 +395,7 @@ src/app/components/manage/mail/mail.component.html 4 - Manage e-mail accounts and rules for automatically importing documents. + Управління обліковими записами електронної пошти та правилами для автоматичного імпорту документів. Workflows give you more control over the document pipeline. @@ -403,7 +403,7 @@ src/app/app.component.ts 180 - Workflows give you more control over the document pipeline. + Робочі процеси дають вам більший контроль над конвеєром. File Tasks shows you documents that have been consumed, are waiting to be, or may have failed during the process. @@ -423,7 +423,7 @@ src/app/app.component.ts 196 - Check out the settings for various tweaks to the web app and toggle settings for saved views. + Перевірте цю сторінку для різних налаштувань вебдодатку. Тут також можна налаштувати збережені представлення та перевірку електронної пошти. Thank you! 🙏 @@ -463,7 +463,7 @@ src/app/components/admin/config/config.component.html 4 - Global app configuration options which apply to <strong>every</strong> user of this install of Paperless-ngx. Options can also be set using environment variables or the configuration file but the value here will always take precedence. + Параметри глобальної конфігурації програми, які застосовуються до <strong>кожного</strong> користувач цієї інсталяції Paperless-ngx. Параметри також можна встановити за допомогою змінних середовища або файлу конфігурації, але значення тут завжди матиме перевагу. @@ -481,7 +481,7 @@ src/app/components/common/permissions-select/permissions-select.component.html 22 - + Read the documentation about this setting @@ -621,7 +621,7 @@ src/app/components/admin/config/config.component.ts 183 - An error occurred uploading file + Сталася помилка при завантаженні файлу Logs @@ -645,7 +645,7 @@ src/app/components/admin/logs/logs.component.html 4 - Review the log files for the application and for email checking. + Переглянути файли журналу для програми та перевірки пошти. Auto refresh @@ -761,7 +761,7 @@ src/app/components/admin/settings/settings.component.html 4 - Options to customize appearance, notifications, saved views and more. Settings apply to the <strong>current user only</strong>. + Параметри налаштування зовнішнього вигляду, сповіщення, попереднього перегляду та іншого. Параметри застосовуються тільки для <strong>поточного користувача</strong>. Start tour @@ -817,7 +817,7 @@ src/app/components/admin/settings/settings.component.html 46 - Локаль дати + Відображення дати Date format @@ -961,7 +961,7 @@ src/app/components/admin/settings/settings.component.html 150,153 - Update checking works by pinging the public GitHub API for the latest release to determine whether a new version is available. Actual updating of the app must still be performed manually. + Перевірка оновлень працює шляхом перевірки загальнодоступного GitHub репозиторіюGitHub API для останнього випуску, щоб визначити, чи доступна нова версія. Фактичне оновлення програми все одно потрібно виконувати вручну. No tracking data is collected by the app in any way. @@ -1105,7 +1105,7 @@ src/app/components/admin/settings/settings.component.html 189,191 - Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI + Налаштування застосовуються до цього облікового запису для об'єктів (Теги, Правила пошти, тощо), створених у вебінтерфейсі Default Owner @@ -1133,7 +1133,7 @@ src/app/components/admin/settings/settings.component.html 205 - Default View Permissions + Дозволи перегляду за умовчанням Users: @@ -1197,7 +1197,7 @@ src/app/components/admin/settings/settings.component.html 232 - Default Edit Permissions + Дозволи на редагування за замовчуванням Edit permissions also grant viewing permissions @@ -1825,7 +1825,7 @@ src/app/components/admin/tasks/tasks.component.html 111 -  ( selected) +  ( selected) Failed @@ -1833,7 +1833,7 @@ src/app/components/admin/tasks/tasks.component.html 123,125 - Failed + Не вдалось Complete @@ -1841,7 +1841,7 @@ src/app/components/admin/tasks/tasks.component.html 131,133 - Complete + Завершено Started @@ -1849,7 +1849,7 @@ src/app/components/admin/tasks/tasks.component.html 139,141 - Started + Розпочато Queued @@ -1857,7 +1857,7 @@ src/app/components/admin/tasks/tasks.component.html 147,149 - Queued + У черзі Dismiss selected @@ -1889,7 +1889,7 @@ src/app/components/admin/tasks/tasks.component.ts 65 - Dismiss all tasks? + Скасовувати усі завдань? queued @@ -1945,7 +1945,7 @@ src/app/components/admin/users-groups/users-groups.component.html 4 - Create, delete and edit users and groups. + Створення, видалення і редагування користувачів і груп. Users @@ -2793,7 +2793,7 @@ src/app/components/manage/custom-fields/custom-fields.component.ts 56 - Saved field "". + Збережене поле "". Error saving field. @@ -2957,7 +2957,7 @@ src/app/components/common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component.html 11 - Data type cannot be changed after a field is created + Тип даних не можна змінити після створення поля Create new custom field @@ -3265,7 +3265,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html 24 - Filter attachment filename includes + Фільтр враховує вкладену назву файлу Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive. @@ -3281,7 +3281,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html 25 - Filter attachment filename excluding + Фільтр не враховує вкладену назву файлу Do not consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive. @@ -3289,7 +3289,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html 25 - Do not consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive. + Обробляти лише ті документи, які повністю відповідають назві файлу, якщо вказано. Шаблони, такі як *.pdf чи *invoice* дозволені. Без врахування регістру. Action @@ -3321,7 +3321,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html 32 - Assignments specified here will supersede any consumption templates. + Визначені призначення будуть перешкоджати будь-яким шаблонам користувача. Assign title from @@ -3477,7 +3477,7 @@ src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.ts 84 - Do not assign title from this rule + Не призначати заголовок від цього правила Do not assign a correspondent @@ -3733,7 +3733,7 @@ src/app/components/manage/workflows/workflows.component.html 20 - Triggers + Тригери Trigger Workflow On: @@ -3741,7 +3741,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 28 - Trigger Workflow On: + Запуск робочого процесу на: Add Trigger @@ -3845,7 +3845,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 166 - Trigger type + Тип тригера Trigger for documents that match all filters specified below. @@ -3853,7 +3853,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 167 - Trigger for documents that match all filters specified below. + Тригер для документів, які збігаються усі фільтри, зазначені нижче. Filter filename @@ -3861,7 +3861,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 170 - Filter filename + Фільтрувати назви файлів Apply to documents that match this filename. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive. @@ -3869,7 +3869,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 170 - Apply to documents that match this filename. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive. + Обробляти лише ті документи, які повністю відповідають назві файлу, якщо вказано. Шаблони, такі як *.pdf чи *invoice* дозволені. Без врахування регістру. Filter sources @@ -3877,7 +3877,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 172 - Filter sources + Джерела фільтрації Filter path @@ -3885,7 +3885,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 173 - Filter path + Шлях фільтра Apply to documents that match this path. Wildcards specified as * are allowed. Case-normalized.</a> @@ -3893,7 +3893,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 173 - Apply to documents that match this path. Wildcards specified as * are allowed. Case-normalized.</a> + Застосовувати до документів, які відповідають цьому шляху. Допускаються символи підставляння, позначені як *. Нормалізовано за регістром.</a> Filter mail rule @@ -3901,7 +3901,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 174 - Filter mail rule + Правило фільтрування пошти Apply to documents consumed via this mail rule. @@ -3909,7 +3909,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 174 - Apply to documents consumed via this mail rule. + Застосувати до документів, що обслуговуються за допомогою цього правила пошти. Content matching algorithm @@ -3917,7 +3917,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 177 - Content matching algorithm + Алгоритм розпізнавання вмісту Content matching pattern @@ -3925,7 +3925,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 179 - Content matching pattern + Шаблон відповідності вмісту Has tags @@ -3933,7 +3933,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 188 - Has tags + Має тег Has correspondent @@ -3941,7 +3941,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 189 - Has correspondent + Має кореспондента Has document type @@ -3949,7 +3949,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html 190 - Has document type + Має тип документа Consume Folder @@ -3957,7 +3957,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 39 - Consume Folder + Використати теку API Upload @@ -3965,7 +3965,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 43 - API Upload + API вивантаження Mail Fetch @@ -3973,7 +3973,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 47 - Mail Fetch + Отримання пошти Consumption Started @@ -3981,7 +3981,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 54 - Consumption Started + Споживання розпочато Document Added @@ -3989,7 +3989,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 58 - Document Added + Документ додано Document Updated @@ -3997,7 +3997,7 @@ src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts 62 - Document Updated + Документ оновлено Assignment @@ -4275,7 +4275,7 @@ src/app/components/common/input/switch/switch.component.html 39 - Note: value has not yet been set and will not apply until explicitly changed + Примітка: значення ще не встановлено та не застосовуватиметься, доки не буде змінено явно Add tag @@ -4363,7 +4363,7 @@ src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.html 46 - Shared by me + Поділився я Unowned @@ -4519,7 +4519,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts 154 - Error saving profile + Помилка збереження профілю Error generating auth token @@ -4527,7 +4527,7 @@ src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts 171 - Error generating auth token + Помилка генерації токена авторизації Select @@ -4587,7 +4587,7 @@ src/app/components/common/share-links-dropdown/share-links-dropdown.component.html 47 - Share archive version + Поділитися архівною версією Expires @@ -4595,7 +4595,7 @@ src/app/components/common/share-links-dropdown/share-links-dropdown.component.html 51 - Expires + Термін дії Create @@ -4715,7 +4715,7 @@ src/app/components/dashboard/dashboard.component.ts 38 - Hello , welcome to + Привіт , вітаємо у Welcome to @@ -4723,7 +4723,7 @@ src/app/components/dashboard/dashboard.component.ts 40 - Welcome to + Вітаємо у Dashboard updated @@ -4915,7 +4915,7 @@ src/app/components/dashboard/widgets/upload-file-widget/upload-file-widget.component.html 4 - Drop documents anywhere or + Перетягніть документи сюди або Browse files @@ -5054,7 +5054,7 @@ src/app/components/document-detail/document-detail.component.html 9 - - + - + @@ -5062,7 +5062,7 @@ src/app/components/document-detail/document-detail.component.html 17 - + + + Download original @@ -5314,7 +5314,7 @@ src/app/components/document-detail/document-detail.component.html 272,275 - Notes + Примітки Save & next @@ -5354,7 +5354,7 @@ src/app/components/document-detail/document-detail.component.ts 321 - Document changes detected + Зміни документу виявлено The version of this document in your browser session appears older than the existing version. @@ -5362,7 +5362,7 @@ src/app/components/document-detail/document-detail.component.ts 322 - The version of this document in your browser session appears older than the existing version. + Версія цього документа виявилась старішою за чинну версію. Saving the document here may overwrite other changes that were made. To restore the existing version, discard your changes or close the document. @@ -5370,7 +5370,7 @@ src/app/components/document-detail/document-detail.component.ts 323 - Saving the document here may overwrite other changes that were made. To restore the existing version, discard your changes or close the document. + Збереження документа може перезаписати інші внесені зміни. Щоб відновити наявну версію, скасуйте зміни або закрийте документ. Ok @@ -6488,7 +6488,7 @@ src/app/components/manage/custom-fields/custom-fields.component.html 4 - Customize the data fields that can be attached to documents. + Налаштування полів даних, які можуть бути додані до документів. Add Field @@ -7000,7 +7000,7 @@ src/app/components/manage/workflows/workflows.component.html 4 - Use workflows to customize the behavior of Paperless-ngx when events 'trigger' a workflow. + Використовуйте робочі процеси, щоб налаштувати поведінку Paperless-ngx при спрацюванні тригеру робочого процес. Add Workflow @@ -7008,7 +7008,7 @@ src/app/components/manage/workflows/workflows.component.html 9 - Add Workflow + Додати робочий процес Disabled @@ -7016,7 +7016,7 @@ src/app/components/manage/workflows/workflows.component.html 30 - Disabled + Вимкнено No workflows defined. @@ -7024,7 +7024,7 @@ src/app/components/manage/workflows/workflows.component.html 46 - No workflows defined. + Не визначено робочих процесів. Saved workflow "". @@ -7032,7 +7032,7 @@ src/app/components/manage/workflows/workflows.component.ts 79 - Saved workflow "". + Робочий процес "" збережено. Error saving workflow. @@ -7040,7 +7040,7 @@ src/app/components/manage/workflows/workflows.component.ts 87 - Error saving workflow. + Помилка при збереженні робочого процесу. Confirm delete workflow @@ -7048,7 +7048,7 @@ src/app/components/manage/workflows/workflows.component.ts 95 - Confirm delete workflow + Підтвердження видалення робочого процесу This operation will permanently delete this workflow. @@ -7056,7 +7056,7 @@ src/app/components/manage/workflows/workflows.component.ts 96 - This operation will permanently delete this workflow. + Ця операція остаточно видалить цей робочий процес. Deleted workflow @@ -7064,7 +7064,7 @@ src/app/components/manage/workflows/workflows.component.ts 105 - Deleted workflow + Робочий процес видалено Error deleting workflow. @@ -7072,7 +7072,7 @@ src/app/components/manage/workflows/workflows.component.ts 110 - Error deleting workflow. + Помилка при видаленні робочого процесу. Not Found @@ -7096,7 +7096,7 @@ src/app/data/custom-field.ts 17 - Boolean + Логічне значення Date @@ -7104,7 +7104,7 @@ src/app/data/custom-field.ts 21 - Date + Дата Integer @@ -7112,7 +7112,7 @@ src/app/data/custom-field.ts 25 - Integer + Ціле число Number @@ -7120,7 +7120,7 @@ src/app/data/custom-field.ts 29 - Number + Номер Monetary @@ -7128,7 +7128,7 @@ src/app/data/custom-field.ts 33 - Monetary + Монетарний Text @@ -7136,7 +7136,7 @@ src/app/data/custom-field.ts 37 - Text + Текст Url @@ -7144,7 +7144,7 @@ src/app/data/custom-field.ts 41 - Url + Url-адреса Document Link @@ -7152,7 +7152,7 @@ src/app/data/custom-field.ts 45 - Document Link + Посилання на документ Auto: Learn matching automatically @@ -7256,7 +7256,7 @@ src/app/data/paperless-config.ts 50 - General Settings + Загальні налаштування OCR Settings @@ -7264,7 +7264,7 @@ src/app/data/paperless-config.ts 51 - OCR Settings + OCR налаштування Output Type @@ -7272,7 +7272,7 @@ src/app/data/paperless-config.ts 75 - Output Type + Тип виводу Language @@ -7280,7 +7280,7 @@ src/app/data/paperless-config.ts 83 - Language + Мова Pages @@ -7288,7 +7288,7 @@ src/app/data/paperless-config.ts 90 - Pages + Сторінки Mode @@ -7296,7 +7296,7 @@ src/app/data/paperless-config.ts 97 - Mode + Режим Skip Archive File @@ -7304,7 +7304,7 @@ src/app/data/paperless-config.ts 105 - Skip Archive File + Пропустити Архів Image DPI @@ -7312,7 +7312,7 @@ src/app/data/paperless-config.ts 113 - Image DPI + Роздільність зображення Clean @@ -7320,7 +7320,7 @@ src/app/data/paperless-config.ts 120 - Clean + Очистити Deskew @@ -7328,7 +7328,7 @@ src/app/data/paperless-config.ts 128 - Deskew + Вирівняти перекіс Rotate Pages @@ -7336,7 +7336,7 @@ src/app/data/paperless-config.ts 135 - Rotate Pages + Повернути сторінки Rotate Pages Threshold @@ -7344,7 +7344,7 @@ src/app/data/paperless-config.ts 142 - Rotate Pages Threshold + Поріг повороту сторінок Max Image Pixels @@ -7352,7 +7352,7 @@ src/app/data/paperless-config.ts 149 - Max Image Pixels + Максимальна кількість пікселів Color Conversion Strategy @@ -7360,7 +7360,7 @@ src/app/data/paperless-config.ts 156 - Color Conversion Strategy + Стратегія перетворення кольорів OCR Arguments @@ -7368,7 +7368,7 @@ src/app/data/paperless-config.ts 164 - OCR Arguments + Аргументи OCR Application Logo @@ -7376,7 +7376,7 @@ src/app/data/paperless-config.ts 171 - Application Logo + Логотип програми Application Title @@ -7384,7 +7384,7 @@ src/app/data/paperless-config.ts 178 - Application Title + Назва програми Warning: You have unsaved changes to your document(s). @@ -7709,7 +7709,7 @@ src/app/services/settings.service.ts 64 - Bulgarian + Болгарська Catalan @@ -7789,7 +7789,7 @@ src/app/services/settings.service.ts 124 - Hungarian + Угорська Italian diff --git a/src/locale/ar_AR/LC_MESSAGES/django.po b/src/locale/ar_AR/LC_MESSAGES/django.po index 5ef80ae73..db74c237b 100644 --- a/src/locale/ar_AR/LC_MESSAGES/django.po +++ b/src/locale/ar_AR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-01-05 21:26-0800\n" -"PO-Revision-Date: 2024-01-15 12:09\n" +"PO-Revision-Date: 2024-01-22 00:25\n" "Last-Translator: \n" "Language-Team: Arabic\n" "Language: ar_SA\n" diff --git a/src/locale/el_GR/LC_MESSAGES/django.po b/src/locale/el_GR/LC_MESSAGES/django.po index a0ea67d75..262c6b2ec 100644 --- a/src/locale/el_GR/LC_MESSAGES/django.po +++ b/src/locale/el_GR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-01-05 21:26-0800\n" -"PO-Revision-Date: 2024-01-11 12:09\n" +"PO-Revision-Date: 2024-01-22 12:09\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -931,11 +931,11 @@ msgstr "Paperless" #: paperless/models.py:25 msgid "pdf" -msgstr "" +msgstr "pdf" #: paperless/models.py:26 msgid "pdfa" -msgstr "" +msgstr "pdfa" #: paperless/models.py:27 msgid "pdfa-1" @@ -995,7 +995,7 @@ msgstr "" #: paperless/models.py:70 msgid "RGB" -msgstr "" +msgstr "RGB" #: paperless/models.py:71 msgid "UseDeviceIndependentColor" @@ -1007,7 +1007,7 @@ msgstr "" #: paperless/models.py:73 msgid "CMYK" -msgstr "" +msgstr "CMYK" #: paperless/models.py:82 msgid "Sets the output PDF type" diff --git a/src/locale/ja_JP/LC_MESSAGES/django.po b/src/locale/ja_JP/LC_MESSAGES/django.po index 0a307113d..58fa24706 100644 --- a/src/locale/ja_JP/LC_MESSAGES/django.po +++ b/src/locale/ja_JP/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-01-05 21:26-0800\n" -"PO-Revision-Date: 2024-01-21 00:26\n" +"PO-Revision-Date: 2024-01-21 12:08\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -369,75 +369,75 @@ msgstr "これと類似のもの" #: documents/models.py:444 msgid "has tags in" -msgstr "" +msgstr "次のタグがある" #: documents/models.py:445 msgid "ASN greater than" -msgstr "" +msgstr "ASN が次の値より大きい" #: documents/models.py:446 msgid "ASN less than" -msgstr "" +msgstr "ASN が次の値より小さい" #: documents/models.py:447 msgid "storage path is" -msgstr "" +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" -msgstr "" +msgstr "自分が共有した" #: documents/models.py:469 msgid "rule type" -msgstr "" +msgstr "ルールタイプ" #: documents/models.py:471 msgid "value" -msgstr "" +msgstr "値" #: documents/models.py:474 msgid "filter rule" @@ -453,75 +453,75 @@ msgstr "タスク ID" #: documents/models.py:587 msgid "Celery ID for the Task that was run" -msgstr "" +msgstr "実行されたタスクの Celery ID" #: documents/models.py:592 msgid "Acknowledged" -msgstr "" +msgstr "承認" #: documents/models.py:593 msgid "If the task is acknowledged via the frontend or API" -msgstr "" +msgstr "フロントエンドまたは API 経由でタスクが承認されている場合" #: documents/models.py:599 msgid "Task Filename" -msgstr "" +msgstr "タスクのファイル名" #: documents/models.py:600 msgid "Name of the file which the Task was run for" -msgstr "" +msgstr "タスクを実行したファイル名" #: documents/models.py:606 msgid "Task Name" -msgstr "" +msgstr "タスク名" #: documents/models.py:607 msgid "Name of the Task which was run" -msgstr "" +msgstr "実行されたタスク名" #: documents/models.py:614 msgid "Task State" -msgstr "" +msgstr "タスクの状態" #: documents/models.py:615 msgid "Current state of the task being run" -msgstr "" +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" -msgstr "" +msgstr "タスクの結果が作成された UTC 日時" #: documents/models.py:626 msgid "Started DateTime" -msgstr "" +msgstr "開始日時" #: documents/models.py:627 msgid "Datetime field when the task was started in UTC" -msgstr "" +msgstr "タスクが開始された UTC 日時" #: documents/models.py:632 msgid "Completed DateTime" -msgstr "" +msgstr "完了日時" #: documents/models.py:633 msgid "Datetime field when the task was completed in UTC" -msgstr "" +msgstr "タスクが完了した UTC 日時" #: documents/models.py:638 msgid "Result Data" -msgstr "" +msgstr "結果データ" #: documents/models.py:640 msgid "The data returned by the task" -msgstr "" +msgstr "タスクが出力したデータ" #: documents/models.py:652 msgid "Note for the document" -msgstr "" +msgstr "ドキュメントのメモ" #: documents/models.py:676 msgid "user" @@ -541,15 +541,15 @@ msgstr "アーカイブ" #: documents/models.py:691 msgid "Original" -msgstr "" +msgstr "原本" #: documents/models.py:702 msgid "expiration" -msgstr "" +msgstr "有効期限" #: documents/models.py:709 msgid "slug" -msgstr "" +msgstr "スラグ" #: documents/models.py:741 msgid "share link" @@ -605,11 +605,11 @@ msgstr "カスタム項目" #: documents/models.py:844 msgid "custom field instance" -msgstr "" +msgstr "カスタム項目インスタンス" #: documents/models.py:845 msgid "custom field instances" -msgstr "" +msgstr "カスタム項目インスタンス" #: documents/models.py:902 msgid "Consumption Started" @@ -637,145 +637,145 @@ msgstr "メールの取得" #: documents/models.py:912 msgid "Workflow Trigger Type" -msgstr "" +msgstr "ワークフローのトリガータイプ" #: documents/models.py:924 msgid "filter path" -msgstr "" +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 "" +msgstr "指定されたパスを持つドキュメントのみを使用します。ワイルドカード (*) が使用できます。大文字・小文字を区別しません。" #: documents/models.py:936 msgid "filter filename" -msgstr "" +msgstr "ファイル名をフィルター" #: 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 "" +msgstr "指定されたファイル名に完全にマッチするドキュメントのみを使用します。 *.pdf や *請求書* などのワイルドカードが使用できます。大文字・小文字を区別しません。" #: documents/models.py:952 msgid "filter documents from this mail rule" -msgstr "" +msgstr "このメールルールからのドキュメントをフィルター" #: documents/models.py:968 msgid "has these tag(s)" -msgstr "" +msgstr "タグ" #: documents/models.py:976 msgid "has this document type" -msgstr "" +msgstr "ドキュメントタイプ" #: documents/models.py:984 msgid "has this correspondent" -msgstr "" +msgstr "担当" #: documents/models.py:988 msgid "workflow trigger" -msgstr "" +msgstr "ワークフローのトリガー" #: documents/models.py:989 msgid "workflow triggers" -msgstr "" +msgstr "ワークフローのトリガー" #: documents/models.py:997 msgid "Assignment" -msgstr "" +msgstr "割り当て" #: documents/models.py:1000 msgid "Workflow Action Type" -msgstr "" +msgstr "ワークフローのアクションタイプ" #: documents/models.py:1006 msgid "assign title" -msgstr "" +msgstr "タイトルの割り当て" #: documents/models.py:1011 msgid "Assign a document title, can include some placeholders, see documentation." -msgstr "" +msgstr "ドキュメントタイトルを割り当てます。ドキュメントタイトルにはプレースホルダーを含めることができます。マニュアルを参照してください。" #: documents/models.py:1019 paperless_mail/models.py:216 msgid "assign this tag" -msgstr "" +msgstr "タグの割り当て" #: documents/models.py:1027 paperless_mail/models.py:224 msgid "assign this document type" -msgstr "" +msgstr "ドキュメントタイプの割り当て" #: documents/models.py:1035 paperless_mail/models.py:238 msgid "assign this correspondent" -msgstr "" +msgstr "担当の割り当て" #: documents/models.py:1043 msgid "assign this storage path" -msgstr "" +msgstr "フォルダーの割り当て" #: documents/models.py:1052 msgid "assign this owner" -msgstr "" +msgstr "所有者の割り当て" #: documents/models.py:1059 msgid "grant view permissions to these users" -msgstr "" +msgstr "ユーザーへの表示権限の付与" #: documents/models.py:1066 msgid "grant view permissions to these groups" -msgstr "" +msgstr "グループへの表示権限の付与" #: documents/models.py:1073 msgid "grant change permissions to these users" -msgstr "" +msgstr "ユーザーへの変更権限の付与" #: documents/models.py:1080 msgid "grant change permissions to these groups" -msgstr "" +msgstr "グループへの変更権限の付与" #: documents/models.py:1087 msgid "assign these custom fields" -msgstr "" +msgstr "カスタム項目の割り当て" #: documents/models.py:1091 msgid "workflow action" -msgstr "" +msgstr "ワークフローのアクション" #: documents/models.py:1092 msgid "workflow actions" -msgstr "" +msgstr "ワークフローのアクション" #: documents/models.py:1101 paperless_mail/models.py:95 msgid "order" -msgstr "" +msgstr "順序" #: documents/models.py:1107 msgid "triggers" -msgstr "" +msgstr "トリガー" #: documents/models.py:1114 msgid "actions" -msgstr "" +msgstr "アクション" #: documents/models.py:1117 msgid "enabled" -msgstr "" +msgstr "有効" #: documents/serialisers.py:111 #, python-format msgid "Invalid regular expression: %(error)s" -msgstr "" +msgstr "不正な正規表現: %(error)s" #: documents/serialisers.py:405 msgid "Invalid color." -msgstr "" +msgstr "無効な色" #: documents/serialisers.py:999 #, python-format msgid "File type %(type)s not supported" -msgstr "" +msgstr "ファイルタイプ %(type)s はサポートされていません" #: documents/serialisers.py:1102 msgid "Invalid variable detected." -msgstr "" +msgstr "無効な変数を検出しました" #: documents/templates/index.html:79 msgid "Paperless-ngx is loading..." @@ -783,11 +783,11 @@ msgstr "Paperless-ngxを読み込んでいます…" #: documents/templates/index.html:80 msgid "Still here?! Hmm, something might be wrong." -msgstr "" +msgstr "まだここに?うーん、何かおかしいのかもしれません。" #: documents/templates/index.html:80 msgid "Here's a link to the docs." -msgstr "" +msgstr "これはドキュメントへのリンクです" #: documents/templates/registration/logged_out.html:14 msgid "Paperless-ngx signed out" @@ -876,7 +876,7 @@ 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" @@ -913,21 +913,21 @@ msgstr "手順を送信してください!" #: documents/validators.py:17 #, python-brace-format msgid "Unable to parse URI {value}, missing scheme" -msgstr "" +msgstr "URI {value} を解析できません。スキームがありません。" #: documents/validators.py:22 #, python-brace-format msgid "Unable to parse URI {value}, missing net location or path" -msgstr "" +msgstr "URI {value} を解析できません。ネットの場所またはパスがありません。" #: documents/validators.py:27 #, python-brace-format msgid "Unable to parse URI {value}" -msgstr "" +msgstr "URI {value} を解析できません" #: paperless/apps.py:10 msgid "Paperless" -msgstr "" +msgstr "Paperless" #: paperless/models.py:25 msgid "pdf" @@ -951,111 +951,111 @@ msgstr "pdfa-3" #: paperless/models.py:38 msgid "skip" -msgstr "" +msgstr "skip" #: paperless/models.py:39 msgid "redo" -msgstr "" +msgstr "redo" #: paperless/models.py:40 msgid "force" -msgstr "" +msgstr "force" #: paperless/models.py:41 msgid "skip_noarchive" -msgstr "" +msgstr "skip_noarchive" #: paperless/models.py:49 msgid "never" -msgstr "" +msgstr "never" #: paperless/models.py:50 msgid "with_text" -msgstr "" +msgstr "with_text" #: paperless/models.py:51 msgid "always" -msgstr "" +msgstr "always" #: paperless/models.py:59 msgid "clean" -msgstr "" +msgstr "clean" #: paperless/models.py:60 msgid "clean-final" -msgstr "" +msgstr "clean-final" #: paperless/models.py:61 msgid "none" -msgstr "" +msgstr "none" #: paperless/models.py:69 msgid "LeaveColorUnchanged" -msgstr "" +msgstr "LeaveColorUnchanged" #: paperless/models.py:70 msgid "RGB" -msgstr "" +msgstr "RGB" #: paperless/models.py:71 msgid "UseDeviceIndependentColor" -msgstr "" +msgstr "UseDeviceIndependentColor" #: paperless/models.py:72 msgid "Gray" -msgstr "" +msgstr "Gray" #: paperless/models.py:73 msgid "CMYK" -msgstr "" +msgstr "CMYK" #: paperless/models.py:82 msgid "Sets the output PDF type" -msgstr "" +msgstr "出力 PDF タイプの設定" #: paperless/models.py:94 msgid "Do OCR from page 1 to this value" -msgstr "" +msgstr "1ページからこのページまで OCR を実行する" #: paperless/models.py:100 msgid "Do OCR using these languages" -msgstr "" +msgstr "これらの言語で OCR を実行する" #: paperless/models.py:107 msgid "Sets the OCR mode" -msgstr "" +msgstr "OCR モードの設定" #: paperless/models.py:115 msgid "Controls the generation of an archive file" -msgstr "" +msgstr "アーカイブファイル生成の制御" #: paperless/models.py:123 msgid "Sets image DPI fallback value" -msgstr "" +msgstr "画像の DPI フォールバック値の設定" #: paperless/models.py:130 msgid "Controls the unpaper cleaning" -msgstr "" +msgstr "アンペーパークリーニングの制御" #: paperless/models.py:137 msgid "Enables deskew" -msgstr "" +msgstr "傾き補正の有効化" #: paperless/models.py:140 msgid "Enables page rotation" -msgstr "" +msgstr "ページ回転の有効化" #: paperless/models.py:145 msgid "Sets the threshold for rotation of pages" -msgstr "" +msgstr "ページ回転のしきい値の設定" #: paperless/models.py:151 msgid "Sets the maximum image size for decompression" -msgstr "" +msgstr "展開する画像の最大サイズの設定" #: paperless/models.py:157 msgid "Sets the Ghostscript color conversion strategy" -msgstr "" +msgstr "Ghostscript 色変換ストラテジーの設定" #: paperless/models.py:165 msgid "Adds additional user arguments for OCRMyPDF" diff --git a/src/locale/tr_TR/LC_MESSAGES/django.po b/src/locale/tr_TR/LC_MESSAGES/django.po index d99ba5d80..3f7477691 100644 --- a/src/locale/tr_TR/LC_MESSAGES/django.po +++ b/src/locale/tr_TR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-01-05 21:26-0800\n" -"PO-Revision-Date: 2024-01-06 05:27\n" +"PO-Revision-Date: 2024-01-24 00:24\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -565,11 +565,11 @@ msgstr "" #: documents/models.py:755 msgid "URL" -msgstr "" +msgstr "URL" #: documents/models.py:756 msgid "Date" -msgstr "" +msgstr "Tarih" #: documents/models.py:757 msgid "Boolean" @@ -717,7 +717,7 @@ msgstr "" #: documents/models.py:1059 msgid "grant view permissions to these users" -msgstr "" +msgstr "bu kullanıcılara görüntüleme izni ver" #: documents/models.py:1066 msgid "grant view permissions to these groups" @@ -725,11 +725,11 @@ msgstr "" #: documents/models.py:1073 msgid "grant change permissions to these users" -msgstr "" +msgstr "bu kullanıcılara değişiklik yapma izni ver" #: documents/models.py:1080 msgid "grant change permissions to these groups" -msgstr "" +msgstr "bu gruplara değişiklik yapma izni ver" #: documents/models.py:1087 msgid "assign these custom fields" @@ -815,11 +815,11 @@ msgstr "Kullanıcı adınız ve parolanız uymuyor. Lütfen tekrar deneyiniz." #: documents/templates/registration/login.html:48 msgid "Share link was not found." -msgstr "" +msgstr "Paylaşım bağlantısı bulunamadı." #: documents/templates/registration/login.html:52 msgid "Share link has expired." -msgstr "" +msgstr "Bağlantının kullanım süresi doldu." #: documents/templates/registration/login.html:55 msgid "Username" @@ -835,7 +835,7 @@ msgstr "Oturum aç" #: documents/templates/registration/login.html:70 msgid "Forgot your password?" -msgstr "" +msgstr "Şifrenizi mi unuttunuz?" #: documents/templates/registration/password_reset_complete.html:14 msgid "Paperless-ngx reset password complete" @@ -843,7 +843,7 @@ msgstr "" #: documents/templates/registration/password_reset_complete.html:40 msgid "Password reset complete." -msgstr "" +msgstr "Şifre sıfırlama tamamlandı." #: documents/templates/registration/password_reset_complete.html:42 #, python-format @@ -856,7 +856,7 @@ msgstr "" #: documents/templates/registration/password_reset_confirm.html:42 msgid "Set a new password." -msgstr "" +msgstr "Yeni bir şifre belirleyin." #: documents/templates/registration/password_reset_confirm.html:46 msgid "Passwords did not match or too weak. Try again." @@ -951,7 +951,7 @@ msgstr "" #: paperless/models.py:38 msgid "skip" -msgstr "" +msgstr "atla" #: paperless/models.py:39 msgid "redo" @@ -967,7 +967,7 @@ msgstr "" #: paperless/models.py:49 msgid "never" -msgstr "" +msgstr "asla" #: paperless/models.py:50 msgid "with_text" @@ -995,7 +995,7 @@ msgstr "" #: paperless/models.py:70 msgid "RGB" -msgstr "" +msgstr "RGB" #: paperless/models.py:71 msgid "UseDeviceIndependentColor" @@ -1007,7 +1007,7 @@ msgstr "" #: paperless/models.py:73 msgid "CMYK" -msgstr "" +msgstr "CMYK" #: paperless/models.py:82 msgid "Sets the output PDF type" diff --git a/src/locale/uk_UA/LC_MESSAGES/django.po b/src/locale/uk_UA/LC_MESSAGES/django.po index c86cfd0ef..98be2e726 100644 --- a/src/locale/uk_UA/LC_MESSAGES/django.po +++ b/src/locale/uk_UA/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: paperless-ngx\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-01-05 21:26-0800\n" -"PO-Revision-Date: 2024-01-19 00:24\n" +"PO-Revision-Date: 2024-01-22 12:09\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -429,7 +429,7 @@ msgstr "має значення спеціального поля" #: documents/models.py:459 msgid "is shared by me" -msgstr "" +msgstr "поділився я" #: documents/models.py:469 msgid "rule type" @@ -545,11 +545,11 @@ msgstr "Оригінал" #: documents/models.py:702 msgid "expiration" -msgstr "" +msgstr "закінчується" #: documents/models.py:709 msgid "slug" -msgstr "" +msgstr "слаг" #: documents/models.py:741 msgid "share link" @@ -585,7 +585,7 @@ msgstr "З рухомою комою" #: documents/models.py:760 msgid "Monetary" -msgstr "" +msgstr "Монетарний" #: documents/models.py:761 msgid "Document Link" @@ -605,15 +605,15 @@ msgstr "користувацькі поля" #: documents/models.py:844 msgid "custom field instance" -msgstr "" +msgstr "спеціальний екземпляр поля" #: documents/models.py:845 msgid "custom field instances" -msgstr "" +msgstr "спеціальні екземпляри поля" #: documents/models.py:902 msgid "Consumption Started" -msgstr "" +msgstr "Використання розпочато" #: documents/models.py:903 msgid "Document Added" @@ -625,7 +625,7 @@ msgstr "Документ оновлено" #: documents/models.py:907 msgid "Consume Folder" -msgstr "" +msgstr "Використати теку" #: documents/models.py:908 msgid "Api Upload" @@ -637,7 +637,7 @@ msgstr "Завантаження пошти" #: documents/models.py:912 msgid "Workflow Trigger Type" -msgstr "" +msgstr "Тип тригера робочого процесу" #: documents/models.py:924 msgid "filter path" @@ -645,11 +645,11 @@ 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 "" +msgstr "Використовувати лише документи зі шляхом, який відповідає цьому, якщо вказано. Допускаються символи підставлення, позначені як *. Регістр не враховується." #: documents/models.py:936 msgid "filter filename" -msgstr "" +msgstr "фільтрувати за назвою файлу" #: 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." @@ -657,35 +657,35 @@ msgstr "Обробляти лише ті документи, які повніс #: documents/models.py:952 msgid "filter documents from this mail rule" -msgstr "" +msgstr "фільтрувати документи з цього правила пошти" #: documents/models.py:968 msgid "has these tag(s)" -msgstr "" +msgstr "має цей тег(и)" #: documents/models.py:976 msgid "has this document type" -msgstr "" +msgstr "має тип документа" #: documents/models.py:984 msgid "has this correspondent" -msgstr "" +msgstr "має кореспондента" #: documents/models.py:988 msgid "workflow trigger" -msgstr "" +msgstr "тригер робочого процесу" #: documents/models.py:989 msgid "workflow triggers" -msgstr "" +msgstr "тригери робочого процесу" #: documents/models.py:997 msgid "Assignment" -msgstr "" +msgstr "Призначення" #: documents/models.py:1000 msgid "Workflow Action Type" -msgstr "" +msgstr "Тип дії робочого процесу" #: documents/models.py:1006 msgid "assign title" @@ -693,7 +693,7 @@ msgstr "призначити назву" #: documents/models.py:1011 msgid "Assign a document title, can include some placeholders, see documentation." -msgstr "" +msgstr "Призначити заголовок документу, може включати деякі місця заповнювачів, див. документацію." #: documents/models.py:1019 paperless_mail/models.py:216 msgid "assign this tag" @@ -709,31 +709,31 @@ msgstr "призначити цього кореспондента" #: documents/models.py:1043 msgid "assign this storage path" -msgstr "" +msgstr "призначити шлях до сховища" #: documents/models.py:1052 msgid "assign this owner" -msgstr "" +msgstr "призначити власника" #: documents/models.py:1059 msgid "grant view permissions to these users" -msgstr "" +msgstr "надати дозволи на перегляд цим користувачам" #: documents/models.py:1066 msgid "grant view permissions to these groups" -msgstr "" +msgstr "надати дозволи на перегляд цим групам" #: documents/models.py:1073 msgid "grant change permissions to these users" -msgstr "" +msgstr "надати дозволи на зміну цим користувачам" #: documents/models.py:1080 msgid "grant change permissions to these groups" -msgstr "" +msgstr "надати дозволи на зміну цим групам" #: documents/models.py:1087 msgid "assign these custom fields" -msgstr "" +msgstr "призначити користувацькі поля" #: documents/models.py:1091 msgid "workflow action" @@ -749,7 +749,7 @@ msgstr "порядок" #: documents/models.py:1107 msgid "triggers" -msgstr "" +msgstr "тригери" #: documents/models.py:1114 msgid "actions" @@ -815,7 +815,7 @@ 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." @@ -876,11 +876,11 @@ 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." @@ -892,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" @@ -908,22 +908,22 @@ msgstr "Ел. пошта" #: documents/templates/registration/password_reset_form.html:54 msgid "Send me instructions!" -msgstr "" +msgstr "Надіслати мені інструкції!" #: documents/validators.py:17 #, python-brace-format msgid "Unable to parse URI {value}, missing scheme" -msgstr "" +msgstr "Не вдалося проаналізувати URI {value}, пропущено схему" #: documents/validators.py:22 #, python-brace-format msgid "Unable to parse URI {value}, missing net location or path" -msgstr "" +msgstr "Не вдалося проаналізувати URI {value}, відсутнє місце розташування або шлях" #: documents/validators.py:27 #, python-brace-format msgid "Unable to parse URI {value}" -msgstr "" +msgstr "Не вдалося проаналізувати URI {value}" #: paperless/apps.py:10 msgid "Paperless" @@ -931,67 +931,67 @@ msgstr "Paperless" #: paperless/models.py:25 msgid "pdf" -msgstr "" +msgstr "pdf" #: paperless/models.py:26 msgid "pdfa" -msgstr "" +msgstr "pdfa" #: paperless/models.py:27 msgid "pdfa-1" -msgstr "" +msgstr "pdfa-1" #: paperless/models.py:28 msgid "pdfa-2" -msgstr "" +msgstr "pdfa-2" #: paperless/models.py:29 msgid "pdfa-3" -msgstr "" +msgstr "pdfa-3" #: paperless/models.py:38 msgid "skip" -msgstr "" +msgstr "пропустити" #: paperless/models.py:39 msgid "redo" -msgstr "" +msgstr "повторити" #: paperless/models.py:40 msgid "force" -msgstr "" +msgstr "примусово" #: paperless/models.py:41 msgid "skip_noarchive" -msgstr "" +msgstr "skip_noarchive" #: paperless/models.py:49 msgid "never" -msgstr "" +msgstr "ніколи" #: paperless/models.py:50 msgid "with_text" -msgstr "" +msgstr "за _текстом" #: paperless/models.py:51 msgid "always" -msgstr "" +msgstr "завжди" #: paperless/models.py:59 msgid "clean" -msgstr "" +msgstr "очистити" #: paperless/models.py:60 msgid "clean-final" -msgstr "" +msgstr "фінальне очищення" #: paperless/models.py:61 msgid "none" -msgstr "" +msgstr "нічого" #: paperless/models.py:69 msgid "LeaveColorUnchanged" -msgstr "" +msgstr "Не змінювати колір" #: paperless/models.py:70 msgid "RGB" @@ -999,7 +999,7 @@ msgstr "RGB" #: paperless/models.py:71 msgid "UseDeviceIndependentColor" -msgstr "" +msgstr "Використовувати колір в залежності від пристрою" #: paperless/models.py:72 msgid "Gray" @@ -1011,59 +1011,59 @@ msgstr "CMYK" #: paperless/models.py:82 msgid "Sets the output PDF type" -msgstr "" +msgstr "Встановити тип виводу PDF" #: paperless/models.py:94 msgid "Do OCR from page 1 to this value" -msgstr "" +msgstr "Зробити OCR з сторінки 1 до цього значення" #: paperless/models.py:100 msgid "Do OCR using these languages" -msgstr "" +msgstr "Розпізнавання використовуючи ці мови" #: paperless/models.py:107 msgid "Sets the OCR mode" -msgstr "" +msgstr "Встановлення режиму OCR" #: paperless/models.py:115 msgid "Controls the generation of an archive file" -msgstr "" +msgstr "Керування створенням архівного файлу" #: paperless/models.py:123 msgid "Sets image DPI fallback value" -msgstr "" +msgstr "Встановлення резервного значення роздільної здатності" #: paperless/models.py:130 msgid "Controls the unpaper cleaning" -msgstr "" +msgstr "Керування очищенням від паперу" #: paperless/models.py:137 msgid "Enables deskew" -msgstr "" +msgstr "Увімкнути вирівнювання" #: paperless/models.py:140 msgid "Enables page rotation" -msgstr "" +msgstr "Увімкнути обертання сторінки" #: paperless/models.py:145 msgid "Sets the threshold for rotation of pages" -msgstr "" +msgstr "Встановити граничне значення обертання сторінок" #: paperless/models.py:151 msgid "Sets the maximum image size for decompression" -msgstr "" +msgstr "Встановити максимальний розмір зображення для декомпресії" #: paperless/models.py:157 msgid "Sets the Ghostscript color conversion strategy" -msgstr "" +msgstr "Встановити правила перетворення кольорів Ghostscript" #: paperless/models.py:165 msgid "Adds additional user arguments for OCRMyPDF" -msgstr "" +msgstr "Додає додаткові аргументи користувачів для OCRMyPDF" #: paperless/models.py:170 msgid "paperless application settings" -msgstr "" +msgstr "налаштування програми документообігу" #: paperless/settings.py:601 msgid "English (US)" @@ -1275,7 +1275,7 @@ msgstr "пароль" #: paperless_mail/models.py:42 msgid "Is token authentication" -msgstr "" +msgstr "Токен автентифікації" #: paperless_mail/models.py:45 msgid "character set" @@ -1339,7 +1339,7 @@ msgstr "Використовувати назву файлу як заголов #: paperless_mail/models.py:85 msgid "Do not assign title from rule" -msgstr "" +msgstr "Не призначати заголовок від цього правила" #: paperless_mail/models.py:88 msgid "Do not assign a correspondent" @@ -1387,15 +1387,15 @@ msgstr "фільтрувати по тексту повідомлення" #: paperless_mail/models.py:143 msgid "filter attachment filename inclusive" -msgstr "" +msgstr "фільтр враховує вкладену назву файлу" #: paperless_mail/models.py:155 msgid "filter attachment filename exclusive" -msgstr "" +msgstr "фільтр не враховує вкладену назву файлу" #: 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 "Не використовуйте документи, які повністю відповідають цій назві файлу, якщо вона вказана. Допускаються символи підстановки, наприклад *.pdf або *рахунок-фактура*. Регістр не враховується." #: paperless_mail/models.py:167 msgid "maximum age" @@ -1439,7 +1439,7 @@ msgstr "призначити кореспондента з" #: paperless_mail/models.py:242 msgid "Assign the rule owner to documents" -msgstr "" +msgstr "Призначити власника правила документів" #: paperless_mail/models.py:268 msgid "uid"