Merge remote-tracking branch 'upstream/dev' into respect-cropbox-for-thumbnail-generation

This commit is contained in:
Henning Bunk 2024-01-31 19:15:10 +01:00
commit ec328ada47
No known key found for this signature in database
GPG Key ID: 0E6C529A574BC728
47 changed files with 656 additions and 682 deletions

View File

@ -9,7 +9,7 @@ Please include a summary of the change and which issue is fixed (if any) and any
-->
<!--
⚠️ Important: Pull requests that implement a new feature *should almost always target an existing feature request*. This is in order to balance the work of implementing and maintaining new features vs. community-interest. If that is not currently the case, please open a feature request instead of this PR to gather feedback from both users and the project maintainers.
⚠️ Important: Pull requests that implement a new feature or enhancement *should almost always target an existing feature request* with evidence of community interest and discussion. This is in order to balance the work of implementing and maintaining new features / enhancements. If that is not currently the case, please open a feature request instead of this PR to gather feedback from both users and the project maintainers.
-->
Closes #(issue or discussion)
@ -22,7 +22,7 @@ NOTE: Please check only one box!
-->
- [ ] Bug fix: non-breaking change which fixes an issue.
- [ ] New feature: non-breaking change which adds functionality. _Please read the important note above._
- [ ] New feature / Enhancement: non-breaking change which adds functionality. _Please read the important note above._
- [ ] Breaking change: fix or feature that would cause existing functionality to not work as expected.
- [ ] Documentation only.
- [ ] Other. Please explain:

View File

@ -184,7 +184,7 @@ jobs:
cache-dependency-path: 'src-ui/package-lock.json'
- name: Cache frontend dependencies
id: cache-frontend-deps
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
~/.npm
@ -221,7 +221,7 @@ jobs:
cache-dependency-path: 'src-ui/package-lock.json'
- name: Cache frontend dependencies
id: cache-frontend-deps
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
~/.npm
@ -645,7 +645,7 @@ jobs:
script: |
const { repo, owner } = context.repo;
const result = await github.rest.pulls.create({
title: '[Documentation] Add ${{ needs.publish-release.outputs.version }} changelog',
title: 'Documentation: Add ${{ needs.publish-release.outputs.version }} changelog',
owner,
repo,
head: '${{ needs.publish-release.outputs.version }}-changelog',

View File

@ -3,7 +3,6 @@
[![Documentation Status](https://img.shields.io/github/deployments/paperless-ngx/paperless-ngx/github-pages?label=docs)](https://docs.paperless-ngx.com)
[![codecov](https://codecov.io/gh/paperless-ngx/paperless-ngx/branch/main/graph/badge.svg?token=VK6OUPJ3TY)](https://codecov.io/gh/paperless-ngx/paperless-ngx)
[![Chat on Matrix](https://matrix.to/img/matrix-badge.svg)](https://matrix.to/#/%23paperlessngx%3Amatrix.org)
[![demo](https://cronitor.io/badges/ve7ItY/production/W5E_B9jkelG9ZbDiNHUPQEVH3MY.svg)](https://demo.paperless-ngx.com)
<p align="center">
<picture>
@ -21,8 +20,6 @@ Paperless-ngx is a document management system that transforms your physical docu
Paperless-ngx is the official successor to the original [Paperless](https://github.com/the-paperless-project/paperless) & [Paperless-ng](https://github.com/jonaswinkler/paperless-ng) projects and is designed to distribute the responsibility of advancing and supporting the project among a team of people. [Consider joining us!](#community-support)
A demo is available at [demo.paperless-ngx.com](https://demo.paperless-ngx.com) using login `demo` / `demo`. _Note: demo content is reset frequently and confidential information should not be uploaded._
- [Features](#features)
- [Getting started](#getting-started)
- [Contributing](#contributing)

View File

@ -67,15 +67,15 @@ you installed paperless-ngx in the first place. The releases are
available at the [release
page](https://github.com/paperless-ngx/paperless-ngx/releases).
First of all, ensure that paperless is stopped.
First of all, make sure no active processes (like consumption) are running, then [make a backup](#backup).
After that, ensure that paperless is stopped:
```shell-session
$ cd /path/to/paperless
$ docker compose down
```
After that, [make a backup](#backup).
1. If you pull the image from the docker hub, all you need to do is:
```shell-session

View File

@ -517,6 +517,18 @@ existing tables) with:
an older system may fix issues that can arise while setting up Paperless-ngx but
`utf8mb3` can cause issues with consumption (where `utf8mb4` does not).
### Missing timezones
MySQL as well as MariaDB do not have any timezone information by default (though some
docker images such as the official MariaDB image take care of this for you) which will
cause unexpected behavior with date-based queries.
To fix this, execute one of the following commands:
MySQL: `mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql -p`
MariaDB: `mariadb-tzinfo-to-sql /usr/share/zoneinfo | mariadb -u root mysql -p`
## Barcodes {#barcodes}
Paperless is able to utilize barcodes for automatically performing some tasks.

View File

@ -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

View File

@ -1,5 +1,57 @@
# Changelog
## paperless-ngx 2.4.2
### Bug Fixes
- Fix: improve one of the date matching regexes [@shamoon](https://github.com/shamoon) ([#5540](https://github.com/paperless-ngx/paperless-ngx/pull/5540))
- Fix: tweak doc detail component behavior while awaiting metadata [@shamoon](https://github.com/shamoon) ([#5546](https://github.com/paperless-ngx/paperless-ngx/pull/5546))
### All App Changes
<details>
<summary>2 changes</summary>
- Fix: improve one of the date matching regexes [@shamoon](https://github.com/shamoon) ([#5540](https://github.com/paperless-ngx/paperless-ngx/pull/5540))
- Fix: tweak doc detail component behavior while awaiting metadata [@shamoon](https://github.com/shamoon) ([#5546](https://github.com/paperless-ngx/paperless-ngx/pull/5546))
</details>
## paperless-ngx 2.4.1
### Breaking Changes
- Change: merge workflow permissions assignments instead of overwrite [@shamoon](https://github.com/shamoon) ([#5496](https://github.com/paperless-ngx/paperless-ngx/pull/5496))
### Bug Fixes
- Fix: Minor frontend things in 2.4.0 [@shamoon](https://github.com/shamoon) ([#5514](https://github.com/paperless-ngx/paperless-ngx/pull/5514))
- Fix: install script fails on alpine linux [@shamoon](https://github.com/shamoon) ([#5520](https://github.com/paperless-ngx/paperless-ngx/pull/5520))
- Fix: enforce permissions for app config [@shamoon](https://github.com/shamoon) ([#5516](https://github.com/paperless-ngx/paperless-ngx/pull/5516))
- Fix: render images not converted to pdf, refactor doc detail rendering [@shamoon](https://github.com/shamoon) ([#5475](https://github.com/paperless-ngx/paperless-ngx/pull/5475))
- Fix: Dont parse numbers with exponent as integer [@shamoon](https://github.com/shamoon) ([#5457](https://github.com/paperless-ngx/paperless-ngx/pull/5457))
### Maintenance
- Chore: Build fix- branches [@shamoon](https://github.com/shamoon) ([#5501](https://github.com/paperless-ngx/paperless-ngx/pull/5501))
### Dependencies
- Chore(deps-dev): Bump the development group with 1 update [@dependabot](https://github.com/dependabot) ([#5503](https://github.com/paperless-ngx/paperless-ngx/pull/5503))
### All App Changes
<details>
<summary>7 changes</summary>
- Revert "Enhancement: support remote user auth directly against API (DRF)" @shamoon ([#5534](https://github.com/paperless-ngx/paperless-ngx/pull/5534))
- Fix: Minor frontend things in 2.4.0 [@shamoon](https://github.com/shamoon) ([#5514](https://github.com/paperless-ngx/paperless-ngx/pull/5514))
- Fix: enforce permissions for app config [@shamoon](https://github.com/shamoon) ([#5516](https://github.com/paperless-ngx/paperless-ngx/pull/5516))
- Change: merge workflow permissions assignments instead of overwrite [@shamoon](https://github.com/shamoon) ([#5496](https://github.com/paperless-ngx/paperless-ngx/pull/5496))
- Chore(deps-dev): Bump the development group with 1 update [@dependabot](https://github.com/dependabot) ([#5503](https://github.com/paperless-ngx/paperless-ngx/pull/5503))
- Fix: render images not converted to pdf, refactor doc detail rendering [@shamoon](https://github.com/shamoon) ([#5475](https://github.com/paperless-ngx/paperless-ngx/pull/5475))
- Fix: Dont parse numbers with exponent as integer [@shamoon](https://github.com/shamoon) ([#5457](https://github.com/paperless-ngx/paperless-ngx/pull/5457))
</details>
## paperless-ngx 2.4.0
### Features

View File

@ -6,7 +6,6 @@
physical documents into a searchable online archive so you can keep, well, _less paper_.
[Get started](setup.md){ .md-button .md-button--primary .index-callout }
[Demo](https://demo.paperless-ngx.com){ .md-button .md-button--secondary target=\_blank }
</div>
<div class="grid-right" markdown>

View File

@ -6,7 +6,7 @@
</div>
<div class="modal-body">
<pngx-input-text i18n-title title="Name" formControlName="name" [error]="error?.name"></pngx-input-text>
<pngx-input-text i18n-title title="Name" formControlName="name" [error]="error?.name" autocomplete="off"></pngx-input-text>
<pngx-input-select i18n-title title="Matching algorithm" [items]="getMatchingAlgorithms()" formControlName="matching_algorithm"></pngx-input-select>
@if (patternRequired) {
<pngx-input-text i18n-title title="Matching pattern" formControlName="match" [error]="error?.match"></pngx-input-text>

View File

@ -5,7 +5,7 @@
</button>
</div>
<div class="modal-body">
<pngx-input-text i18n-title title="Name" formControlName="name" [error]="error?.name"></pngx-input-text>
<pngx-input-text i18n-title title="Name" formControlName="name" [error]="error?.name" autocomplete="off"></pngx-input-text>
<pngx-input-select i18n-title title="Data type" [items]="getDataTypes()" formControlName="data_type"></pngx-input-select>
@if (typeFieldDisabled) {
<small class="d-block mt-n2" i18n>Data type cannot be changed after a field is created</small>

View File

@ -7,7 +7,7 @@
<div class="modal-body">
<div class="row">
<div class="col">
<pngx-input-text i18n-title title="Name" formControlName="name" [error]="error?.name"></pngx-input-text>
<pngx-input-text i18n-title title="Name" formControlName="name" [error]="error?.name" autocomplete="off"></pngx-input-text>
<pngx-permissions-select i18n-title title="Permissions" formControlName="permissions" [error]="error?.permissions"></pngx-permissions-select>
</div>
</div>

View File

@ -7,7 +7,7 @@
<div class="modal-body">
<div class="row">
<div class="col">
<pngx-input-text i18n-title title="Name" formControlName="name" [error]="error?.name"></pngx-input-text>
<pngx-input-text i18n-title title="Name" formControlName="name" [error]="error?.name" autocomplete="off"></pngx-input-text>
<pngx-input-text i18n-title title="IMAP Server" formControlName="imap_server" [error]="error?.imap_server"></pngx-input-text>
<pngx-input-text i18n-title title="IMAP Port" formControlName="imap_port" [error]="error?.imap_port"></pngx-input-text>
<pngx-input-select i18n-title title="IMAP Security" [items]="imapSecurityOptions" formControlName="imap_security"></pngx-input-select>

View File

@ -7,7 +7,7 @@
<div class="modal-body">
<div class="row">
<div class="col-md-4">
<pngx-input-text i18n-title title="Name" formControlName="name" [error]="error?.name"></pngx-input-text>
<pngx-input-text i18n-title title="Name" formControlName="name" [error]="error?.name" autocomplete="off"></pngx-input-text>
<pngx-input-select i18n-title title="Account" [items]="accounts" formControlName="account"></pngx-input-select>
<pngx-input-text i18n-title title="Folder" formControlName="folder" i18n-hint hint="Subfolders must be separated by a delimiter, often a dot ('.') or slash ('/'), but it varies by mail server." [error]="error?.folder"></pngx-input-text>
<pngx-input-number i18n-title title="Maximum age (days)" formControlName="maximum_age" [showAdd]="false" [error]="error?.maximum_age"></pngx-input-number>

View File

@ -6,7 +6,7 @@
</div>
<div class="modal-body">
<pngx-input-text i18n-title title="Name" formControlName="name" [error]="error?.name"></pngx-input-text>
<pngx-input-text i18n-title title="Name" formControlName="name" [error]="error?.name" autocomplete="off"></pngx-input-text>
<pngx-input-text i18n-title title="Path" formControlName="path" [error]="error?.path" [hint]="pathHint"></pngx-input-text>
<pngx-input-select i18n-title title="Matching algorithm" [items]="getMatchingAlgorithms()" formControlName="matching_algorithm"></pngx-input-select>
@if (patternRequired) {

View File

@ -5,7 +5,7 @@
</button>
</div>
<div class="modal-body">
<pngx-input-text i18n-title title="Name" formControlName="name" [error]="error?.name"></pngx-input-text>
<pngx-input-text i18n-title title="Name" formControlName="name" [error]="error?.name" autocomplete="off"></pngx-input-text>
<pngx-input-color i18n-title title="Color" formControlName="color" [error]="error?.color"></pngx-input-color>

View File

@ -7,7 +7,7 @@
<div class="modal-body">
<div class="row">
<div class="col-md-6">
<pngx-input-text i18n-title title="Name" formControlName="name" [error]="error?.name"></pngx-input-text>
<pngx-input-text i18n-title title="Name" formControlName="name" [error]="error?.name" autocomplete="off"></pngx-input-text>
</div>
<div class="col-4">
<pngx-input-number i18n-title title="Sort order" formControlName="order" [showAdd]="false" [error]="error?.order"></pngx-input-number>

View File

@ -324,7 +324,7 @@
<ng-container i18n>Loading...</ng-container>
</div>
</div>
}
} @else {
@switch (contentRenderType) {
@case (ContentRenderType.PDF) {
@if (!useNativePdfViewer) {
@ -364,4 +364,5 @@
</form>
</div>
}
}
</ng-template>

View File

@ -681,6 +681,7 @@ describe('DocumentDetailComponent', () => {
it('should support Enter key in password field', () => {
initNormally()
component.metadata = { has_archive_version: true }
component.onError({ name: 'PasswordException' }) // normally dispatched by pdf viewer
fixture.detectChanges()
expect(component.password).toBeUndefined()

View File

@ -82,6 +82,7 @@ enum ContentRenderType {
Image = 'image',
Text = 'text',
Other = 'other',
Unknown = 'unknown',
}
enum ZoomSetting {
@ -211,6 +212,7 @@ export class DocumentDetailComponent
}
get contentRenderType(): ContentRenderType {
if (!this.metadata) return ContentRenderType.Unknown
const contentType = this.metadata?.has_archive_version
? 'application/pdf'
: this.metadata?.original_mime_type

View File

@ -18,7 +18,7 @@
</select>
}
@if (_textFilter) {
<button class="btn btn-link btn-sm px-0 position-absolute top-0 end-0 z-10" (click)="resetTextField()">
<button class="btn btn-link btn-sm px-2 position-absolute top-0 end-0 z-10" (click)="resetTextField()">
<i-bs width="1em" height="1em" name="x"></i-bs>
</button>
}

View File

@ -5,7 +5,7 @@
</button>
</div>
<div class="modal-body">
<pngx-input-text i18n-title title="Name" formControlName="name" [error]="error?.name"></pngx-input-text>
<pngx-input-text i18n-title title="Name" formControlName="name" [error]="error?.name" autocomplete="off"></pngx-input-text>
<pngx-input-check i18n-title title="Show in sidebar" formControlName="showInSideBar"></pngx-input-check>
<pngx-input-check i18n-title title="Show on dashboard" formControlName="showOnDashboard"></pngx-input-check>
@if (error?.filter_rules) {

View File

@ -5,7 +5,7 @@ export const environment = {
apiBaseUrl: document.baseURI + 'api/',
apiVersion: '4',
appTitle: 'Paperless-ngx',
version: '2.4.0-dev',
version: '2.4.3-dev',
webSocketHost: window.location.host,
webSocketProtocol: window.location.protocol == 'https:' ? 'wss:' : 'ws:',
webSocketBaseUrl: base_url.pathname + 'ws/',

View File

@ -497,7 +497,7 @@
<context context-type="sourcefile">src/app/components/admin/config/config.component.html</context>
<context context-type="linenumber">34</context>
</context-group>
<target state="needs-translation">Enable</target>
<target state="translated">تمكين</target>
</trans-unit>
<trans-unit id="3823219296477075982" datatype="html" approved="yes">
<source>Discard</source>
@ -589,7 +589,7 @@
<context context-type="sourcefile">src/app/components/admin/config/config.component.ts</context>
<context context-type="linenumber">107</context>
</context-group>
<target state="needs-translation">Invalid JSON</target>
<target state="translated">JSON غير صالح</target>
</trans-unit>
<trans-unit id="5103146006962696736" datatype="html">
<source>Configuration updated</source>
@ -657,7 +657,7 @@
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.html</context>
<context context-type="linenumber">16</context>
</context-group>
<target state="needs-translation">Auto refresh</target>
<target state="translated">تحديث تلقائي</target>
</trans-unit>
<trans-unit id="3894950702316166331" datatype="html">
<source>Loading...</source>
@ -3289,7 +3289,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html</context>
<context context-type="linenumber">25</context>
</context-group>
<target state="needs-translation">Do not consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive.</target>
<target state="translated">لا تستهلك المستندات التي تتطابق تماما مع اسم الملف هذا إذا تم تحديده. البطاقات البرية مثل *.pdf أو *الفاتورة* مسموح بها. الحالة غير حساسة.</target>
</trans-unit>
<trans-unit id="9216117865911519658" datatype="html">
<source>Action</source>
@ -3749,7 +3749,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">30</context>
</context-group>
<target state="needs-translation">Add Trigger</target>
<target state="translated">إضافة مشغل</target>
</trans-unit>
<trans-unit id="6882912390704300247" datatype="html">
<source>Apply Actions:</source>
@ -3757,7 +3757,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">66</context>
</context-group>
<target state="needs-translation">Apply Actions:</target>
<target state="translated">تطبيق الإجراءات:</target>
</trans-unit>
<trans-unit id="51883444329775670" datatype="html">
<source>Add Action</source>
@ -3765,7 +3765,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">68</context>
</context-group>
<target state="needs-translation">Add Action</target>
<target state="translated">إضافة اجراء</target>
</trans-unit>
<trans-unit id="6417103744331194518" datatype="html">
<source>Action type</source>
@ -3773,7 +3773,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">86</context>
</context-group>
<target state="needs-translation">Action type</target>
<target state="translated">نوع الإجراء</target>
</trans-unit>
<trans-unit id="6019822389883736115" datatype="html">
<source>Assign title</source>
@ -3789,7 +3789,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">90</context>
</context-group>
<target state="needs-translation">Can include some placeholders, see &lt;a target='_blank' href='https://docs.paperless-ngx.com/usage/#workflows'&gt;documentation&lt;/a&gt;.</target>
<target state="translated">يمكن أن تتضمن بعض العناصر النائبة، انظر &lt;a target='_blank' href='https://docs.paperless-ngx.com/usage/#workflows'&gt;المستندات&lt;/a&gt;.</target>
</trans-unit>
<trans-unit id="6528897010417701530" datatype="html">
<source>Assign tags</source>
@ -3813,7 +3813,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">95</context>
</context-group>
<target state="needs-translation">Assign custom fields</target>
<target state="translated">تعيين حقول مخصصة</target>
</trans-unit>
<trans-unit id="5057200219587080996" datatype="html">
<source>Assign owner</source>
@ -3845,7 +3845,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">166</context>
</context-group>
<target state="needs-translation">Trigger type</target>
<target state="translated">نوع المشغل</target>
</trans-unit>
<trans-unit id="8727727835543352574" datatype="html">
<source>Trigger for documents that match <x id="START_EMPHASISED_TEXT" ctype="x-em" equiv-text="&lt;em&gt;"/>all<x id="CLOSE_EMPHASISED_TEXT" ctype="x-em" equiv-text="&lt;/em&gt;"/> filters specified below.</source>
@ -3853,7 +3853,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">167</context>
</context-group>
<target state="needs-translation">Trigger for documents that match <x id="START_EMPHASISED_TEXT" ctype="x-em" equiv-text="&lt;em&gt;"/>all<x id="CLOSE_EMPHASISED_TEXT" ctype="x-em" equiv-text="&lt;/em&gt;"/> filters specified below.</target>
<target state="translated">المشغل للمستندات التي تطابق <x id="START_EMPHASISED_TEXT" ctype="x-em" equiv-text="&lt;em&gt;"/>جميع الفلاتر<x id="CLOSE_EMPHASISED_TEXT" ctype="x-em" equiv-text="&lt;/em&gt;"/> المحددة أدناه.</target>
</trans-unit>
<trans-unit id="7467799586957602479" datatype="html">
<source>Filter filename</source>
@ -4005,7 +4005,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts</context>
<context context-type="linenumber">69</context>
</context-group>
<target state="needs-translation">Assignment</target>
<target state="translated">المهام</target>
</trans-unit>
<trans-unit id="3138206142174978019" datatype="html">
<source>Create new workflow</source>
@ -4013,7 +4013,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts</context>
<context context-type="linenumber">137</context>
</context-group>
<target state="needs-translation">Create new workflow</target>
<target state="translated">إنشاء سير عمل جديد</target>
</trans-unit>
<trans-unit id="5996779210524133604" datatype="html">
<source>Edit workflow</source>
@ -4021,7 +4021,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts</context>
<context context-type="linenumber">141</context>
</context-group>
<target state="needs-translation">Edit workflow</target>
<target state="translated">تعديل سير العمل</target>
</trans-unit>
<trans-unit id="1616102757855967475" datatype="html">
<source>All</source>
@ -4138,7 +4138,7 @@
<context context-type="sourcefile">src/app/components/common/input/url/url.component.html</context>
<context context-type="linenumber">7</context>
</context-group>
<target state="needs-translation">Remove</target>
<target state="translated">إزالة</target>
</trans-unit>
<trans-unit id="445302259125375799" datatype="html" approved="yes">
<source>Invalid date.</source>
@ -4182,7 +4182,7 @@
<context context-type="sourcefile">src/app/components/common/input/document-link/document-link.component.ts</context>
<context context-type="linenumber">44</context>
</context-group>
<target state="needs-translation">No documents found</target>
<target state="translated">لم يتم العثور على مستندات</target>
</trans-unit>
<trans-unit id="6932865105766151309" datatype="html">
<source>Upload</source>
@ -4190,7 +4190,7 @@
<context context-type="sourcefile">src/app/components/common/input/file/file.component.html</context>
<context context-type="linenumber">15</context>
</context-group>
<target state="needs-translation">Upload</target>
<target state="translated">رفع</target>
</trans-unit>
<trans-unit id="5554528553553249088" datatype="html">
<source>Show password</source>
@ -4198,7 +4198,7 @@
<context context-type="sourcefile">src/app/components/common/input/password/password.component.html</context>
<context context-type="linenumber">6</context>
</context-group>
<target state="needs-translation">Show password</target>
<target state="translated">عرض كلمة المرور</target>
</trans-unit>
<trans-unit id="594042705136125260" datatype="html">
<source>Edit Permissions</source>
@ -4267,7 +4267,7 @@
<context context-type="sourcefile">src/app/components/common/input/select/select.component.ts</context>
<context context-type="linenumber">92</context>
</context-group>
<target state="needs-translation">No items found</target>
<target state="translated">لم يتم العثور على أي عنصر</target>
</trans-unit>
<trans-unit id="6541407358060244620" datatype="html">
<source>Note: value has not yet been set and will not apply until explicitly changed</source>
@ -4275,7 +4275,7 @@
<context context-type="sourcefile">src/app/components/common/input/switch/switch.component.html</context>
<context context-type="linenumber">39</context>
</context-group>
<target state="needs-translation">Note: value has not yet been set and will not apply until explicitly changed</target>
<target state="translated">ملاحظة: لم يتم بعد تعيين القيمة ولن تنطبق حتى يتم تغييرها بشكل صريح</target>
</trans-unit>
<trans-unit id="6560126119609945418" datatype="html">
<source>Add tag</source>
@ -4299,7 +4299,7 @@
<context context-type="sourcefile">src/app/components/common/input/url/url.component.html</context>
<context context-type="linenumber">14</context>
</context-group>
<target state="needs-translation">Open link</target>
<target state="translated">فتح الرابط</target>
</trans-unit>
<trans-unit id="5752465522295465624" datatype="html">
<source>What&apos;s this?</source>
@ -4307,7 +4307,7 @@
<context context-type="sourcefile">src/app/components/common/page-header/page-header.component.html</context>
<context context-type="linenumber">9</context>
</context-group>
<target state="needs-translation">What's this?</target>
<target state="translated">ما هذا؟</target>
</trans-unit>
<trans-unit id="2827984212740060090" datatype="html">
<source>Read more</source>
@ -4315,7 +4315,7 @@
<context context-type="sourcefile">src/app/components/common/page-header/page-header.component.html</context>
<context context-type="linenumber">15</context>
</context-group>
<target state="needs-translation">Read more</target>
<target state="translated">اقرأ المزيد</target>
</trans-unit>
<trans-unit id="7062872617520618723" datatype="html">
<source>Set permissions</source>
@ -4363,7 +4363,7 @@
<context context-type="sourcefile">src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.html</context>
<context context-type="linenumber">46</context>
</context-group>
<target state="needs-translation">Shared by me</target>
<target state="translated">تم المشاركة من قبلي</target>
</trans-unit>
<trans-unit id="5151074932731293042" datatype="html">
<source>Unowned</source>
@ -4411,7 +4411,7 @@
<context context-type="sourcefile">src/app/components/common/preview-popup/preview-popup.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
<target state="needs-translation">Error loading preview</target>
<target state="translated">خطأ في تحميل المعاينة</target>
</trans-unit>
<trans-unit id="2984628903434675339" datatype="html">
<source>Edit Profile</source>
@ -4419,7 +4419,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html</context>
<context context-type="linenumber">3</context>
</context-group>
<target state="needs-translation">Edit Profile</target>
<target state="translated">تعديل الملف الشخصي</target>
</trans-unit>
<trans-unit id="8214169742072920158" datatype="html">
<source>Confirm Email</source>
@ -4427,7 +4427,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html</context>
<context context-type="linenumber">13</context>
</context-group>
<target state="needs-translation">Confirm Email</target>
<target state="translated">تأكيد البريد الإلكتروني</target>
</trans-unit>
<trans-unit id="3241357959735682038" datatype="html">
<source>Confirm Password</source>
@ -4435,7 +4435,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html</context>
<context context-type="linenumber">23</context>
</context-group>
<target state="needs-translation">Confirm Password</target>
<target state="translated">تأكيد كلمة المرور</target>
</trans-unit>
<trans-unit id="7554924397178347823" datatype="html">
<source>API Auth Token</source>
@ -4443,7 +4443,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html</context>
<context context-type="linenumber">31</context>
</context-group>
<target state="needs-translation">API Auth Token</target>
<target state="translated">API Auth Token</target>
</trans-unit>
<trans-unit id="4323470180912194028" datatype="html">
<source>Copy</source>
@ -4467,7 +4467,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html</context>
<context context-type="linenumber">44</context>
</context-group>
<target state="needs-translation">Regenerate auth token</target>
<target state="translated">تجديد رمز المصادقة</target>
</trans-unit>
<trans-unit id="5392341774767336507" datatype="html">
<source>Copied!</source>
@ -4487,7 +4487,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html</context>
<context context-type="linenumber">50</context>
</context-group>
<target state="needs-translation">Warning: changing the token cannot be undone</target>
<target state="translated">تحذير: لا يمكن التراجع عن تغيير رمز المصادقة</target>
</trans-unit>
<trans-unit id="6141884091799403188" datatype="html">
<source>Emails must match</source>
@ -4495,7 +4495,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts</context>
<context context-type="linenumber">94</context>
</context-group>
<target state="needs-translation">Emails must match</target>
<target state="translated">البريد الإلكتروني يجب أن يتطابق</target>
</trans-unit>
<trans-unit id="5281933990298241826" datatype="html">
<source>Passwords must match</source>
@ -4503,7 +4503,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts</context>
<context context-type="linenumber">122</context>
</context-group>
<target state="needs-translation">Passwords must match</target>
<target state="translated">يجب أن تتطابق كلمة المرور</target>
</trans-unit>
<trans-unit id="4219429959475101385" datatype="html">
<source>Profile updated successfully</source>
@ -4511,7 +4511,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts</context>
<context context-type="linenumber">142</context>
</context-group>
<target state="needs-translation">Profile updated successfully</target>
<target state="translated">تم تعديل الملف الشخصي بنجاح</target>
</trans-unit>
<trans-unit id="3417726855410304962" datatype="html">
<source>Error saving profile</source>
@ -4519,7 +4519,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts</context>
<context context-type="linenumber">154</context>
</context-group>
<target state="needs-translation">Error saving profile</target>
<target state="translated">حدث خطأ أثناء حفظ الملف الشخصي</target>
</trans-unit>
<trans-unit id="154249228726292516" datatype="html">
<source>Error generating auth token</source>
@ -4527,7 +4527,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts</context>
<context context-type="linenumber">171</context>
</context-group>
<target state="needs-translation">Error generating auth token</target>
<target state="translated">خطأ في إنشاء رمز المصادقة</target>
</trans-unit>
<trans-unit id="3797570084942068182" datatype="html" approved="yes">
<source>Select</source>

View File

@ -463,7 +463,7 @@
<context context-type="sourcefile">src/app/components/admin/config/config.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
<target state="needs-translation">Global app configuration options which apply to &lt;strong&gt;every&lt;/strong&gt; 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.</target>
<target state="translated">Opcions de configuració global d'aplicació que aplica a &lt;strong&gt;cada&lt;/strong&gt; usuari d'aquesta instal·lació de Paperless-ngx. Les opcions també es poden establir mitjançant variables d'entorn o el fitxer de configuració, però el valor aquí sempre tindrà prioritat.</target>
</trans-unit>
<trans-unit id="187187500641108332" datatype="html">
<source>
@ -645,7 +645,7 @@
<context context-type="sourcefile">src/app/components/admin/logs/logs.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
<target state="needs-translation">Review the log files for the application and for email checking.</target>
<target state="translated">Revisa els fitxers de registre de l'aplicació i per a la comprovació del correu electrònic.</target>
</trans-unit>
<trans-unit id="8838884664569764142" datatype="html">
<source>Auto refresh</source>
@ -761,7 +761,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
<target state="needs-translation">Options to customize appearance, notifications, saved views and more. Settings apply to the &lt;strong&gt;current user only&lt;/strong&gt;.</target>
<target state="translated">Opcions per personalitzar l'aparença, les notificacions, les visualitzacions desades i molt més. La configuració s'aplica només a &lt;strong&gt;l'usuari actual&lt;/strong&gt;.</target>
</trans-unit>
<trans-unit id="1685061484835793745" datatype="html">
<source>Start tour</source>
@ -3893,7 +3893,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">173</context>
</context-group>
<target state="needs-translation">Apply to documents that match this path. Wildcards specified as * are allowed. Case-normalized.&lt;/a&gt;</target>
<target state="translated">Aplica als documents que coincideixen amb aquest camí. Es permeten els comodins especificats com a *. Cas normalitzat.&lt;/a&gt;</target>
</trans-unit>
<trans-unit id="7468453896129193641" datatype="html">
<source>Filter mail rule</source>
@ -4275,7 +4275,7 @@
<context context-type="sourcefile">src/app/components/common/input/switch/switch.component.html</context>
<context context-type="linenumber">39</context>
</context-group>
<target state="needs-translation">Note: value has not yet been set and will not apply until explicitly changed</target>
<target state="translated">Nota: el valor encara no s'ha establert i no s'aplicarà fins que no es modifiqui explícitament</target>
</trans-unit>
<trans-unit id="6560126119609945418" datatype="html">
<source>Add tag</source>
@ -4723,7 +4723,7 @@
<context context-type="sourcefile">src/app/components/dashboard/dashboard.component.ts</context>
<context context-type="linenumber">40</context>
</context-group>
<target state="needs-translation">Welcome to <x id="PH" equiv-text="environment.appTitle"/></target>
<target state="translated">Benvingut a <x id="PH" equiv-text="environment.appTitle"/></target>
</trans-unit>
<trans-unit id="1325877348738783391" datatype="html">
<source>Dashboard updated</source>
@ -5314,7 +5314,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context>
<context context-type="linenumber">272,275</context>
</context-group>
<target state="needs-translation">Notes <x id="START_BLOCK_IF" equiv-text="@if (document?.notes.length) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge text-bg-secondary ms-1&quot;&gt;"/><x id="INTERPOLATION" equiv-text="ngth}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></target>
<target state="translated">Notes <x id="START_BLOCK_IF" equiv-text="@if (document?.notes.length) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge text-bg-secondary ms-1&quot;&gt;"/><x id="INTERPOLATION" equiv-text="ngth}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></target>
</trans-unit>
<trans-unit id="5129524307369213584" datatype="html">
<source>Save &amp; next</source>
@ -5354,7 +5354,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">321</context>
</context-group>
<target state="needs-translation">Document changes detected</target>
<target state="translated">Canvis detectats al document</target>
</trans-unit>
<trans-unit id="2887155916749964" datatype="html">
<source>The version of this document in your browser session appears older than the existing version.</source>
@ -5362,7 +5362,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">322</context>
</context-group>
<target state="needs-translation">The version of this document in your browser session appears older than the existing version.</target>
<target state="translated">La versió d'aquest document a la sessió del vostre navegador sembla més antiga que la versió existent.</target>
</trans-unit>
<trans-unit id="237142428785956348" datatype="html">
<source>Saving the document here may overwrite other changes that were made. To restore the existing version, discard your changes or close the document.</source>
@ -5370,7 +5370,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">323</context>
</context-group>
<target state="needs-translation">Saving the document here may overwrite other changes that were made. To restore the existing version, discard your changes or close the document.</target>
<target state="translated">Desar el document aquí pot sobreescriure altres canvis fets. Per restaurar la versió existent, descarta els canvis o tanca el document.</target>
</trans-unit>
<trans-unit id="8720977247725652816" datatype="html">
<source>Ok</source>
@ -6488,7 +6488,7 @@
<context context-type="sourcefile">src/app/components/manage/custom-fields/custom-fields.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
<target state="needs-translation">Customize the data fields that can be attached to documents.</target>
<target state="translated">Personalitza els camps de dades que es poden adjuntar als documents.</target>
</trans-unit>
<trans-unit id="8019331026479399960" datatype="html">
<source>Add Field</source>
@ -7000,7 +7000,7 @@
<context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
<target state="needs-translation">Use workflows to customize the behavior of Paperless-ngx when events 'trigger' a workflow.</target>
<target state="translated">Empra fluxos de treball per personalitzar el comportament de Paperless-ngx quan els esdeveniments "activin" un flux de treball.</target>
</trans-unit>
<trans-unit id="2437630016855517844" datatype="html">
<source>Add Workflow</source>

View File

@ -279,7 +279,7 @@
<context context-type="sourcefile">src/app/app.component.ts</context>
<context context-type="linenumber">90</context>
</context-group>
<target state="needs-translation">Document <x id="PH" equiv-text="status.filename"/> was added to Paperless-ngx.</target>
<target state="translated">Το έγγραφο <x id="PH" equiv-text="status.filename"/> προστέθηκε στο Paperless-ngx.</target>
</trans-unit>
<trans-unit id="1931214133925051574" datatype="html">
<source>Open document</source>
@ -307,7 +307,7 @@
<context context-type="sourcefile">src/app/app.component.ts</context>
<context context-type="linenumber">120</context>
</context-group>
<target state="needs-translation">Document <x id="PH" equiv-text="status.filename"/> is being processed by Paperless-ngx.</target>
<target state="translated">Το έγγραφο <x id="PH" equiv-text="status.filename"/> επεξεργάζεται από το Paperless-ngx.</target>
</trans-unit>
<trans-unit id="2501522447884928778" datatype="html">
<source>Prev</source>
@ -497,7 +497,7 @@
<context context-type="sourcefile">src/app/components/admin/config/config.component.html</context>
<context context-type="linenumber">34</context>
</context-group>
<target state="needs-translation">Enable</target>
<target state="translated">Ενεργοποίηση</target>
</trans-unit>
<trans-unit id="3823219296477075982" datatype="html">
<source>Discard</source>
@ -589,7 +589,7 @@
<context context-type="sourcefile">src/app/components/admin/config/config.component.ts</context>
<context context-type="linenumber">107</context>
</context-group>
<target state="needs-translation">Invalid JSON</target>
<target state="translated">Μη έγκυρο JSON</target>
</trans-unit>
<trans-unit id="5103146006962696736" datatype="html">
<source>Configuration updated</source>
@ -657,7 +657,7 @@
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.html</context>
<context context-type="linenumber">16</context>
</context-group>
<target state="needs-translation">Auto refresh</target>
<target state="translated">Αυτόματη ανανέωση</target>
</trans-unit>
<trans-unit id="3894950702316166331" datatype="html">
<source>Loading...</source>
@ -2469,7 +2469,7 @@
<context context-type="sourcefile">src/app/components/dashboard/widgets/statistics-widget/statistics-widget.component.html</context>
<context context-type="linenumber">74</context>
</context-group>
<target state="needs-translation">Document Types</target>
<target state="translated">Τύποι Εγγράφων</target>
</trans-unit>
<trans-unit id="5421255270838137624" datatype="html">
<source>Storage Paths</source>
@ -2485,7 +2485,7 @@
<context context-type="sourcefile">src/app/components/dashboard/widgets/statistics-widget/statistics-widget.component.html</context>
<context context-type="linenumber">82</context>
</context-group>
<target state="needs-translation">Storage Paths</target>
<target state="translated">Διαδρομές Αποθήκευσης</target>
</trans-unit>
<trans-unit id="3188389494264426470" datatype="html">
<source>Custom Fields</source>
@ -2521,7 +2521,7 @@
<context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.html</context>
<context context-type="linenumber">2</context>
</context-group>
<target state="needs-translation">Workflows</target>
<target state="translated">Ροές εργασίας</target>
</trans-unit>
<trans-unit id="1292737233370901804" datatype="html">
<source>Mail</source>
@ -3981,7 +3981,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts</context>
<context context-type="linenumber">54</context>
</context-group>
<target state="needs-translation">Consumption Started</target>
<target state="translated">Η Κατανάλωση Ξεκίνησε</target>
</trans-unit>
<trans-unit id="7858311467093621703" datatype="html">
<source>Document Added</source>
@ -4307,7 +4307,7 @@
<context context-type="sourcefile">src/app/components/common/page-header/page-header.component.html</context>
<context context-type="linenumber">9</context>
</context-group>
<target state="needs-translation">What's this?</target>
<target state="translated">Τι είναι αυτό;</target>
</trans-unit>
<trans-unit id="2827984212740060090" datatype="html">
<source>Read more</source>
@ -4419,7 +4419,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html</context>
<context context-type="linenumber">3</context>
</context-group>
<target state="needs-translation">Edit Profile</target>
<target state="translated">Επεξεργασία Προφίλ</target>
</trans-unit>
<trans-unit id="8214169742072920158" datatype="html">
<source>Confirm Email</source>
@ -4427,7 +4427,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html</context>
<context context-type="linenumber">13</context>
</context-group>
<target state="needs-translation">Confirm Email</target>
<target state="translated">Επιβεβαίωση Email</target>
</trans-unit>
<trans-unit id="3241357959735682038" datatype="html">
<source>Confirm Password</source>
@ -4435,7 +4435,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html</context>
<context context-type="linenumber">23</context>
</context-group>
<target state="needs-translation">Confirm Password</target>
<target state="translated">Επιβεβαίωση Κωδικού</target>
</trans-unit>
<trans-unit id="7554924397178347823" datatype="html">
<source>API Auth Token</source>
@ -4443,7 +4443,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html</context>
<context context-type="linenumber">31</context>
</context-group>
<target state="needs-translation">API Auth Token</target>
<target state="translated">API Auth Token</target>
</trans-unit>
<trans-unit id="4323470180912194028" datatype="html">
<source>Copy</source>
@ -4843,7 +4843,7 @@
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
<context context-type="linenumber">57</context>
</context-group>
<target state="needs-translation">No documents</target>
<target state="translated">Δεν υπάρχουν έγγραφα</target>
</trans-unit>
<trans-unit id="1069523139277190436" datatype="html">
<source>Statistics</source>
@ -5054,7 +5054,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context>
<context context-type="linenumber">9</context>
</context-group>
<target state="needs-translation">-</target>
<target state="translated">-</target>
</trans-unit>
<trans-unit id="8479257185772414452" datatype="html">
<source>+</source>
@ -5062,7 +5062,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context>
<context context-type="linenumber">17</context>
</context-group>
<target state="needs-translation">+</target>
<target state="translated">+</target>
</trans-unit>
<trans-unit id="8659635229098859487" datatype="html">
<source>Download original</source>
@ -5378,7 +5378,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">325</context>
</context-group>
<target state="needs-translation">Ok</target>
<target state="translated">Οκ</target>
</trans-unit>
<trans-unit id="5758784066858623886" datatype="html">
<source>Error retrieving metadata</source>
@ -7096,7 +7096,7 @@
<context context-type="sourcefile">src/app/data/custom-field.ts</context>
<context context-type="linenumber">17</context>
</context-group>
<target state="needs-translation">Boolean</target>
<target state="translated">Δυαδικό</target>
</trans-unit>
<trans-unit id="3973931101896534797" datatype="html">
<source>Date</source>
@ -7104,7 +7104,7 @@
<context context-type="sourcefile">src/app/data/custom-field.ts</context>
<context context-type="linenumber">21</context>
</context-group>
<target state="needs-translation">Date</target>
<target state="translated">Ημερομηνία</target>
</trans-unit>
<trans-unit id="362956598863566327" datatype="html">
<source>Integer</source>
@ -7112,7 +7112,7 @@
<context context-type="sourcefile">src/app/data/custom-field.ts</context>
<context context-type="linenumber">25</context>
</context-group>
<target state="needs-translation">Integer</target>
<target state="translated">Ακέραιος</target>
</trans-unit>
<trans-unit id="6370642728789544052" datatype="html">
<source>Number</source>
@ -7120,7 +7120,7 @@
<context context-type="sourcefile">src/app/data/custom-field.ts</context>
<context context-type="linenumber">29</context>
</context-group>
<target state="needs-translation">Number</target>
<target state="translated">Αριθμός</target>
</trans-unit>
<trans-unit id="6430409302408843009" datatype="html">
<source>Monetary</source>
@ -7128,7 +7128,7 @@
<context context-type="sourcefile">src/app/data/custom-field.ts</context>
<context context-type="linenumber">33</context>
</context-group>
<target state="needs-translation">Monetary</target>
<target state="translated">Νομισματικό</target>
</trans-unit>
<trans-unit id="6162693758764653365" datatype="html">
<source>Text</source>
@ -7136,7 +7136,7 @@
<context context-type="sourcefile">src/app/data/custom-field.ts</context>
<context context-type="linenumber">37</context>
</context-group>
<target state="needs-translation">Text</target>
<target state="translated">Κείμενο</target>
</trans-unit>
<trans-unit id="8308045076391224954" datatype="html">
<source>Url</source>

View File

@ -449,21 +449,21 @@
</context-group>
<target state="final">Enfin, au nom de chaque contributeur à ce projet soutenu par la communauté, merci d'utiliser Paperless-ngx !</target>
</trans-unit>
<trans-unit id="9063918187161876141" datatype="html">
<trans-unit id="9063918187161876141" datatype="html" approved="yes">
<source>Application Configuration</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/admin/config/config.component.html</context>
<context context-type="linenumber">2</context>
</context-group>
<target state="translated">Configuration de l'application</target>
<target state="final">Configuration de l'application</target>
</trans-unit>
<trans-unit id="8528041182664173532" datatype="html">
<trans-unit id="8528041182664173532" datatype="html" approved="yes">
<source>Global app configuration options which apply to &lt;strong&gt;every&lt;/strong&gt; 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.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/admin/config/config.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
<target state="translated">Les options de configuration de l'application globaux s'appliquent à &lt;strong&gt;tous&lt;/strong&gt; les utilisateurs de cette installation de Paperless-ngx. Les options peuvent aussi être définies en utilisant les variables d'environnement ou le fichier de configuration mais la valeur ici sera toujours prioritaire.</target>
<target state="final">Les options de configuration de l'application globaux s'appliquent à &lt;strong&gt;tous&lt;/strong&gt; les utilisateurs de cette installation de Paperless-ngx. Les options peuvent aussi être définies en utilisant les variables d'environnement ou le fichier de configuration mais la valeur ici sera toujours prioritaire.</target>
</trans-unit>
<trans-unit id="187187500641108332" datatype="html">
<source>
@ -483,13 +483,13 @@
</context-group>
<target state="translated"><x id="INTERPOLATION" equiv-text="ategory}}"/></target>
</trans-unit>
<trans-unit id="7991430199894172363" datatype="html">
<trans-unit id="7991430199894172363" datatype="html" approved="yes">
<source>Read the documentation about this setting</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/admin/config/config.component.html</context>
<context context-type="linenumber">25</context>
</context-group>
<target state="translated">Lire la documentation à propos de ce paramètre</target>
<target state="final">Lire la documentation à propos de ce paramètre</target>
</trans-unit>
<trans-unit id="2180291763949669799" datatype="html">
<source>Enable</source>
@ -591,13 +591,13 @@
</context-group>
<target state="translated">JSON non valide</target>
</trans-unit>
<trans-unit id="5103146006962696736" datatype="html">
<trans-unit id="5103146006962696736" datatype="html" approved="yes">
<source>Configuration updated</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/admin/config/config.component.ts</context>
<context context-type="linenumber">151</context>
</context-group>
<target state="translated">Configuration mise a jour</target>
<target state="final">Configuration mise à jour</target>
</trans-unit>
<trans-unit id="1664963291286452273" datatype="html">
<source>An error occurred updating configuration</source>
@ -607,21 +607,21 @@
</context-group>
<target state="translated">Une erreur s'est produite lors de la mise à jour de la configuration</target>
</trans-unit>
<trans-unit id="2653081282186526824" datatype="html">
<trans-unit id="2653081282186526824" datatype="html" approved="yes">
<source>File successfully updated</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/admin/config/config.component.ts</context>
<context context-type="linenumber">178</context>
</context-group>
<target state="translated">Fichier téléversé avec succès</target>
<target state="final">Fichier téléversé avec succès</target>
</trans-unit>
<trans-unit id="5902783625859504265" datatype="html">
<trans-unit id="5902783625859504265" datatype="html" approved="yes">
<source>An error occurred uploading file</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/admin/config/config.component.ts</context>
<context context-type="linenumber">183</context>
</context-group>
<target state="translated">Une erreur s'est produite lors du téléversement du fichier</target>
<target state="final">Une erreur s'est produite lors du téléversement du fichier</target>
</trans-unit>
<trans-unit id="4804785061014590286" datatype="html" approved="yes">
<source>Logs</source>
@ -639,13 +639,13 @@
</context-group>
<target state="final">Journaux</target>
</trans-unit>
<trans-unit id="2272120016352772836" datatype="html">
<trans-unit id="2272120016352772836" datatype="html" approved="yes">
<source>Review the log files for the application and for email checking.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/admin/logs/logs.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
<target state="translated">Consultez les fichiers journaux pour l'application et pour la vérification des courriels.</target>
<target state="final">Consultez les journaux de l'application ainsi que ceux des courriels.</target>
</trans-unit>
<trans-unit id="8838884664569764142" datatype="html" approved="yes">
<source>Auto refresh</source>
@ -729,7 +729,7 @@
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context>
<context context-type="linenumber">48</context>
</context-group>
<target state="final">Chargement ...</target>
<target state="final">Chargement...</target>
</trans-unit>
<trans-unit id="4930506384627295710" datatype="html" approved="yes">
<source>Settings</source>
@ -755,13 +755,13 @@
</context-group>
<target state="final">Paramètres</target>
</trans-unit>
<trans-unit id="4999473193657330663" datatype="html">
<trans-unit id="4999473193657330663" datatype="html" approved="yes">
<source>Options to customize appearance, notifications, saved views and more. Settings apply to the &lt;strong&gt;current user only&lt;/strong&gt;.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
<target state="translated">Options pour personnaliser l'apparence, les notifrications, les vues sauvegardées et bien plus. Les paramètres s'appliquent à l'&lt;strong&gt;utilisateur actuel uniquement&lt;/strong&gt;.</target>
<target state="final">Options pour personnaliser l'apparence, les notifications, les vues sauvegardées et bien plus. Les paramètres s'appliquent à l'&lt;strong&gt;utilisateur actuel uniquement&lt;/strong&gt;.</target>
</trans-unit>
<trans-unit id="1685061484835793745" datatype="html" approved="yes">
<source>Start tour</source>
@ -1825,39 +1825,39 @@
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.html</context>
<context context-type="linenumber">111</context>
</context-group>
<target state="translated">(<x id="INTERPOLATION" equiv-text="{{selectedTasks.size}}"/> sélectionné(s))</target>
<target state="translated"> (<x id="INTERPOLATION" equiv-text="{{selectedTasks.size}}"/> sélectionné(s))</target>
</trans-unit>
<trans-unit id="5639839509673911668" datatype="html">
<trans-unit id="5639839509673911668" datatype="html" approved="yes">
<source>Failed<x id="START_BLOCK_IF" equiv-text="@if (tasksService.failedFileTasks.length &gt; 0) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge bg-danger ms-2&quot;&gt;"/><x id="INTERPOLATION" equiv-text="{{tasksService.failedFileTasks.length}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.html</context>
<context context-type="linenumber">123,125</context>
</context-group>
<target state="translated"><x id="START_BLOCK_IF" equiv-text="@if (tasksService.failedFileTasks.length &gt; 0) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge bg-danger ms-2&quot;&gt;"/><x id="INTERPOLATION" equiv-text="{{tasksService.failedFileTasks.length}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/> échoué(s)</target>
<target state="final"><x id="START_BLOCK_IF" equiv-text="@if (tasksService.failedFileTasks.length &gt; 0) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge bg-danger ms-2&quot;&gt;"/><x id="INTERPOLATION" equiv-text="{{tasksService.failedFileTasks.length}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/> Échoué(s)</target>
</trans-unit>
<trans-unit id="8210778930307085868" datatype="html">
<trans-unit id="8210778930307085868" datatype="html" approved="yes">
<source>Complete<x id="START_BLOCK_IF" equiv-text="@if (tasksService.completedFileTasks.length &gt; 0) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge bg-secondary ms-2&quot;&gt;"/><x id="INTERPOLATION" equiv-text="{{tasksService.completedFileTasks.length}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.html</context>
<context context-type="linenumber">131,133</context>
</context-group>
<target state="translated"><x id="START_BLOCK_IF" equiv-text="@if (tasksService.completedFileTasks.length &gt; 0) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge bg-secondary ms-2&quot;&gt;"/><x id="INTERPOLATION" equiv-text="{{tasksService.completedFileTasks.length}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/> terminé(s)</target>
<target state="final"><x id="START_BLOCK_IF" equiv-text="@if (tasksService.completedFileTasks.length &gt; 0) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge bg-secondary ms-2&quot;&gt;"/><x id="INTERPOLATION" equiv-text="{{tasksService.completedFileTasks.length}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/> Terminé(s)</target>
</trans-unit>
<trans-unit id="3522801015717851360" datatype="html">
<trans-unit id="3522801015717851360" datatype="html" approved="yes">
<source>Started<x id="START_BLOCK_IF" equiv-text="@if (tasksService.startedFileTasks.length &gt; 0) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge bg-secondary ms-2&quot;&gt;"/><x id="INTERPOLATION" equiv-text="{{tasksService.startedFileTasks.length}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.html</context>
<context context-type="linenumber">139,141</context>
</context-group>
<target state="translated"><x id="START_BLOCK_IF" equiv-text="@if (tasksService.startedFileTasks.length &gt; 0) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge bg-secondary ms-2&quot;&gt;"/><x id="INTERPOLATION" equiv-text="{{tasksService.startedFileTasks.length}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/> commencé(s)</target>
<target state="final"><x id="START_BLOCK_IF" equiv-text="@if (tasksService.startedFileTasks.length &gt; 0) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge bg-secondary ms-2&quot;&gt;"/><x id="INTERPOLATION" equiv-text="{{tasksService.startedFileTasks.length}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/> Commencé(s)</target>
</trans-unit>
<trans-unit id="2341807459308874922" datatype="html">
<trans-unit id="2341807459308874922" datatype="html" approved="yes">
<source>Queued<x id="START_BLOCK_IF" equiv-text="@if (tasksService.queuedFileTasks.length &gt; 0) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge bg-secondary ms-2&quot;&gt;"/><x id="INTERPOLATION" equiv-text="{{tasksService.queuedFileTasks.length}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.html</context>
<context context-type="linenumber">147,149</context>
</context-group>
<target state="translated">Queued<x id="START_BLOCK_IF" equiv-text="@if (tasksService.queuedFileTasks.length &gt; 0) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge bg-secondary ms-2&quot;&gt;"/><x id="INTERPOLATION" equiv-text="{{tasksService.queuedFileTasks.length}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/> en attente</target>
<target state="final"><x id="START_BLOCK_IF" equiv-text="@if (tasksService.queuedFileTasks.length &gt; 0) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge bg-secondary ms-2&quot;&gt;"/><x id="INTERPOLATION" equiv-text="{{tasksService.queuedFileTasks.length}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/> En attente</target>
</trans-unit>
<trans-unit id="5404910960991552159" datatype="html" approved="yes">
<source>Dismiss selected</source>
@ -1897,7 +1897,7 @@
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
<context context-type="linenumber">133</context>
</context-group>
<target state="translated">liste d'attente</target>
<target state="translated">en attente</target>
</trans-unit>
<trans-unit id="6415892379431855826" datatype="html">
<source>started</source>
@ -1939,13 +1939,13 @@
</context-group>
<target state="final">Utilisateurs &amp; Groupes</target>
</trans-unit>
<trans-unit id="4569276013106377105" datatype="html">
<trans-unit id="4569276013106377105" datatype="html" approved="yes">
<source>Create, delete and edit users and groups.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/admin/users-groups/users-groups.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
<target state="translated">Créez, supprimez et modifiez les utilisateurs et les groupes.</target>
<target state="final">Créez, supprimez et modifiez les utilisateurs et les groupes.</target>
</trans-unit>
<trans-unit id="4555457172864212828" datatype="html" approved="yes">
<source>Users</source>
@ -2275,13 +2275,13 @@
</context-group>
<target state="final">Erreur lors de la supression du groupe.</target>
</trans-unit>
<trans-unit id="7931334600001636863" datatype="html">
<trans-unit id="7931334600001636863" datatype="html" approved="yes">
<source>by Paperless-ngx</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
<context context-type="linenumber">20</context>
</context-group>
<target state="translated">par Paperless-ngx</target>
<target state="final">par Paperless-ngx</target>
</trans-unit>
<trans-unit id="7100953725264790651" datatype="html" approved="yes">
<source>Search documents</source>
@ -2543,7 +2543,7 @@
</context-group>
<target state="final">Administration</target>
</trans-unit>
<trans-unit id="3008420115644088420" datatype="html">
<trans-unit id="3008420115644088420" datatype="html" approved="yes">
<source>Configuration</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
@ -2553,7 +2553,7 @@
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
<context context-type="linenumber">242</context>
</context-group>
<target state="translated">Configuration</target>
<target state="final">Configuration</target>
</trans-unit>
<trans-unit id="1534029177398918729" datatype="html" approved="yes">
<source>GitHub</source>
@ -4184,13 +4184,13 @@
</context-group>
<target state="translated">Aucun document trouvé</target>
</trans-unit>
<trans-unit id="6932865105766151309" datatype="html">
<trans-unit id="6932865105766151309" datatype="html" approved="yes">
<source>Upload</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/common/input/file/file.component.html</context>
<context context-type="linenumber">15</context>
</context-group>
<target state="translated">Téléverser</target>
<target state="final">Téléverser</target>
</trans-unit>
<trans-unit id="5554528553553249088" datatype="html">
<source>Show password</source>
@ -4269,13 +4269,13 @@
</context-group>
<target state="translated">Aucun élément trouvé</target>
</trans-unit>
<trans-unit id="6541407358060244620" datatype="html">
<trans-unit id="6541407358060244620" datatype="html" approved="yes">
<source>Note: value has not yet been set and will not apply until explicitly changed</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/common/input/switch/switch.component.html</context>
<context context-type="linenumber">39</context>
</context-group>
<target state="translated">Note : la valeur n'a pas encore été définie et ne sera pas appliquée jusqu'à ce que ce soit changé explicitement</target>
<target state="final">Note : la valeur n'a pas encore été définie et ne sera pas appliquée jusqu'à ce que ce soit changé explicitement</target>
</trans-unit>
<trans-unit id="6560126119609945418" datatype="html" approved="yes">
<source>Add tag</source>
@ -4301,21 +4301,21 @@
</context-group>
<target state="final">Ouvrir le lien</target>
</trans-unit>
<trans-unit id="5752465522295465624" datatype="html">
<trans-unit id="5752465522295465624" datatype="html" approved="yes">
<source>What&apos;s this?</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/common/page-header/page-header.component.html</context>
<context context-type="linenumber">9</context>
</context-group>
<target state="translated">Qu'est-ce ?</target>
<target state="final">Qu'est-ce ?</target>
</trans-unit>
<trans-unit id="2827984212740060090" datatype="html">
<trans-unit id="2827984212740060090" datatype="html" approved="yes">
<source>Read more</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/common/page-header/page-header.component.html</context>
<context context-type="linenumber">15</context>
</context-group>
<target state="translated">En savoir plus</target>
<target state="final">En savoir plus</target>
</trans-unit>
<trans-unit id="7062872617520618723" datatype="html">
<source>Set permissions</source>
@ -4709,21 +4709,21 @@
</context-group>
<target state="final">Copier l'erreur brute</target>
</trans-unit>
<trans-unit id="6581372518205328477" datatype="html">
<trans-unit id="6581372518205328477" datatype="html" approved="yes">
<source>Hello <x id="PH" equiv-text="this.settingsService.displayName"/>, welcome to <x id="PH_1" equiv-text="environment.appTitle"/></source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/dashboard/dashboard.component.ts</context>
<context context-type="linenumber">38</context>
</context-group>
<target state="translated">Bonjour <x id="PH" equiv-text="this.settingsService.displayName"/>, bienvenue sur <x id="PH_1" equiv-text="environment.appTitle"/></target>
<target state="final">Bonjour <x id="PH" equiv-text="this.settingsService.displayName"/>, bienvenue sur <x id="PH_1" equiv-text="environment.appTitle"/></target>
</trans-unit>
<trans-unit id="2901300640157872718" datatype="html">
<trans-unit id="2901300640157872718" datatype="html" approved="yes">
<source>Welcome to <x id="PH" equiv-text="environment.appTitle"/></source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/dashboard/dashboard.component.ts</context>
<context context-type="linenumber">40</context>
</context-group>
<target state="translated">Bienvenue sur <x id="PH" equiv-text="environment.appTitle"/></target>
<target state="final">Bienvenue sur <x id="PH" equiv-text="environment.appTitle"/></target>
</trans-unit>
<trans-unit id="1325877348738783391" datatype="html">
<source>Dashboard updated</source>
@ -5308,13 +5308,13 @@
</context-group>
<target state="translated">Prévisualisation</target>
</trans-unit>
<trans-unit id="7206723502037428235" datatype="html">
<trans-unit id="7206723502037428235" datatype="html" approved="yes">
<source>Notes <x id="START_BLOCK_IF" equiv-text="@if (document?.notes.length) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge text-bg-secondary ms-1&quot;&gt;"/><x id="INTERPOLATION" equiv-text="ngth}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context>
<context context-type="linenumber">272,275</context>
</context-group>
<target state="translated">Notes <x id="START_BLOCK_IF" equiv-text="@if (document?.notes.length) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge text-bg-secondary ms-1&quot;&gt;"/><x id="INTERPOLATION" equiv-text="ngth}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></target>
<target state="final">Notes <x id="START_BLOCK_IF" equiv-text="@if (document?.notes.length) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge text-bg-secondary ms-1&quot;&gt;"/><x id="INTERPOLATION" equiv-text="ngth}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></target>
</trans-unit>
<trans-unit id="5129524307369213584" datatype="html" approved="yes">
<source>Save &amp; next</source>
@ -5362,7 +5362,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">322</context>
</context-group>
<target state="translated">La version de ce docuemnt dans dans la session de votre navigateur semble plus ancien que la version existante.</target>
<target state="translated">La version de ce document dans la session de votre navigateur semble plus ancien que la version existante.</target>
</trans-unit>
<trans-unit id="237142428785956348" datatype="html">
<source>Saving the document here may overwrite other changes that were made. To restore the existing version, discard your changes or close the document.</source>
@ -5370,15 +5370,15 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">323</context>
</context-group>
<target state="translated">Sauvegarder le document ici peut écraser les autres modifications qui ont été faites. Pour restaurer la version existante, annulez vos modificatons ou fermez le document.</target>
<target state="translated">Sauvegarder le document ici peut écraser les autres modifications qui ont été faites. Pour restaurer la version existante, annulez vos modifications ou fermez le document.</target>
</trans-unit>
<trans-unit id="8720977247725652816" datatype="html">
<trans-unit id="8720977247725652816" datatype="html" approved="yes">
<source>Ok</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">325</context>
</context-group>
<target state="translated">OK</target>
<target state="final">OK</target>
</trans-unit>
<trans-unit id="5758784066858623886" datatype="html" approved="yes">
<source>Error retrieving metadata</source>
@ -6448,7 +6448,7 @@
<context context-type="sourcefile">src/app/components/file-drop/file-drop.component.ts</context>
<context context-type="linenumber">88</context>
</context-group>
<target state="final">Démarrage du téléversement...</target>
<target state="final">Démarrage du téléversement</target>
</trans-unit>
<trans-unit id="6316128875819022658" datatype="html" approved="yes">
<source>correspondent</source>
@ -6482,13 +6482,13 @@
</context-group>
<target state="final">Voulez-vous vraiment supprimer le correspondant "<x id="PH" equiv-text="object.name"/>" ?</target>
</trans-unit>
<trans-unit id="8384138406252790442" datatype="html">
<trans-unit id="8384138406252790442" datatype="html" approved="yes">
<source>Customize the data fields that can be attached to documents.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/custom-fields/custom-fields.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
<target state="translated">Personnalisez les champs de données qui peuvent être joints aux documents.</target>
<target state="final">Personnalisez les champs de données qui peuvent être joints aux documents.</target>
</trans-unit>
<trans-unit id="8019331026479399960" datatype="html" approved="yes">
<source>Add Field</source>
@ -6994,13 +6994,13 @@
</context-group>
<target state="final">Voulez-vous vraiment supprimer l'étiquette "<x id="PH" equiv-text="object.name"/>" ?</target>
</trans-unit>
<trans-unit id="1229748338333965418" datatype="html">
<trans-unit id="1229748338333965418" datatype="html" approved="yes">
<source>Use workflows to customize the behavior of Paperless-ngx when events &apos;trigger&apos; a workflow.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
<target state="translated">Utilisez les workflows pour personnaliser le comportement de Paperless-ngx lorsque des événements « déclenchent » un workflow.</target>
<target state="final">Utilisez les workflows pour personnaliser le comportement de Paperless-ngx lorsque des événements « déclenchent » un workflow.</target>
</trans-unit>
<trans-unit id="2437630016855517844" datatype="html">
<source>Add Workflow</source>
@ -7250,13 +7250,13 @@
</context-group>
<target state="final">Aucun : désactiver le rapprochement</target>
</trans-unit>
<trans-unit id="432834967329800065" datatype="html">
<trans-unit id="432834967329800065" datatype="html" approved="yes">
<source>General Settings</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">50</context>
</context-group>
<target state="translated">Paramètres généraux</target>
<target state="final">Paramètres généraux</target>
</trans-unit>
<trans-unit id="2762851116637676072" datatype="html">
<source>OCR Settings</source>
@ -7370,21 +7370,21 @@
</context-group>
<target state="translated">Arguments OCR</target>
</trans-unit>
<trans-unit id="7106327322456204362" datatype="html">
<trans-unit id="7106327322456204362" datatype="html" approved="yes">
<source>Application Logo</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">171</context>
</context-group>
<target state="translated">Logo de l'application</target>
<target state="final">Logo de l'application</target>
</trans-unit>
<trans-unit id="2684743776608068095" datatype="html">
<trans-unit id="2684743776608068095" datatype="html" approved="yes">
<source>Application Title</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">178</context>
</context-group>
<target state="translated">Titre de l'application</target>
<target state="final">Nom de l'application</target>
</trans-unit>
<trans-unit id="5948496158474272829" datatype="html" approved="yes">
<source>Warning: You have unsaved changes to your document(s).</source>
@ -7973,7 +7973,7 @@
<context context-type="sourcefile">src/app/services/upload-documents.service.ts</context>
<context context-type="linenumber">57</context>
</context-group>
<target state="final">Téléversement terminé, en attente...</target>
<target state="final">Téléversement terminé, en attente</target>
</trans-unit>
<trans-unit id="1405142710727603568" datatype="html" approved="yes">
<source>HTTP error: <x id="PH" equiv-text="error.status"/> <x id="PH_1" equiv-text="error.statusText"/></source>

View File

@ -1781,7 +1781,7 @@
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.html</context>
<context context-type="linenumber">41</context>
</context-group>
<target state="needs-translation">Info</target>
<target state="translated">情報</target>
</trans-unit>
<trans-unit id="8958063833276423847" datatype="html">
<source>click for full output</source>
@ -1789,7 +1789,7 @@
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.html</context>
<context context-type="linenumber">72</context>
</context-group>
<target state="needs-translation">click for full output</target>
<target state="translated">クリックしてすべて表示</target>
</trans-unit>
<trans-unit id="1536087519743707362" datatype="html">
<source>Dismiss</source>
@ -2813,7 +2813,7 @@
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.html</context>
<context context-type="linenumber">21</context>
</context-group>
<target state="needs-translation">now</target>
<target state="translated">現在</target>
</trans-unit>
<trans-unit id="6371576811194810854" datatype="html">
<source>After</source>
@ -3185,7 +3185,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html</context>
<context context-type="linenumber">13</context>
</context-group>
<target state="needs-translation">Maximum age (days)</target>
<target state="translated">最大有効期間 (日)</target>
</trans-unit>
<trans-unit id="7093509971705471817" datatype="html">
<source>Attachment type</source>
@ -4146,7 +4146,7 @@
<context context-type="sourcefile">src/app/components/common/input/date/date.component.html</context>
<context context-type="linenumber">25</context>
</context-group>
<target state="translated">無効な日付です</target>
<target state="translated">不正な日付です</target>
</trans-unit>
<trans-unit id="524422427194414813" datatype="html">
<source>Suggestions:</source>
@ -4259,7 +4259,7 @@
<context context-type="sourcefile">src/app/components/document-list/document-card-small/document-card-small.component.ts</context>
<context context-type="linenumber">77</context>
</context-group>
<target state="needs-translation">Private</target>
<target state="translated">非公開</target>
</trans-unit>
<trans-unit id="2504502765849142619" datatype="html">
<source>No items found</source>
@ -7360,7 +7360,7 @@
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">156</context>
</context-group>
<target state="translated">色変換</target>
<target state="translated">色変換ストラテジー</target>
</trans-unit>
<trans-unit id="4696480417479207939" datatype="html">
<source>OCR Arguments</source>
@ -7669,7 +7669,7 @@
<context context-type="linenumber">33</context>
</context-group>
<note priority="1" from="description">Score is a value returned by the full text search engine and specifies how well a result matches the given query</note>
<target state="needs-translation">Search score</target>
<target state="translated">検索スコア</target>
</trans-unit>
<trans-unit id="1206520795340730278" datatype="html">
<source>English (US)</source>
@ -7933,7 +7933,7 @@
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
<context context-type="linenumber">471</context>
</context-group>
<target state="needs-translation">Successfully completed one-time migratration of settings to the database!</target>
<target state="translated">データベースへのワンタイム設定移行が正常に完了しました!</target>
</trans-unit>
<trans-unit id="5558341108007064934" datatype="html">
<source>Unable to migrate settings to the database, please try saving manually.</source>
@ -7941,7 +7941,7 @@
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
<context context-type="linenumber">472</context>
</context-group>
<target state="needs-translation">Unable to migrate settings to the database, please try saving manually.</target>
<target state="translated">データベースに設定を移行できません。手動で保存してみてください。</target>
</trans-unit>
<trans-unit id="1168781785897678748" datatype="html">
<source>You can restart the tour from the settings page.</source>

View File

@ -3621,7 +3621,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/tag-edit-dialog/tag-edit-dialog.component.ts</context>
<context context-type="linenumber">32</context>
</context-group>
<target state="final">Etiket bewerken</target>
<target state="final">Label bewerken</target>
</trans-unit>
<trans-unit id="4768749765465246664" datatype="html">
<source>Email</source>

View File

@ -589,7 +589,7 @@
<context context-type="sourcefile">src/app/components/admin/config/config.component.ts</context>
<context context-type="linenumber">107</context>
</context-group>
<target state="needs-translation">Invalid JSON</target>
<target state="translated">Geçersiz JSON</target>
</trans-unit>
<trans-unit id="5103146006962696736" datatype="html">
<source>Configuration updated</source>
@ -621,7 +621,7 @@
<context context-type="sourcefile">src/app/components/admin/config/config.component.ts</context>
<context context-type="linenumber">183</context>
</context-group>
<target state="needs-translation">An error occurred uploading file</target>
<target state="translated">Dosya yüklenirken bir hata oluştu</target>
</trans-unit>
<trans-unit id="4804785061014590286" datatype="html">
<source>Logs</source>
@ -657,7 +657,7 @@
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.html</context>
<context context-type="linenumber">16</context>
</context-group>
<target state="needs-translation">Auto refresh</target>
<target state="translated">Otomatik yenileme</target>
</trans-unit>
<trans-unit id="3894950702316166331" datatype="html">
<source>Loading...</source>
@ -1913,7 +1913,7 @@
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
<context context-type="linenumber">137</context>
</context-group>
<target state="needs-translation">completed</target>
<target state="translated">tamamlandı</target>
</trans-unit>
<trans-unit id="4083337005045748464" datatype="html">
<source>failed</source>
@ -1965,7 +1965,7 @@
<context context-type="sourcefile">src/app/components/admin/users-groups/users-groups.component.html</context>
<context context-type="linenumber">14</context>
</context-group>
<target state="needs-translation">Add User</target>
<target state="translated">Kullanıcı Ekle</target>
</trans-unit>
<trans-unit id="5248717555542428023" datatype="html">
<source>Username</source>
@ -2081,7 +2081,7 @@
<context context-type="sourcefile">src/app/components/admin/users-groups/users-groups.component.html</context>
<context context-type="linenumber">52</context>
</context-group>
<target state="needs-translation">Add Group</target>
<target state="translated">Grup Ekle</target>
</trans-unit>
<trans-unit id="4746158651610481283" datatype="html">
<source>No groups defined</source>
@ -2133,7 +2133,7 @@
<context context-type="sourcefile">src/app/components/admin/users-groups/users-groups.component.ts</context>
<context context-type="linenumber">115</context>
</context-group>
<target state="needs-translation">This operation will permanently delete this user account.</target>
<target state="translated">Bu eylem kullanıcıyı kalıcı olarak silecek.</target>
</trans-unit>
<trans-unit id="5641451190833696892" datatype="html">
<source>This operation cannot be undone.</source>
@ -2305,7 +2305,7 @@
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
<context context-type="linenumber">55</context>
</context-group>
<target state="needs-translation">My Profile</target>
<target state="translated">Profilim</target>
</trans-unit>
<trans-unit id="3797778920049399855" datatype="html">
<source>Logout</source>
@ -3645,7 +3645,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html</context>
<context context-type="linenumber">28</context>
</context-group>
<target state="needs-translation">First name</target>
<target state="translated">İsim</target>
</trans-unit>
<trans-unit id="3586674587150281199" datatype="html">
<source>Last name</source>
@ -3657,7 +3657,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html</context>
<context context-type="linenumber">29</context>
</context-group>
<target state="needs-translation">Last name</target>
<target state="translated">Soyisim</target>
</trans-unit>
<trans-unit id="8204176479746810612" datatype="html">
<source>Active</source>
@ -3765,7 +3765,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">68</context>
</context-group>
<target state="needs-translation">Add Action</target>
<target state="translated">Eylem Ekle</target>
</trans-unit>
<trans-unit id="6417103744331194518" datatype="html">
<source>Action type</source>
@ -4138,7 +4138,7 @@
<context context-type="sourcefile">src/app/components/common/input/url/url.component.html</context>
<context context-type="linenumber">7</context>
</context-group>
<target state="needs-translation">Remove</target>
<target state="translated">Kaldır</target>
</trans-unit>
<trans-unit id="445302259125375799" datatype="html">
<source>Invalid date.</source>
@ -4190,7 +4190,7 @@
<context context-type="sourcefile">src/app/components/common/input/file/file.component.html</context>
<context context-type="linenumber">15</context>
</context-group>
<target state="needs-translation">Upload</target>
<target state="translated">Yükle</target>
</trans-unit>
<trans-unit id="5554528553553249088" datatype="html">
<source>Show password</source>
@ -4307,7 +4307,7 @@
<context context-type="sourcefile">src/app/components/common/page-header/page-header.component.html</context>
<context context-type="linenumber">9</context>
</context-group>
<target state="needs-translation">What's this?</target>
<target state="translated">Bu nedir?</target>
</trans-unit>
<trans-unit id="2827984212740060090" datatype="html">
<source>Read more</source>
@ -4315,7 +4315,7 @@
<context context-type="sourcefile">src/app/components/common/page-header/page-header.component.html</context>
<context context-type="linenumber">15</context>
</context-group>
<target state="needs-translation">Read more</target>
<target state="translated">Daha fazla oku</target>
</trans-unit>
<trans-unit id="7062872617520618723" datatype="html">
<source>Set permissions</source>
@ -4323,7 +4323,7 @@
<context context-type="sourcefile">src/app/components/common/permissions-dialog/permissions-dialog.component.ts</context>
<context context-type="linenumber">28</context>
</context-group>
<target state="needs-translation">Set permissions</target>
<target state="translated">İzinleri ayarla</target>
</trans-unit>
<trans-unit id="1678966148862835666" datatype="html">
<source>Edit permissions for </source>
@ -4347,7 +4347,7 @@
<context context-type="sourcefile">src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.html</context>
<context context-type="linenumber">26</context>
</context-group>
<target state="needs-translation">My documents</target>
<target state="translated">Belgelerim</target>
</trans-unit>
<trans-unit id="231920238966427751" datatype="html">
<source>Shared with me</source>
@ -4355,7 +4355,7 @@
<context context-type="sourcefile">src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.html</context>
<context context-type="linenumber">36</context>
</context-group>
<target state="needs-translation">Shared with me</target>
<target state="translated">Benimle paylaşılan</target>
</trans-unit>
<trans-unit id="175385209536581523" datatype="html">
<source>Shared by me</source>
@ -4363,7 +4363,7 @@
<context context-type="sourcefile">src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.html</context>
<context context-type="linenumber">46</context>
</context-group>
<target state="needs-translation">Shared by me</target>
<target state="translated">Benim paylaştıklarım</target>
</trans-unit>
<trans-unit id="5151074932731293042" datatype="html">
<source>Unowned</source>
@ -4371,7 +4371,7 @@
<context context-type="sourcefile">src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.html</context>
<context context-type="linenumber">56</context>
</context-group>
<target state="needs-translation">Unowned</target>
<target state="translated">Sahipsiz</target>
</trans-unit>
<trans-unit id="8999708063434507268" datatype="html">
<source>Hide unowned</source>
@ -4459,7 +4459,7 @@
<context context-type="sourcefile">src/app/components/common/share-links-dropdown/share-links-dropdown.component.html</context>
<context context-type="linenumber">29</context>
</context-group>
<target state="needs-translation">Copy</target>
<target state="translated">Kopyala</target>
</trans-unit>
<trans-unit id="595732867213154214" datatype="html">
<source>Regenerate auth token</source>
@ -4479,7 +4479,7 @@
<context context-type="sourcefile">src/app/components/common/share-links-dropdown/share-links-dropdown.component.html</context>
<context context-type="linenumber">40</context>
</context-group>
<target state="needs-translation">Copied!</target>
<target state="translated">Kopyalandı!</target>
</trans-unit>
<trans-unit id="4369881772624105142" datatype="html">
<source>Warning: changing the token cannot be undone</source>
@ -4495,7 +4495,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts</context>
<context context-type="linenumber">94</context>
</context-group>
<target state="needs-translation">Emails must match</target>
<target state="translated">Emailler eşleşmeli</target>
</trans-unit>
<trans-unit id="5281933990298241826" datatype="html">
<source>Passwords must match</source>
@ -4503,7 +4503,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts</context>
<context context-type="linenumber">122</context>
</context-group>
<target state="needs-translation">Passwords must match</target>
<target state="translated">Şifreler eşleşmeli</target>
</trans-unit>
<trans-unit id="4219429959475101385" datatype="html">
<source>Profile updated successfully</source>
@ -4511,7 +4511,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts</context>
<context context-type="linenumber">142</context>
</context-group>
<target state="needs-translation">Profile updated successfully</target>
<target state="translated">Profil başarıyla güncellendi</target>
</trans-unit>
<trans-unit id="3417726855410304962" datatype="html">
<source>Error saving profile</source>

View File

@ -279,7 +279,7 @@
<context context-type="sourcefile">src/app/app.component.ts</context>
<context context-type="linenumber">90</context>
</context-group>
<target state="needs-translation">Document <x id="PH" equiv-text="status.filename"/> was added to Paperless-ngx.</target>
<target state="translated">Документ <x id="PH" equiv-text="status.filename"/> було додано до Paperless-ngx.</target>
</trans-unit>
<trans-unit id="1931214133925051574" datatype="html">
<source>Open document</source>
@ -307,7 +307,7 @@
<context context-type="sourcefile">src/app/app.component.ts</context>
<context context-type="linenumber">120</context>
</context-group>
<target state="needs-translation">Document <x id="PH" equiv-text="status.filename"/> is being processed by Paperless-ngx.</target>
<target state="translated">Документ <x id="PH" equiv-text="status.filename"/> обробляється Paperless-ngx.</target>
</trans-unit>
<trans-unit id="2501522447884928778" datatype="html">
<source>Prev</source>
@ -395,7 +395,7 @@
<context context-type="sourcefile">src/app/components/manage/mail/mail.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
<target state="needs-translation">Manage e-mail accounts and rules for automatically importing documents.</target>
<target state="translated">Управління обліковими записами електронної пошти та правилами для автоматичного імпорту документів.</target>
</trans-unit>
<trans-unit id="2258659358902319601" datatype="html">
<source>Workflows give you more control over the document pipeline.</source>
@ -403,7 +403,7 @@
<context context-type="sourcefile">src/app/app.component.ts</context>
<context context-type="linenumber">180</context>
</context-group>
<target state="needs-translation">Workflows give you more control over the document pipeline.</target>
<target state="translated">Робочі процеси дають вам більший контроль над конвеєром.</target>
</trans-unit>
<trans-unit id="4680387114119209483" datatype="html">
<source>File Tasks shows you documents that have been consumed, are waiting to be, or may have failed during the process.</source>
@ -423,7 +423,7 @@
<context context-type="sourcefile">src/app/app.component.ts</context>
<context context-type="linenumber">196</context>
</context-group>
<target state="needs-translation">Check out the settings for various tweaks to the web app and toggle settings for saved views.</target>
<target state="translated">Перевірте цю сторінку для різних налаштувань вебдодатку. Тут також можна налаштувати збережені представлення та перевірку електронної пошти.</target>
</trans-unit>
<trans-unit id="7172877665285340082" datatype="html">
<source>Thank you! 🙏</source>
@ -463,7 +463,7 @@
<context context-type="sourcefile">src/app/components/admin/config/config.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
<target state="needs-translation">Global app configuration options which apply to &lt;strong&gt;every&lt;/strong&gt; 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.</target>
<target state="translated">Параметри глобальної конфігурації програми, які застосовуються до &lt;strong&gt;кожного&lt;/strong&gt; користувач цієї інсталяції Paperless-ngx. Параметри також можна встановити за допомогою змінних середовища або файлу конфігурації, але значення тут завжди матиме перевагу.</target>
</trans-unit>
<trans-unit id="187187500641108332" datatype="html">
<source>
@ -481,7 +481,7 @@
<context context-type="sourcefile">src/app/components/common/permissions-select/permissions-select.component.html</context>
<context context-type="linenumber">22</context>
</context-group>
<target state="needs-translation"><x id="INTERPOLATION" equiv-text="ategory}}"/></target>
<target state="translated"><x id="INTERPOLATION" equiv-text="category}}"/></target>
</trans-unit>
<trans-unit id="7991430199894172363" datatype="html">
<source>Read the documentation about this setting</source>
@ -621,7 +621,7 @@
<context context-type="sourcefile">src/app/components/admin/config/config.component.ts</context>
<context context-type="linenumber">183</context>
</context-group>
<target state="needs-translation">An error occurred uploading file</target>
<target state="translated">Сталася помилка при завантаженні файлу</target>
</trans-unit>
<trans-unit id="4804785061014590286" datatype="html">
<source>Logs</source>
@ -645,7 +645,7 @@
<context context-type="sourcefile">src/app/components/admin/logs/logs.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
<target state="needs-translation">Review the log files for the application and for email checking.</target>
<target state="translated">Переглянути файли журналу для програми та перевірки пошти.</target>
</trans-unit>
<trans-unit id="8838884664569764142" datatype="html">
<source>Auto refresh</source>
@ -761,7 +761,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
<target state="needs-translation">Options to customize appearance, notifications, saved views and more. Settings apply to the &lt;strong&gt;current user only&lt;/strong&gt;.</target>
<target state="translated">Параметри налаштування зовнішнього вигляду, сповіщення, попереднього перегляду та іншого. Параметри застосовуються тільки для &lt;strong&gt;поточного користувача&lt;/strong&gt;.</target>
</trans-unit>
<trans-unit id="1685061484835793745" datatype="html">
<source>Start tour</source>
@ -817,7 +817,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">46</context>
</context-group>
<target state="translated">Локаль дати</target>
<target state="translated">Відображення дати</target>
</trans-unit>
<trans-unit id="3733378544613473393" datatype="html">
<source>Date format</source>
@ -961,7 +961,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">150,153</context>
</context-group>
<target state="needs-translation"> Update checking works by pinging the public <x id="START_LINK" ctype="x-a" equiv-text="&lt;a href=&quot;https://api.github.com/repos/paperless-ngx/paperless-ngx/releases/latest&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;"/>GitHub API<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a&gt;"/> for the latest release to determine whether a new version is available.<x id="LINE_BREAK" ctype="lb" equiv-text="&lt;br/&gt;"/> Actual updating of the app must still be performed manually. </target>
<target state="translated"> Перевірка оновлень працює шляхом перевірки загальнодоступного GitHub репозиторію<x id="START_LINK" ctype="x-a" equiv-text="&lt;a href=&quot;https://api.github.com/repos/paperless-ngx/paperless-ngx /releases/latest&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;"/>GitHub API<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a&gt;"/> для останнього випуску, щоб визначити, чи доступна нова версія.<x id="LINE_BREAK" ctype="lb" equiv-text="&lt;br/&gt;"/> Фактичне оновлення програми все одно потрібно виконувати вручну. </target>
</trans-unit>
<trans-unit id="5489945693955857309" datatype="html">
<source><x id="START_EMPHASISED_TEXT" ctype="x-em" equiv-text="&gt;"/>No tracking data is collected by the app in any way.<x id="CLOSE_EMPHASISED_TEXT" ctype="x-em" equiv-text="&lt;/em&gt;"/></source>
@ -1105,7 +1105,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">189,191</context>
</context-group>
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI </target>
<target state="translated"> Налаштування застосовуються до цього облікового запису для об'єктів (Теги, Правила пошти, тощо), створених у вебінтерфейсі </target>
</trans-unit>
<trans-unit id="4292903881380648974" datatype="html">
<source>Default Owner</source>
@ -1133,7 +1133,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">205</context>
</context-group>
<target state="needs-translation">Default View Permissions</target>
<target state="translated">Дозволи перегляду за умовчанням</target>
</trans-unit>
<trans-unit id="2191775412581217688" datatype="html">
<source>Users:</source>
@ -1197,7 +1197,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">232</context>
</context-group>
<target state="needs-translation">Default Edit Permissions</target>
<target state="translated">Дозволи на редагування за замовчуванням</target>
</trans-unit>
<trans-unit id="3728984448750213892" datatype="html">
<source>Edit permissions also grant viewing permissions</source>
@ -1825,7 +1825,7 @@
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.html</context>
<context context-type="linenumber">111</context>
</context-group>
<target state="needs-translation"> (<x id="INTERPOLATION" equiv-text="{{selectedTasks.size}}"/> selected)</target>
<target state="translated"> (<x id="INTERPOLATION" equiv-text="{{selectedTasks.size}}"/> selected)</target>
</trans-unit>
<trans-unit id="5639839509673911668" datatype="html">
<source>Failed<x id="START_BLOCK_IF" equiv-text="@if (tasksService.failedFileTasks.length &gt; 0) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge bg-danger ms-2&quot;&gt;"/><x id="INTERPOLATION" equiv-text="{{tasksService.failedFileTasks.length}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></source>
@ -1833,7 +1833,7 @@
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.html</context>
<context context-type="linenumber">123,125</context>
</context-group>
<target state="needs-translation">Failed<x id="START_BLOCK_IF" equiv-text="@if (tasksService.failedFileTasks.length &gt; 0) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge bg-danger ms-2&quot;&gt;"/><x id="INTERPOLATION" equiv-text="{{tasksService.failedFileTasks.length}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></target>
<target state="translated">Не вдалось <x id="START_BLOCK_IF" equiv-text="@if (tasksService.failedFileTasks.length &gt; 0) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge bg-danger ms-2&quot;&gt;"/><x id="INTERPOLATION" equiv-text="{{tasksService.failedFileTasks.length}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></target>
</trans-unit>
<trans-unit id="8210778930307085868" datatype="html">
<source>Complete<x id="START_BLOCK_IF" equiv-text="@if (tasksService.completedFileTasks.length &gt; 0) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge bg-secondary ms-2&quot;&gt;"/><x id="INTERPOLATION" equiv-text="{{tasksService.completedFileTasks.length}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></source>
@ -1841,7 +1841,7 @@
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.html</context>
<context context-type="linenumber">131,133</context>
</context-group>
<target state="needs-translation">Complete<x id="START_BLOCK_IF" equiv-text="@if (tasksService.completedFileTasks.length &gt; 0) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge bg-secondary ms-2&quot;&gt;"/><x id="INTERPOLATION" equiv-text="{{tasksService.completedFileTasks.length}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></target>
<target state="translated">Завершено<x id="START_BLOCK_IF" equiv-text="@if (tasksService.completedFileTasks.length &gt; 0) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge bg-secondary ms-2&quot;&gt;"/><x id="INTERPOLATION" equiv-text="{{tasksService.completedFileTasks.length}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></target>
</trans-unit>
<trans-unit id="3522801015717851360" datatype="html">
<source>Started<x id="START_BLOCK_IF" equiv-text="@if (tasksService.startedFileTasks.length &gt; 0) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge bg-secondary ms-2&quot;&gt;"/><x id="INTERPOLATION" equiv-text="{{tasksService.startedFileTasks.length}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></source>
@ -1849,7 +1849,7 @@
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.html</context>
<context context-type="linenumber">139,141</context>
</context-group>
<target state="needs-translation">Started<x id="START_BLOCK_IF" equiv-text="@if (tasksService.startedFileTasks.length &gt; 0) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge bg-secondary ms-2&quot;&gt;"/><x id="INTERPOLATION" equiv-text="{{tasksService.startedFileTasks.length}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></target>
<target state="translated">Розпочато<x id="START_BLOCK_IF" equiv-text="@if (tasksService.startedFileTasks.length &gt; 0) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge bg-secondary ms-2&quot;&gt;"/><x id="INTERPOLATION" equiv-text="{{tasksService.startedFileTasks.length}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></target>
</trans-unit>
<trans-unit id="2341807459308874922" datatype="html">
<source>Queued<x id="START_BLOCK_IF" equiv-text="@if (tasksService.queuedFileTasks.length &gt; 0) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge bg-secondary ms-2&quot;&gt;"/><x id="INTERPOLATION" equiv-text="{{tasksService.queuedFileTasks.length}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></source>
@ -1857,7 +1857,7 @@
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.html</context>
<context context-type="linenumber">147,149</context>
</context-group>
<target state="needs-translation">Queued<x id="START_BLOCK_IF" equiv-text="@if (tasksService.queuedFileTasks.length &gt; 0) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge bg-secondary ms-2&quot;&gt;"/><x id="INTERPOLATION" equiv-text="{{tasksService.queuedFileTasks.length}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></target>
<target state="translated">У черзі<x id="START_BLOCK_IF" equiv-text="@if (tasksService.queuedFileTasks.length &gt; 0) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge bg-secondary ms-2&quot;&gt;"/><x id="INTERPOLATION" equiv-text="{{tasksService.queuedFileTasks.length}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></target>
</trans-unit>
<trans-unit id="5404910960991552159" datatype="html">
<source>Dismiss selected</source>
@ -1889,7 +1889,7 @@
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
<context context-type="linenumber">65</context>
</context-group>
<target state="needs-translation">Dismiss all <x id="PH" equiv-text="tasks.size"/> tasks?</target>
<target state="translated">Скасовувати усі <x id="PH" equiv-text="tasks.size"/> завдань?</target>
</trans-unit>
<trans-unit id="9011556615675272238" datatype="html">
<source>queued</source>
@ -1945,7 +1945,7 @@
<context context-type="sourcefile">src/app/components/admin/users-groups/users-groups.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
<target state="needs-translation">Create, delete and edit users and groups.</target>
<target state="translated">Створення, видалення і редагування користувачів і груп.</target>
</trans-unit>
<trans-unit id="4555457172864212828" datatype="html">
<source>Users</source>
@ -2793,7 +2793,7 @@
<context context-type="sourcefile">src/app/components/manage/custom-fields/custom-fields.component.ts</context>
<context context-type="linenumber">56</context>
</context-group>
<target state="needs-translation">Saved field "<x id="PH" equiv-text="newField.name"/>".</target>
<target state="translated">Збережене поле "<x id="PH" equiv-text="newField.name"/>".</target>
</trans-unit>
<trans-unit id="1841172489943868696" datatype="html">
<source>Error saving field.</source>
@ -2957,7 +2957,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component.html</context>
<context context-type="linenumber">11</context>
</context-group>
<target state="needs-translation">Data type cannot be changed after a field is created</target>
<target state="translated">Тип даних не можна змінити після створення поля</target>
</trans-unit>
<trans-unit id="528950215505228201" datatype="html">
<source>Create new custom field</source>
@ -3265,7 +3265,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html</context>
<context context-type="linenumber">24</context>
</context-group>
<target state="needs-translation">Filter attachment filename includes</target>
<target state="translated">Фільтр враховує вкладену назву файлу</target>
</trans-unit>
<trans-unit id="4245210767172267486" datatype="html">
<source>Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive.</source>
@ -3281,7 +3281,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html</context>
<context context-type="linenumber">25</context>
</context-group>
<target state="needs-translation">Filter attachment filename excluding</target>
<target state="translated">Фільтр не враховує вкладену назву файлу</target>
</trans-unit>
<trans-unit id="6774472763442688477" datatype="html">
<source>Do not consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive.</source>
@ -3289,7 +3289,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html</context>
<context context-type="linenumber">25</context>
</context-group>
<target state="needs-translation">Do not consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive.</target>
<target state="translated">Обробляти лише ті документи, які повністю відповідають назві файлу, якщо вказано. Шаблони, такі як *.pdf чи *invoice* дозволені. Без врахування регістру.</target>
</trans-unit>
<trans-unit id="9216117865911519658" datatype="html">
<source>Action</source>
@ -3321,7 +3321,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html</context>
<context context-type="linenumber">32</context>
</context-group>
<target state="needs-translation">Assignments specified here will supersede any consumption templates.</target>
<target state="translated">Визначені призначення будуть перешкоджати будь-яким шаблонам користувача.</target>
</trans-unit>
<trans-unit id="6093797930511670257" datatype="html">
<source>Assign title from</source>
@ -3477,7 +3477,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.ts</context>
<context context-type="linenumber">84</context>
</context-group>
<target state="needs-translation">Do not assign title from this rule</target>
<target state="translated">Не призначати заголовок від цього правила</target>
</trans-unit>
<trans-unit id="1568902914205618549" datatype="html">
<source>Do not assign a correspondent</source>
@ -3733,7 +3733,7 @@
<context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.html</context>
<context context-type="linenumber">20</context>
</context-group>
<target state="needs-translation">Triggers</target>
<target state="translated">Тригери</target>
</trans-unit>
<trans-unit id="2033923486957762916" datatype="html">
<source>Trigger Workflow On:</source>
@ -3741,7 +3741,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">28</context>
</context-group>
<target state="needs-translation">Trigger Workflow On:</target>
<target state="translated">Запуск робочого процесу на:</target>
</trans-unit>
<trans-unit id="3901427285052969410" datatype="html">
<source>Add Trigger</source>
@ -3845,7 +3845,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">166</context>
</context-group>
<target state="needs-translation">Trigger type</target>
<target state="translated">Тип тригера</target>
</trans-unit>
<trans-unit id="8727727835543352574" datatype="html">
<source>Trigger for documents that match <x id="START_EMPHASISED_TEXT" ctype="x-em" equiv-text="&lt;em&gt;"/>all<x id="CLOSE_EMPHASISED_TEXT" ctype="x-em" equiv-text="&lt;/em&gt;"/> filters specified below.</source>
@ -3853,7 +3853,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">167</context>
</context-group>
<target state="needs-translation">Trigger for documents that match <x id="START_EMPHASISED_TEXT" ctype="x-em" equiv-text="&lt;em&gt;"/>all<x id="CLOSE_EMPHASISED_TEXT" ctype="x-em" equiv-text="&lt;/em&gt;"/> filters specified below.</target>
<target state="translated">Тригер для документів, які збігаються <x id="START_EMPHASISED_TEXT" ctype="x-em" equiv-text="&lt;em&gt;"/>усі<x id="CLOSE_EMPHASISED_TEXT" ctype="x-em" equiv-text="&lt;/em&gt;"/> фільтри, зазначені нижче.</target>
</trans-unit>
<trans-unit id="7467799586957602479" datatype="html">
<source>Filter filename</source>
@ -3861,7 +3861,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">170</context>
</context-group>
<target state="needs-translation">Filter filename</target>
<target state="translated">Фільтрувати назви файлів</target>
</trans-unit>
<trans-unit id="3694878959415278689" datatype="html">
<source>Apply to documents that match this filename. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive.</source>
@ -3869,7 +3869,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">170</context>
</context-group>
<target state="needs-translation">Apply to documents that match this filename. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive.</target>
<target state="translated">Обробляти лише ті документи, які повністю відповідають назві файлу, якщо вказано. Шаблони, такі як *.pdf чи *invoice* дозволені. Без врахування регістру.</target>
</trans-unit>
<trans-unit id="1473412958770421458" datatype="html">
<source>Filter sources</source>
@ -3877,7 +3877,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">172</context>
</context-group>
<target state="needs-translation">Filter sources</target>
<target state="translated">Джерела фільтрації</target>
</trans-unit>
<trans-unit id="6540860478788535250" datatype="html">
<source>Filter path</source>
@ -3885,7 +3885,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">173</context>
</context-group>
<target state="needs-translation">Filter path</target>
<target state="translated">Шлях фільтра</target>
</trans-unit>
<trans-unit id="5491897741674893121" datatype="html">
<source>Apply to documents that match this path. Wildcards specified as * are allowed. Case-normalized.&lt;/a&gt;</source>
@ -3893,7 +3893,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">173</context>
</context-group>
<target state="needs-translation">Apply to documents that match this path. Wildcards specified as * are allowed. Case-normalized.&lt;/a&gt;</target>
<target state="translated">Застосовувати до документів, які відповідають цьому шляху. Допускаються символи підставляння, позначені як *. Нормалізовано за регістром.&lt;/a&gt;</target>
</trans-unit>
<trans-unit id="7468453896129193641" datatype="html">
<source>Filter mail rule</source>
@ -3901,7 +3901,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">174</context>
</context-group>
<target state="needs-translation">Filter mail rule</target>
<target state="translated">Правило фільтрування пошти</target>
</trans-unit>
<trans-unit id="8663702115863339485" datatype="html">
<source>Apply to documents consumed via this mail rule.</source>
@ -3909,7 +3909,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">174</context>
</context-group>
<target state="needs-translation">Apply to documents consumed via this mail rule.</target>
<target state="translated">Застосувати до документів, що обслуговуються за допомогою цього правила пошти.</target>
</trans-unit>
<trans-unit id="6840369584127435743" datatype="html">
<source>Content matching algorithm</source>
@ -3917,7 +3917,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">177</context>
</context-group>
<target state="needs-translation">Content matching algorithm</target>
<target state="translated">Алгоритм розпізнавання вмісту</target>
</trans-unit>
<trans-unit id="510635115034690805" datatype="html">
<source>Content matching pattern</source>
@ -3925,7 +3925,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">179</context>
</context-group>
<target state="needs-translation">Content matching pattern</target>
<target state="translated">Шаблон відповідності вмісту</target>
</trans-unit>
<trans-unit id="1333789258712064056" datatype="html">
<source>Has tags</source>
@ -3933,7 +3933,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">188</context>
</context-group>
<target state="needs-translation">Has tags</target>
<target state="translated">Має тег</target>
</trans-unit>
<trans-unit id="5281365940563983618" datatype="html">
<source>Has correspondent</source>
@ -3941,7 +3941,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">189</context>
</context-group>
<target state="needs-translation">Has correspondent</target>
<target state="translated">Має кореспондента</target>
</trans-unit>
<trans-unit id="4806713133917046341" datatype="html">
<source>Has document type</source>
@ -3949,7 +3949,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">190</context>
</context-group>
<target state="needs-translation">Has document type</target>
<target state="translated">Має тип документа</target>
</trans-unit>
<trans-unit id="4626030417479279989" datatype="html">
<source>Consume Folder</source>
@ -3957,7 +3957,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts</context>
<context context-type="linenumber">39</context>
</context-group>
<target state="needs-translation">Consume Folder</target>
<target state="translated">Використати теку</target>
</trans-unit>
<trans-unit id="526966086395145275" datatype="html">
<source>API Upload</source>
@ -3965,7 +3965,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts</context>
<context context-type="linenumber">43</context>
</context-group>
<target state="needs-translation">API Upload</target>
<target state="translated">API вивантаження</target>
</trans-unit>
<trans-unit id="7502272564743467653" datatype="html">
<source>Mail Fetch</source>
@ -3973,7 +3973,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts</context>
<context context-type="linenumber">47</context>
</context-group>
<target state="needs-translation">Mail Fetch</target>
<target state="translated">Отримання пошти</target>
</trans-unit>
<trans-unit id="8696908693776094667" datatype="html">
<source>Consumption Started</source>
@ -3981,7 +3981,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts</context>
<context context-type="linenumber">54</context>
</context-group>
<target state="needs-translation">Consumption Started</target>
<target state="translated">Споживання розпочато</target>
</trans-unit>
<trans-unit id="7858311467093621703" datatype="html">
<source>Document Added</source>
@ -3989,7 +3989,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts</context>
<context context-type="linenumber">58</context>
</context-group>
<target state="needs-translation">Document Added</target>
<target state="translated">Документ додано</target>
</trans-unit>
<trans-unit id="7955486237346046731" datatype="html">
<source>Document Updated</source>
@ -3997,7 +3997,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts</context>
<context context-type="linenumber">62</context>
</context-group>
<target state="needs-translation">Document Updated</target>
<target state="translated">Документ оновлено</target>
</trans-unit>
<trans-unit id="5502398334173581061" datatype="html">
<source>Assignment</source>
@ -4275,7 +4275,7 @@
<context context-type="sourcefile">src/app/components/common/input/switch/switch.component.html</context>
<context context-type="linenumber">39</context>
</context-group>
<target state="needs-translation">Note: value has not yet been set and will not apply until explicitly changed</target>
<target state="translated">Примітка: значення ще не встановлено та не застосовуватиметься, доки не буде змінено явно</target>
</trans-unit>
<trans-unit id="6560126119609945418" datatype="html">
<source>Add tag</source>
@ -4363,7 +4363,7 @@
<context context-type="sourcefile">src/app/components/common/permissions-filter-dropdown/permissions-filter-dropdown.component.html</context>
<context context-type="linenumber">46</context>
</context-group>
<target state="needs-translation">Shared by me</target>
<target state="translated">Поділився я</target>
</trans-unit>
<trans-unit id="5151074932731293042" datatype="html">
<source>Unowned</source>
@ -4519,7 +4519,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts</context>
<context context-type="linenumber">154</context>
</context-group>
<target state="needs-translation">Error saving profile</target>
<target state="translated">Помилка збереження профілю</target>
</trans-unit>
<trans-unit id="154249228726292516" datatype="html">
<source>Error generating auth token</source>
@ -4527,7 +4527,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts</context>
<context context-type="linenumber">171</context>
</context-group>
<target state="needs-translation">Error generating auth token</target>
<target state="translated">Помилка генерації токена авторизації</target>
</trans-unit>
<trans-unit id="3797570084942068182" datatype="html">
<source>Select</source>
@ -4587,7 +4587,7 @@
<context context-type="sourcefile">src/app/components/common/share-links-dropdown/share-links-dropdown.component.html</context>
<context context-type="linenumber">47</context>
</context-group>
<target state="needs-translation">Share archive version</target>
<target state="translated">Поділитися архівною версією</target>
</trans-unit>
<trans-unit id="8037476586059399916" datatype="html">
<source>Expires</source>
@ -4595,7 +4595,7 @@
<context context-type="sourcefile">src/app/components/common/share-links-dropdown/share-links-dropdown.component.html</context>
<context context-type="linenumber">51</context>
</context-group>
<target state="needs-translation">Expires</target>
<target state="translated">Термін дії</target>
</trans-unit>
<trans-unit id="5674286808255988565" datatype="html">
<source>Create</source>
@ -4715,7 +4715,7 @@
<context context-type="sourcefile">src/app/components/dashboard/dashboard.component.ts</context>
<context context-type="linenumber">38</context>
</context-group>
<target state="needs-translation">Hello <x id="PH" equiv-text="this.settingsService.displayName"/>, welcome to <x id="PH_1" equiv-text="environment.appTitle"/></target>
<target state="translated">Привіт <x id="PH" equiv-text="this.settingsService.displayName"/>, вітаємо у <x id="PH_1" equiv-text="environment.appTitle"/></target>
</trans-unit>
<trans-unit id="2901300640157872718" datatype="html">
<source>Welcome to <x id="PH" equiv-text="environment.appTitle"/></source>
@ -4723,7 +4723,7 @@
<context context-type="sourcefile">src/app/components/dashboard/dashboard.component.ts</context>
<context context-type="linenumber">40</context>
</context-group>
<target state="needs-translation">Welcome to <x id="PH" equiv-text="environment.appTitle"/></target>
<target state="translated">Вітаємо у <x id="PH" equiv-text="environment.appTitle"/></target>
</trans-unit>
<trans-unit id="1325877348738783391" datatype="html">
<source>Dashboard updated</source>
@ -4915,7 +4915,7 @@
<context context-type="sourcefile">src/app/components/dashboard/widgets/upload-file-widget/upload-file-widget.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
<target state="needs-translation">Drop documents anywhere or</target>
<target state="translated">Перетягніть документи сюди або</target>
</trans-unit>
<trans-unit id="8133800334834354642" datatype="html">
<source>Browse files</source>
@ -5054,7 +5054,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context>
<context context-type="linenumber">9</context>
</context-group>
<target state="needs-translation">-</target>
<target state="translated">-</target>
</trans-unit>
<trans-unit id="8479257185772414452" datatype="html">
<source>+</source>
@ -5062,7 +5062,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context>
<context context-type="linenumber">17</context>
</context-group>
<target state="needs-translation">+</target>
<target state="translated">+</target>
</trans-unit>
<trans-unit id="8659635229098859487" datatype="html">
<source>Download original</source>
@ -5314,7 +5314,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context>
<context context-type="linenumber">272,275</context>
</context-group>
<target state="needs-translation">Notes <x id="START_BLOCK_IF" equiv-text="@if (document?.notes.length) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge text-bg-secondary ms-1&quot;&gt;"/><x id="INTERPOLATION" equiv-text="ngth}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></target>
<target state="translated">Примітки <x id="START_BLOCK_IF" equiv-text="@if (document?.notes.length) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge text-bg-secondary ms-1&quot;&gt;"/><x id="INTERPOLATION" equiv-text="ngth}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></target>
</trans-unit>
<trans-unit id="5129524307369213584" datatype="html">
<source>Save &amp; next</source>
@ -5354,7 +5354,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">321</context>
</context-group>
<target state="needs-translation">Document changes detected</target>
<target state="translated">Зміни документу виявлено</target>
</trans-unit>
<trans-unit id="2887155916749964" datatype="html">
<source>The version of this document in your browser session appears older than the existing version.</source>
@ -5362,7 +5362,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">322</context>
</context-group>
<target state="needs-translation">The version of this document in your browser session appears older than the existing version.</target>
<target state="translated">Версія цього документа виявилась старішою за чинну версію.</target>
</trans-unit>
<trans-unit id="237142428785956348" datatype="html">
<source>Saving the document here may overwrite other changes that were made. To restore the existing version, discard your changes or close the document.</source>
@ -5370,7 +5370,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">323</context>
</context-group>
<target state="needs-translation">Saving the document here may overwrite other changes that were made. To restore the existing version, discard your changes or close the document.</target>
<target state="translated">Збереження документа може перезаписати інші внесені зміни. Щоб відновити наявну версію, скасуйте зміни або закрийте документ.</target>
</trans-unit>
<trans-unit id="8720977247725652816" datatype="html">
<source>Ok</source>
@ -6488,7 +6488,7 @@
<context context-type="sourcefile">src/app/components/manage/custom-fields/custom-fields.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
<target state="needs-translation">Customize the data fields that can be attached to documents.</target>
<target state="translated">Налаштування полів даних, які можуть бути додані до документів.</target>
</trans-unit>
<trans-unit id="8019331026479399960" datatype="html">
<source>Add Field</source>
@ -7000,7 +7000,7 @@
<context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
<target state="needs-translation">Use workflows to customize the behavior of Paperless-ngx when events 'trigger' a workflow.</target>
<target state="translated">Використовуйте робочі процеси, щоб налаштувати поведінку Paperless-ngx при спрацюванні тригеру робочого процес.</target>
</trans-unit>
<trans-unit id="2437630016855517844" datatype="html">
<source>Add Workflow</source>
@ -7008,7 +7008,7 @@
<context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.html</context>
<context context-type="linenumber">9</context>
</context-group>
<target state="needs-translation">Add Workflow</target>
<target state="translated">Додати робочий процес</target>
</trans-unit>
<trans-unit id="5769292297914455214" datatype="html">
<source>Disabled</source>
@ -7016,7 +7016,7 @@
<context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.html</context>
<context context-type="linenumber">30</context>
</context-group>
<target state="needs-translation">Disabled</target>
<target state="translated">Вимкнено</target>
</trans-unit>
<trans-unit id="1624023882313260402" datatype="html">
<source>No workflows defined.</source>
@ -7024,7 +7024,7 @@
<context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.html</context>
<context context-type="linenumber">46</context>
</context-group>
<target state="needs-translation">No workflows defined.</target>
<target state="translated">Не визначено робочих процесів.</target>
</trans-unit>
<trans-unit id="4200688335642457098" datatype="html">
<source>Saved workflow &quot;<x id="PH" equiv-text="newWorkflow.name"/>&quot;.</source>
@ -7032,7 +7032,7 @@
<context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.ts</context>
<context context-type="linenumber">79</context>
</context-group>
<target state="needs-translation">Saved workflow "<x id="PH" equiv-text="newWorkflow.name"/>".</target>
<target state="translated">Робочий процес "<x id="PH" equiv-text="newWorkflow.name"/>" збережено.</target>
</trans-unit>
<trans-unit id="7593065565369163325" datatype="html">
<source>Error saving workflow.</source>
@ -7040,7 +7040,7 @@
<context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.ts</context>
<context context-type="linenumber">87</context>
</context-group>
<target state="needs-translation">Error saving workflow.</target>
<target state="translated">Помилка при збереженні робочого процесу.</target>
</trans-unit>
<trans-unit id="563460864902055482" datatype="html">
<source>Confirm delete workflow</source>
@ -7048,7 +7048,7 @@
<context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.ts</context>
<context context-type="linenumber">95</context>
</context-group>
<target state="needs-translation">Confirm delete workflow</target>
<target state="translated">Підтвердження видалення робочого процесу</target>
</trans-unit>
<trans-unit id="6874008462443189248" datatype="html">
<source>This operation will permanently delete this workflow.</source>
@ -7056,7 +7056,7 @@
<context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.ts</context>
<context context-type="linenumber">96</context>
</context-group>
<target state="needs-translation">This operation will permanently delete this workflow.</target>
<target state="translated">Ця операція остаточно видалить цей робочий процес.</target>
</trans-unit>
<trans-unit id="1848226135059921165" datatype="html">
<source>Deleted workflow</source>
@ -7064,7 +7064,7 @@
<context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.ts</context>
<context context-type="linenumber">105</context>
</context-group>
<target state="needs-translation">Deleted workflow</target>
<target state="translated">Робочий процес видалено</target>
</trans-unit>
<trans-unit id="3177411222429626224" datatype="html">
<source>Error deleting workflow.</source>
@ -7072,7 +7072,7 @@
<context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.ts</context>
<context context-type="linenumber">110</context>
</context-group>
<target state="needs-translation">Error deleting workflow.</target>
<target state="translated">Помилка при видаленні робочого процесу.</target>
</trans-unit>
<trans-unit id="2649252321173430744" datatype="html">
<source>Not Found</source>
@ -7096,7 +7096,7 @@
<context context-type="sourcefile">src/app/data/custom-field.ts</context>
<context context-type="linenumber">17</context>
</context-group>
<target state="needs-translation">Boolean</target>
<target state="translated">Логічне значення</target>
</trans-unit>
<trans-unit id="3973931101896534797" datatype="html">
<source>Date</source>
@ -7104,7 +7104,7 @@
<context context-type="sourcefile">src/app/data/custom-field.ts</context>
<context context-type="linenumber">21</context>
</context-group>
<target state="needs-translation">Date</target>
<target state="translated">Дата</target>
</trans-unit>
<trans-unit id="362956598863566327" datatype="html">
<source>Integer</source>
@ -7112,7 +7112,7 @@
<context context-type="sourcefile">src/app/data/custom-field.ts</context>
<context context-type="linenumber">25</context>
</context-group>
<target state="needs-translation">Integer</target>
<target state="translated">Ціле число</target>
</trans-unit>
<trans-unit id="6370642728789544052" datatype="html">
<source>Number</source>
@ -7120,7 +7120,7 @@
<context context-type="sourcefile">src/app/data/custom-field.ts</context>
<context context-type="linenumber">29</context>
</context-group>
<target state="needs-translation">Number</target>
<target state="translated">Номер</target>
</trans-unit>
<trans-unit id="6430409302408843009" datatype="html">
<source>Monetary</source>
@ -7128,7 +7128,7 @@
<context context-type="sourcefile">src/app/data/custom-field.ts</context>
<context context-type="linenumber">33</context>
</context-group>
<target state="needs-translation">Monetary</target>
<target state="translated">Монетарний</target>
</trans-unit>
<trans-unit id="6162693758764653365" datatype="html">
<source>Text</source>
@ -7136,7 +7136,7 @@
<context context-type="sourcefile">src/app/data/custom-field.ts</context>
<context context-type="linenumber">37</context>
</context-group>
<target state="needs-translation">Text</target>
<target state="translated">Текст</target>
</trans-unit>
<trans-unit id="8308045076391224954" datatype="html">
<source>Url</source>
@ -7144,7 +7144,7 @@
<context context-type="sourcefile">src/app/data/custom-field.ts</context>
<context context-type="linenumber">41</context>
</context-group>
<target state="needs-translation">Url</target>
<target state="translated">Url-адреса</target>
</trans-unit>
<trans-unit id="3650316326183661476" datatype="html">
<source>Document Link</source>
@ -7152,7 +7152,7 @@
<context context-type="sourcefile">src/app/data/custom-field.ts</context>
<context context-type="linenumber">45</context>
</context-group>
<target state="needs-translation">Document Link</target>
<target state="translated">Посилання на документ</target>
</trans-unit>
<trans-unit id="2167862279705099846" datatype="html">
<source>Auto: Learn matching automatically</source>
@ -7256,7 +7256,7 @@
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">50</context>
</context-group>
<target state="needs-translation">General Settings</target>
<target state="translated">Загальні налаштування</target>
</trans-unit>
<trans-unit id="2762851116637676072" datatype="html">
<source>OCR Settings</source>
@ -7264,7 +7264,7 @@
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">51</context>
</context-group>
<target state="needs-translation">OCR Settings</target>
<target state="translated">OCR налаштування</target>
</trans-unit>
<trans-unit id="1313137480169642057" datatype="html">
<source>Output Type</source>
@ -7272,7 +7272,7 @@
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">75</context>
</context-group>
<target state="needs-translation">Output Type</target>
<target state="translated">Тип виводу</target>
</trans-unit>
<trans-unit id="2826581353496868063" datatype="html">
<source>Language</source>
@ -7280,7 +7280,7 @@
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">83</context>
</context-group>
<target state="needs-translation">Language</target>
<target state="translated">Мова</target>
</trans-unit>
<trans-unit id="3817498941817715969" datatype="html">
<source>Pages</source>
@ -7288,7 +7288,7 @@
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">90</context>
</context-group>
<target state="needs-translation">Pages</target>
<target state="translated">Сторінки</target>
</trans-unit>
<trans-unit id="1713271461473302108" datatype="html">
<source>Mode</source>
@ -7296,7 +7296,7 @@
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">97</context>
</context-group>
<target state="needs-translation">Mode</target>
<target state="translated">Режим</target>
</trans-unit>
<trans-unit id="6114528299376689399" datatype="html">
<source>Skip Archive File</source>
@ -7304,7 +7304,7 @@
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">105</context>
</context-group>
<target state="needs-translation">Skip Archive File</target>
<target state="translated">Пропустити Архів</target>
</trans-unit>
<trans-unit id="1115402553541327390" datatype="html">
<source>Image DPI</source>
@ -7312,7 +7312,7 @@
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">113</context>
</context-group>
<target state="needs-translation">Image DPI</target>
<target state="translated">Роздільність зображення</target>
</trans-unit>
<trans-unit id="6352596107300820129" datatype="html">
<source>Clean</source>
@ -7320,7 +7320,7 @@
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">120</context>
</context-group>
<target state="needs-translation">Clean</target>
<target state="translated">Очистити</target>
</trans-unit>
<trans-unit id="725308589819024010" datatype="html">
<source>Deskew</source>
@ -7328,7 +7328,7 @@
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">128</context>
</context-group>
<target state="needs-translation">Deskew</target>
<target state="translated">Вирівняти перекіс</target>
</trans-unit>
<trans-unit id="6256076128297775802" datatype="html">
<source>Rotate Pages</source>
@ -7336,7 +7336,7 @@
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">135</context>
</context-group>
<target state="needs-translation">Rotate Pages</target>
<target state="translated">Повернути сторінки</target>
</trans-unit>
<trans-unit id="8527188778859256947" datatype="html">
<source>Rotate Pages Threshold</source>
@ -7344,7 +7344,7 @@
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">142</context>
</context-group>
<target state="needs-translation">Rotate Pages Threshold</target>
<target state="translated">Поріг повороту сторінок</target>
</trans-unit>
<trans-unit id="3762131309176747817" datatype="html">
<source>Max Image Pixels</source>
@ -7352,7 +7352,7 @@
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">149</context>
</context-group>
<target state="needs-translation">Max Image Pixels</target>
<target state="translated">Максимальна кількість пікселів</target>
</trans-unit>
<trans-unit id="7846583355792281769" datatype="html">
<source>Color Conversion Strategy</source>
@ -7360,7 +7360,7 @@
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">156</context>
</context-group>
<target state="needs-translation">Color Conversion Strategy</target>
<target state="translated">Стратегія перетворення кольорів</target>
</trans-unit>
<trans-unit id="4696480417479207939" datatype="html">
<source>OCR Arguments</source>
@ -7368,7 +7368,7 @@
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">164</context>
</context-group>
<target state="needs-translation">OCR Arguments</target>
<target state="translated">Аргументи OCR</target>
</trans-unit>
<trans-unit id="7106327322456204362" datatype="html">
<source>Application Logo</source>
@ -7376,7 +7376,7 @@
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">171</context>
</context-group>
<target state="needs-translation">Application Logo</target>
<target state="translated">Логотип програми</target>
</trans-unit>
<trans-unit id="2684743776608068095" datatype="html">
<source>Application Title</source>
@ -7384,7 +7384,7 @@
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">178</context>
</context-group>
<target state="needs-translation">Application Title</target>
<target state="translated">Назва програми</target>
</trans-unit>
<trans-unit id="5948496158474272829" datatype="html">
<source>Warning: You have unsaved changes to your document(s).</source>
@ -7709,7 +7709,7 @@
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
<context context-type="linenumber">64</context>
</context-group>
<target state="needs-translation">Bulgarian</target>
<target state="translated">Болгарська</target>
</trans-unit>
<trans-unit id="1001043467371963032" datatype="html">
<source>Catalan</source>
@ -7789,7 +7789,7 @@
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
<context context-type="linenumber">124</context>
</context-group>
<target state="needs-translation">Hungarian</target>
<target state="translated">Угорська</target>
</trans-unit>
<trans-unit id="2935232983274991580" datatype="html">
<source>Italian</source>

View File

@ -79,6 +79,7 @@ $form-check-radio-checked-bg-image-dark: url("data:image/svg+xml,<svg xmlns='htt
--bs-light-rgb: 28, 28, 31;
--bs-border-color: #47494f;
--pngx-bg-darker: #101216;
--bs-tertiary-bg: var(--pngx-bg-darker);
--pngx-bg-alt: #242529;
--pngx-focus-alpha: 0.6;
--pngx-primary-faded: var(--pngx-primary-darken-15);

View File

@ -232,6 +232,9 @@ class Command(BaseCommand):
if not os.path.isdir(directory):
raise CommandError(f"Consumption directory {directory} does not exist")
# Consumer will need this
settings.SCRATCH_DIR.mkdir(parents=True, exist_ok=True)
if recursive:
for dirpath, _, filenames in os.walk(directory):
for filename in filenames:

View File

@ -38,7 +38,7 @@ from documents.utils import copy_file_with_basic_stats
DATE_REGEX = re.compile(
r"(\b|(?!=([_-])))([0-9]{1,2})[\.\/-]([0-9]{1,2})[\.\/-]([0-9]{4}|[0-9]{2})(\b|(?=([_-])))|"
r"(\b|(?!=([_-])))([0-9]{4}|[0-9]{2})[\.\/-]([0-9]{1,2})[\.\/-]([0-9]{1,2})(\b|(?=([_-])))|"
r"(\b|(?!=([_-])))([0-9]{1,2}[\. ]+[a-zA-Z]{3,9} ([0-9]{4}|[0-9]{2}))(\b|(?=([_-])))|"
r"(\b|(?!=([_-])))([0-9]{1,2}[\. ]+[a-zA-Z]{3,9} [0-9]{4}|[a-zA-Z]{3,9} [0-9]{1,2}, [0-9]{4})(\b|(?=([_-])))|"
r"(\b|(?!=([_-])))([^\W\d_]{3,9} [0-9]{1,2}, ([0-9]{4}))(\b|(?=([_-])))|"
r"(\b|(?!=([_-])))([^\W\d_]{3,9} [0-9]{4})(\b|(?=([_-])))|"
r"(\b|(?!=([_-])))([0-9]{1,2}[^ ]{2}[\. ]+[^ ]{3,9}[ \.\/-][0-9]{4})(\b|(?=([_-])))|"

View File

@ -201,6 +201,13 @@ class TestDate(TestCase):
datetime.datetime(2022, 3, 25, 0, 0, tzinfo=tz.gettz(settings.TIME_ZONE)),
)
def test_date_format_26(self):
text = "CHASE 0 September 25, 2019 JPMorgan Chase Bank, NA. P0 Box 182051"
self.assertEqual(
parse_date("", text),
datetime.datetime(2019, 9, 25, 0, 0, tzinfo=tz.gettz(settings.TIME_ZONE)),
)
def test_crazy_date_past(self, *args):
self.assertIsNone(parse_date("", "01-07-0590 00:00:00"))

View File

@ -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-27 00:22\n"
"Last-Translator: \n"
"Language-Team: Arabic\n"
"Language: ar_SA\n"
@ -931,7 +931,7 @@ msgstr "لا ورقي"
#: paperless/models.py:25
msgid "pdf"
msgstr ""
msgstr "pdf"
#: paperless/models.py:26
msgid "pdfa"
@ -951,15 +951,15 @@ msgstr ""
#: 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"
@ -967,7 +967,7 @@ msgstr ""
#: paperless/models.py:49
msgid "never"
msgstr ""
msgstr "أبداً"
#: paperless/models.py:50
msgid "with_text"
@ -975,7 +975,7 @@ msgstr ""
#: paperless/models.py:51
msgid "always"
msgstr ""
msgstr "دائماً"
#: paperless/models.py:59
msgid "clean"
@ -987,7 +987,7 @@ msgstr ""
#: paperless/models.py:61
msgid "none"
msgstr ""
msgstr "لا شيء"
#: paperless/models.py:69
msgid "LeaveColorUnchanged"
@ -995,7 +995,7 @@ msgstr ""
#: paperless/models.py:70
msgid "RGB"
msgstr ""
msgstr "RGB"
#: paperless/models.py:71
msgid "UseDeviceIndependentColor"
@ -1003,15 +1003,15 @@ msgstr ""
#: paperless/models.py:72
msgid "Gray"
msgstr ""
msgstr "رمادي"
#: 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"

View File

@ -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 12:09\n"
"PO-Revision-Date: 2024-01-25 12:09\n"
"Last-Translator: \n"
"Language-Team: Catalan\n"
"Language: ca_ES\n"
@ -1031,11 +1031,11 @@ msgstr "Controls de generació d'arxiu arxivat"
#: paperless/models.py:123
msgid "Sets image DPI fallback value"
msgstr ""
msgstr "Estableix DPI d'imatge per defecte"
#: paperless/models.py:130
msgid "Controls the unpaper cleaning"
msgstr ""
msgstr "Controla la neteja sense paper"
#: paperless/models.py:137
msgid "Enables deskew"
@ -1055,11 +1055,11 @@ 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 ""
msgstr "Estableix l'estratègia de conversió de color de Ghostscript"
#: paperless/models.py:165
msgid "Adds additional user arguments for OCRMyPDF"
msgstr ""
msgstr "Afegeix arguments d'usuari addicionals per a OCRMyPDF"
#: paperless/models.py:170
msgid "paperless application settings"

View File

@ -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 12:09\n"
"PO-Revision-Date: 2024-01-27 00:22\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Language: de_DE\n"
@ -601,7 +601,7 @@ msgstr "Benutzerdefiniertes Feld"
#: documents/models.py:782
msgid "custom fields"
msgstr "Benutzerdefinierte Felder"
msgstr "Benutzerdef. Felder"
#: documents/models.py:844
msgid "custom field instance"

View File

@ -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-27 12:08\n"
"Last-Translator: \n"
"Language-Team: Greek\n"
"Language: el_GR\n"
@ -425,11 +425,11 @@ 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"
@ -613,7 +613,7 @@ msgstr "στιγμιότυπα προσαρμοσμένων πεδίων"
#: documents/models.py:902
msgid "Consumption Started"
msgstr ""
msgstr "Η Κατανάλωση Ξεκίνησε"
#: documents/models.py:903
msgid "Document Added"
@ -753,7 +753,7 @@ msgstr ""
#: documents/models.py:1114
msgid "actions"
msgstr ""
msgstr "ενέργειες"
#: documents/models.py:1117
msgid "enabled"
@ -931,23 +931,23 @@ 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"
@ -967,7 +967,7 @@ msgstr ""
#: paperless/models.py:49
msgid "never"
msgstr ""
msgstr "ποτέ"
#: 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"

View File

@ -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-17 00:24\n"
"PO-Revision-Date: 2024-01-28 00:24\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Language: fr_FR\n"

View File

@ -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"

View File

@ -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-20 12:08\n"
"PO-Revision-Date: 2024-01-25 12:09\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
"Language: nl_NL\n"

View File

@ -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-25 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"

View File

@ -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"

View File

@ -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

View File

@ -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")
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(
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",
)
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"

View File

@ -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")

View File

@ -1,6 +1,6 @@
from typing import Final
__version__: Final[tuple[int, int, int]] = (2, 4, 0)
__version__: Final[tuple[int, int, int]] = (2, 4, 3)
# Version string like X.Y.Z
__full_version_str__: Final[str] = ".".join(map(str, __version__))
# Version string like X.Y