Merge branch 'dev' into feature-ai

This commit is contained in:
shamoon 2025-08-17 07:49:01 -07:00 committed by GitHub
commit 4c719948d9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
123 changed files with 42275 additions and 39408 deletions

View File

@ -1,3 +0,0 @@
[codespell]
write-changes = True
ignore-words-list = criterias,afterall,valeu,ureue,equest,ure,assertIn

View File

@ -31,7 +31,6 @@ repos:
rev: v2.4.1 rev: v2.4.1
hooks: hooks:
- id: codespell - id: codespell
exclude: "(^src-ui/src/locale/)|(^src-ui/pnpm-lock.yaml)|(^src-ui/e2e/)|(^src/paperless_mail/tests/samples/)|(^src/documents/tests/samples/)"
exclude_types: exclude_types:
- pofile - pofile
- json - json

View File

@ -37,6 +37,8 @@ Before you can run `pytest`, ensure to [properly set up your local environment](
Once you have submitted a **P**ull **R**equest it will be reviewed, approved, and merged by one or more community members of any team. Automated code tests and formatting checks must be passed. Once you have submitted a **P**ull **R**equest it will be reviewed, approved, and merged by one or more community members of any team. Automated code tests and formatting checks must be passed.
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. Instead of opening a PR which does not meet this requirement, please open a feature request instead, to gather feedback from both users and the project maintainers.
## Non-Trivial Requests ## Non-Trivial Requests
PRs deemed `non-trivial` will go through a stricter review process before being merged into `dev`. This is to ensure code quality and complete functionality (free of side effects). PRs deemed `non-trivial` will go through a stricter review process before being merged into `dev`. This is to ensure code quality and complete functionality (free of side effects).
@ -109,28 +111,12 @@ Paperless-ngx is a community project. We do our best to delegate permission and
## Structure ## Structure
As of writing, there are 21 members in paperless-ngx. 4 of these people have complete administrative privileges to the repo: There are currently 2 members in paperless-ngx with complete administrative privileges to the repo:
- [@shamoon](https://github.com/shamoon) - [@shamoon](https://github.com/shamoon)
- [@bauerj](https://github.com/bauerj) - [@stumpylog](https://github.com/stumpylog)
- [@qcasey](https://github.com/qcasey)
- [@FrankStrieter](https://github.com/FrankStrieter)
There are 5 teams collaborating on specific tasks within paperless-ngx: There are other members who occasionally contribute but we are actively seeking more dedicated maintainers of the project. Please reach out if you are interested.
- @paperless-ngx/backend (Python / django)
- @paperless-ngx/frontend (JavaScript / Typescript)
- @paperless-ngx/ci-cd (GitHub Actions / Deployment)
- @paperless-ngx/issues (Issue triage)
- @paperless-ngx/test (General testing for larger PRs)
## Permissions
All team members are notified when mentioned or assigned to a relevant issue or pull request. Additionally, each team has slightly different access to paperless-ngx:
- The **test** team has no special permissions.
- The **issues** team has `triage` access. This means they can organize issues and pull requests.
- The **backend**, **frontend**, and **ci-cd** teams have `write` access. This means they can approve PRs and push code, containers, releases, and more.
## Joining ## Joining

View File

@ -32,7 +32,7 @@ RUN set -eux \
# Purpose: Installs s6-overlay and rootfs # Purpose: Installs s6-overlay and rootfs
# Comments: # Comments:
# - Don't leave anything extra in here either # - Don't leave anything extra in here either
FROM ghcr.io/astral-sh/uv:0.8.4-python3.12-bookworm-slim AS s6-overlay-base FROM ghcr.io/astral-sh/uv:0.8.8-python3.12-bookworm-slim AS s6-overlay-base
WORKDIR /usr/src/s6 WORKDIR /usr/src/s6

View File

@ -179,10 +179,14 @@ following:
### Database Upgrades ### Database Upgrades
In general, paperless does not require a specific version of PostgreSQL or MariaDB and it is Paperless-ngx is compatible with Django-supported versions of PostgreSQL and MariaDB and it is generally
safe to update them to newer versions. However, you should always take a backup and follow safe to update them to newer versions. However, you should always take a backup and follow
the instructions from your database's documentation for how to upgrade between major versions. the instructions from your database's documentation for how to upgrade between major versions.
!!! note
As of Paperless-ngx v2.18, the minimum supported version of PostgreSQL is 13.
For PostgreSQL, refer to [Upgrading a PostgreSQL Cluster](https://www.postgresql.org/docs/current/upgrading.html). For PostgreSQL, refer to [Upgrading a PostgreSQL Cluster](https://www.postgresql.org/docs/current/upgrading.html).
For MariaDB, refer to [Upgrading MariaDB](https://mariadb.com/kb/en/upgrading/) For MariaDB, refer to [Upgrading MariaDB](https://mariadb.com/kb/en/upgrading/)

View File

@ -434,6 +434,136 @@ provided. The template is provided as a string, potentially multiline, and rende
In addition, the entire Document instance is available to be utilized in a more advanced way, as well as some variables which only make sense to be accessed In addition, the entire Document instance is available to be utilized in a more advanced way, as well as some variables which only make sense to be accessed
with more complex logic. with more complex logic.
#### Custom Jinja2 Filters
##### Custom Field Access
The `get_cf_value` filter retrieves a value from custom field data with optional default fallback.
###### Syntax
```jinja2
{{ custom_fields | get_cf_value('field_name') }}
{{ custom_fields | get_cf_value('field_name', 'default_value') }}
```
###### Parameters
- `custom_fields`: This _must_ be the provided custom field data
- `name` (str): Name of the custom field to retrieve
- `default` (str, optional): Default value to return if field is not found or has no value
###### Returns
- `str | None`: The field value, default value, or `None` if neither exists
###### Examples
```jinja2
<!-- Basic usage -->
{{ custom_fields | get_cf_value('department') }}
<!-- With default value -->
{{ custom_fields | get_cf_value('phone', 'Not provided') }}
```
##### Datetime Formatting
The `format_datetime`filter formats a datetime string or datetime object using Python's strftime formatting.
###### Syntax
```jinja2
{{ datetime_value | format_datetime('%Y-%m-%d %H:%M:%S') }}
```
###### Parameters
- `value` (str | datetime): Date/time value to format (strings will be parsed automatically)
- `format` (str): Python strftime format string
###### Returns
- `str`: Formatted datetime string
###### Examples
```jinja2
<!-- Format datetime object -->
{{ created_at | format_datetime('%B %d, %Y at %I:%M %p') }}
<!-- Output: "January 15, 2024 at 02:30 PM" -->
<!-- Format datetime string -->
{{ "2024-01-15T14:30:00" | format_datetime('%m/%d/%Y') }}
<!-- Output: "01/15/2024" -->
<!-- Custom formatting -->
{{ timestamp | format_datetime('%A, %B %d, %Y') }}
<!-- Output: "Monday, January 15, 2024" -->
```
See the [strftime format code documentation](https://docs.python.org/3.13/library/datetime.html#strftime-and-strptime-format-codes)
for the possible codes and their meanings.
##### Date Localization
The `localize_date` filter formats a date or datetime object into a localized string using Babel internationalization.
This takes into account the provided locale for translation.
###### Syntax
```jinja2
{{ date_value | localize_date('medium', 'en_US') }}
{{ datetime_value | localize_date('short', 'fr_FR') }}
```
###### Parameters
- `value` (date | datetime): Date or datetime object to format (datetime should be timezone-aware)
- `format` (str): Format type - either a Babel preset ('short', 'medium', 'long', 'full') or custom pattern
- `locale` (str): Locale code for localization (e.g., 'en_US', 'fr_FR', 'de_DE')
###### Returns
- `str`: Localized, formatted date string
###### Examples
```jinja2
<!-- Preset formats -->
{{ created_date | localize_date('short', 'en_US') }}
<!-- Output: "1/15/24" -->
{{ created_date | localize_date('medium', 'en_US') }}
<!-- Output: "Jan 15, 2024" -->
{{ created_date | localize_date('long', 'en_US') }}
<!-- Output: "January 15, 2024" -->
{{ created_date | localize_date('full', 'en_US') }}
<!-- Output: "Monday, January 15, 2024" -->
<!-- Different locales -->
{{ created_date | localize_date('medium', 'fr_FR') }}
<!-- Output: "15 janv. 2024" -->
{{ created_date | localize_date('medium', 'de_DE') }}
<!-- Output: "15.01.2024" -->
<!-- Custom patterns -->
{{ created_date | localize_date('dd/MM/yyyy', 'en_GB') }}
<!-- Output: "15/01/2024" -->
```
See the [supported format codes](https://unicode.org/reports/tr35/tr35-dates.html#Date_Format_Patterns) for more options.
### Format Presets
- **short**: Abbreviated format (e.g., "1/15/24")
- **medium**: Medium-length format (e.g., "Jan 15, 2024")
- **long**: Long format with full month name (e.g., "January 15, 2024")
- **full**: Full format including day of week (e.g., "Monday, January 15, 2024")
#### Additional Variables #### Additional Variables
- `{{ tag_name_list }}`: A list of tag names applied to the document, ordered by the tag name. Note this is a list, not a single string - `{{ tag_name_list }}`: A list of tag names applied to the document, ordered by the tag name. Note this is a list, not a single string

View File

@ -1,5 +1,139 @@
# Changelog # Changelog
## paperless-ngx 2.18.0
### Notable Changes
- Feature: PDF editor [@shamoon](https://github.com/shamoon) ([#10318](https://github.com/paperless-ngx/paperless-ngx/pull/10318))
### Features / Enhancements
- Feature: Add filter to localize dates for filepath templating [@stumpylog](https://github.com/stumpylog) ([#10559](https://github.com/paperless-ngx/paperless-ngx/pull/10559))
- Feature: PDF editor [@shamoon](https://github.com/shamoon) ([#10318](https://github.com/paperless-ngx/paperless-ngx/pull/10318))
- Enhancement: support webhook restrictions [@shamoon](https://github.com/shamoon) ([#10555](https://github.com/paperless-ngx/paperless-ngx/pull/10555))
- Performance: Classifier performance optimizations [@Merinorus](https://github.com/Merinorus) ([#10363](https://github.com/paperless-ngx/paperless-ngx/pull/10363))
- Performance: add setting to enable DB connection pooling for PostgreSQL [@Merinorus](https://github.com/Merinorus) ([#10354](https://github.com/paperless-ngx/paperless-ngx/pull/10354))
- Fixhancement: improve text thumbnail generation for large files [@shamoon](https://github.com/shamoon) ([#10483](https://github.com/paperless-ngx/paperless-ngx/pull/10483))
- Enhancement: disable auto spellcheck on filtering dropdowns [@TheDodger](https://github.com/TheDodger) ([#10487](https://github.com/paperless-ngx/paperless-ngx/pull/10487))
- Enhancement: display saved view counts [@shamoon](https://github.com/shamoon) ([#10246](https://github.com/paperless-ngx/paperless-ngx/pull/10246))
- Fixhancement: add missing exact operator for boolean CF queries [@shamoon](https://github.com/shamoon) ([#10402](https://github.com/paperless-ngx/paperless-ngx/pull/10402))
- Feature: add Vietnamese translation [@shamoon](https://github.com/shamoon) ([#10352](https://github.com/paperless-ngx/paperless-ngx/pull/10352))
- Performance: Add support for configuring date parser languages [@Merinorus](https://github.com/Merinorus) ([#10181](https://github.com/paperless-ngx/paperless-ngx/pull/10181))
- Enhancement: Add a database caching for improved performance [@Merinorus](https://github.com/Merinorus) ([#9784](https://github.com/paperless-ngx/paperless-ngx/pull/9784))
### Bug Fixes
- Fix: include ignore for config logos in sanity checker [@shamoon](https://github.com/shamoon) ([#10473](https://github.com/paperless-ngx/paperless-ngx/pull/10473))
- Fix: track and restore changed document fields from session storage [@shamoon](https://github.com/shamoon) ([#10468](https://github.com/paperless-ngx/paperless-ngx/pull/10468))
- Fix: Make some natural keyword date searches timezone-aware [@shamoon](https://github.com/shamoon) ([#10416](https://github.com/paperless-ngx/paperless-ngx/pull/10416))
- Fixhancement: follow redirects in curl health check [@V0idC0de](https://github.com/V0idC0de) ([#10415](https://github.com/paperless-ngx/paperless-ngx/pull/10415))
- Fix: dont use translated verbose_name for getting object perms [@shamoon](https://github.com/shamoon) ([#10399](https://github.com/paperless-ngx/paperless-ngx/pull/10399))
- Fix: fix date format for 'today' in DateComponent [@shamoon](https://github.com/shamoon) ([#10369](https://github.com/paperless-ngx/paperless-ngx/pull/10369))
- Fix: default to empty permissions for group creation [@shamoon](https://github.com/shamoon) ([#10337](https://github.com/paperless-ngx/paperless-ngx/pull/10337))
- Fix: correct api created coercion with timezone [@shamoon](https://github.com/shamoon) ([#10287](https://github.com/paperless-ngx/paperless-ngx/pull/10287))
- Fix: reset search query for preview on reset filter [@shamoon](https://github.com/shamoon) ([#10279](https://github.com/paperless-ngx/paperless-ngx/pull/10279))
- Chore: reject absurd max age values [@shamoon](https://github.com/shamoon) ([#10243](https://github.com/paperless-ngx/paperless-ngx/pull/10243))
- Chore: add tasks task_id param to openapi spec [@shamoon](https://github.com/shamoon) ([#10469](https://github.com/paperless-ngx/paperless-ngx/pull/10469))
- Chore: include advanced search query param in API spec [@shamoon](https://github.com/shamoon) ([#10449](https://github.com/paperless-ngx/paperless-ngx/pull/10449))
### Security
- Address XSS vulnerability GHSA-6p53-hqqw-8j62
### Maintenance
- docker(deps): Bump astral-sh/uv from 0.8.4-python3.12-bookworm-slim to 0.8.8-python3.12-bookworm-slim @[dependabot[bot]](https://github.com/apps/dependabot) ([#10564](https://github.com/paperless-ngx/paperless-ngx/pull/10564))
- docker(deps): Bump astral-sh/uv from 0.7.9-python3.12-bookworm-slim to 0.7.19-python3.12-bookworm-slim @[dependabot[bot]](https://github.com/apps/dependabot) ([#10343](https://github.com/paperless-ngx/paperless-ngx/pull/10343))
- Chore(deps): Bump the small-changes group across 1 directory with 7 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#10347](https://github.com/paperless-ngx/paperless-ngx/pull/10347))
- Chore(deps-dev): Bump @types/node from 22.15.29 to 24.0.10 in /src-ui @[dependabot[bot]](https://github.com/apps/dependabot) ([#10306](https://github.com/paperless-ngx/paperless-ngx/pull/10306))
- Chore(deps): Bump the small-changes group across 1 directory with 8 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#10481](https://github.com/paperless-ngx/paperless-ngx/pull/10481))
- docker(deps): bump astral-sh/uv from 0.7.19-python3.12-bookworm-slim to 0.8.3-python3.12-bookworm-slim @[dependabot[bot]](https://github.com/apps/dependabot) ([#10465](https://github.com/paperless-ngx/paperless-ngx/pull/10465))
- Chore: switch from os.path to pathlib.Path [@gothicVI](https://github.com/gothicVI) ([#10397](https://github.com/paperless-ngx/paperless-ngx/pull/10397))
- Chore(deps): Bump the small-changes group with 3 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#10528](https://github.com/paperless-ngx/paperless-ngx/pull/10528))
- Chore(deps): Bump the django group across 1 directory with 9 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#10538](https://github.com/paperless-ngx/paperless-ngx/pull/10538))
- Chore(deps): Bump stefanzweifel/git-auto-commit-action from 5 to 6 in the actions group @[dependabot[bot]](https://github.com/apps/dependabot) ([#10302](https://github.com/paperless-ngx/paperless-ngx/pull/10302))
### Dependencies
<details>
<summary>23 changes</summary>
- chore: Small targeted upgrades to dependencies [@stumpylog](https://github.com/stumpylog) ([#10561](https://github.com/paperless-ngx/paperless-ngx/pull/10561))
- docker(deps): Bump astral-sh/uv from 0.8.4-python3.12-bookworm-slim to 0.8.8-python3.12-bookworm-slim @[dependabot[bot]](https://github.com/apps/dependabot) ([#10564](https://github.com/paperless-ngx/paperless-ngx/pull/10564))
- Chore(deps): Bump the django group across 1 directory with 9 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#10538](https://github.com/paperless-ngx/paperless-ngx/pull/10538))
- Chore(deps): Bump the small-changes group with 3 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#10528](https://github.com/paperless-ngx/paperless-ngx/pull/10528))
- Chore(deps-dev): Bump the frontend-jest-dependencies group in /src-ui with 4 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#10497](https://github.com/paperless-ngx/paperless-ngx/pull/10497))
- Chore(deps-dev): Bump the frontend-eslint-dependencies group in /src-ui with 4 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#10498](https://github.com/paperless-ngx/paperless-ngx/pull/10498))
- Chore(deps-dev): Bump @playwright/test from 1.53.2 to 1.54.2 in /src-ui @[dependabot[bot]](https://github.com/apps/dependabot) ([#10499](https://github.com/paperless-ngx/paperless-ngx/pull/10499))
- Chore(deps-dev): Bump webpack from 5.99.9 to 5.101.0 in /src-ui @[dependabot[bot]](https://github.com/apps/dependabot) ([#10501](https://github.com/paperless-ngx/paperless-ngx/pull/10501))
- Chore(deps-dev): Bump prettier-plugin-organize-imports from 4.1.0 to 4.2.0 in /src-ui @[dependabot[bot]](https://github.com/apps/dependabot) ([#10500](https://github.com/paperless-ngx/paperless-ngx/pull/10500))
- Chore(deps-dev): Bump @types/node from 24.0.10 to 24.1.0 in /src-ui @[dependabot[bot]](https://github.com/apps/dependabot) ([#10502](https://github.com/paperless-ngx/paperless-ngx/pull/10502))
- Chore(deps): Bump the frontend-angular-dependencies group in /src-ui with 16 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#10496](https://github.com/paperless-ngx/paperless-ngx/pull/10496))
- Chore(deps): Bump the small-changes group across 1 directory with 8 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#10481](https://github.com/paperless-ngx/paperless-ngx/pull/10481))
- docker(deps): bump astral-sh/uv from 0.7.19-python3.12-bookworm-slim to 0.8.3-python3.12-bookworm-slim @[dependabot[bot]](https://github.com/apps/dependabot) ([#10465](https://github.com/paperless-ngx/paperless-ngx/pull/10465))
- docker(deps): Bump astral-sh/uv from 0.7.9-python3.12-bookworm-slim to 0.7.19-python3.12-bookworm-slim @[dependabot[bot]](https://github.com/apps/dependabot) ([#10343](https://github.com/paperless-ngx/paperless-ngx/pull/10343))
- Chore(deps): Bump the small-changes group across 1 directory with 7 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#10347](https://github.com/paperless-ngx/paperless-ngx/pull/10347))
- Chore(deps): Bump stefanzweifel/git-auto-commit-action from 5 to 6 in the actions group @[dependabot[bot]](https://github.com/apps/dependabot) ([#10302](https://github.com/paperless-ngx/paperless-ngx/pull/10302))
- Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 4 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#10311](https://github.com/paperless-ngx/paperless-ngx/pull/10311))
- Chore(deps-dev): Bump @types/node from 22.15.29 to 24.0.10 in /src-ui @[dependabot[bot]](https://github.com/apps/dependabot) ([#10306](https://github.com/paperless-ngx/paperless-ngx/pull/10306))
- Chore(deps): Bump bootstrap from 5.3.6 to 5.3.7 in /src-ui @[dependabot[bot]](https://github.com/apps/dependabot) ([#10308](https://github.com/paperless-ngx/paperless-ngx/pull/10308))
- Chore(deps-dev): Bump webpack from 5.98.0 to 5.99.9 in /src-ui @[dependabot[bot]](https://github.com/apps/dependabot) ([#10309](https://github.com/paperless-ngx/paperless-ngx/pull/10309))
- Chore(deps-dev): Bump @playwright/test from 1.51.1 to 1.53.2 in /src-ui @[dependabot[bot]](https://github.com/apps/dependabot) ([#10307](https://github.com/paperless-ngx/paperless-ngx/pull/10307))
- Chore(deps): Bump the frontend-angular-dependencies group in /src-ui with 13 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#10303](https://github.com/paperless-ngx/paperless-ngx/pull/10303))
- Chore: update to Angular 20 [@shamoon](https://github.com/shamoon) ([#10273](https://github.com/paperless-ngx/paperless-ngx/pull/10273))
</details>
### All App Changes
<details>
<summary>44 changes</summary>
- chore: Small targeted upgrades to dependencies [@stumpylog](https://github.com/stumpylog) ([#10561](https://github.com/paperless-ngx/paperless-ngx/pull/10561))
- Feature: Add filter to localize dates for filepath templating [@stumpylog](https://github.com/stumpylog) ([#10559](https://github.com/paperless-ngx/paperless-ngx/pull/10559))
- Chore: Removes duplication and spread out config for codespell [@stumpylog](https://github.com/stumpylog) ([#10560](https://github.com/paperless-ngx/paperless-ngx/pull/10560))
- Chore(deps): Bump the django group across 1 directory with 9 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#10538](https://github.com/paperless-ngx/paperless-ngx/pull/10538))
- Feature: PDF editor [@shamoon](https://github.com/shamoon) ([#10318](https://github.com/paperless-ngx/paperless-ngx/pull/10318))
- Enhancement: support webhook restrictions [@shamoon](https://github.com/shamoon) ([#10555](https://github.com/paperless-ngx/paperless-ngx/pull/10555))
- Performance: Classifier performance optimizations [@Merinorus](https://github.com/Merinorus) ([#10363](https://github.com/paperless-ngx/paperless-ngx/pull/10363))
- Chore: switch from os.path to pathlib.Path [@gothicVI](https://github.com/gothicVI) ([#10397](https://github.com/paperless-ngx/paperless-ngx/pull/10397))
- Chore(deps): Bump the small-changes group with 3 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#10528](https://github.com/paperless-ngx/paperless-ngx/pull/10528))
- Performance: add setting to enable DB connection pooling for PostgreSQL [@Merinorus](https://github.com/Merinorus) ([#10354](https://github.com/paperless-ngx/paperless-ngx/pull/10354))
- Chore(deps-dev): Bump the frontend-jest-dependencies group in /src-ui with 4 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#10497](https://github.com/paperless-ngx/paperless-ngx/pull/10497))
- Chore(deps-dev): Bump the frontend-eslint-dependencies group in /src-ui with 4 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#10498](https://github.com/paperless-ngx/paperless-ngx/pull/10498))
- Chore(deps-dev): Bump @playwright/test from 1.53.2 to 1.54.2 in /src-ui @[dependabot[bot]](https://github.com/apps/dependabot) ([#10499](https://github.com/paperless-ngx/paperless-ngx/pull/10499))
- Chore(deps-dev): Bump webpack from 5.99.9 to 5.101.0 in /src-ui @[dependabot[bot]](https://github.com/apps/dependabot) ([#10501](https://github.com/paperless-ngx/paperless-ngx/pull/10501))
- Chore(deps-dev): Bump prettier-plugin-organize-imports from 4.1.0 to 4.2.0 in /src-ui @[dependabot[bot]](https://github.com/apps/dependabot) ([#10500](https://github.com/paperless-ngx/paperless-ngx/pull/10500))
- Chore(deps-dev): Bump @types/node from 24.0.10 to 24.1.0 in /src-ui @[dependabot[bot]](https://github.com/apps/dependabot) ([#10502](https://github.com/paperless-ngx/paperless-ngx/pull/10502))
- Chore(deps): Bump the frontend-angular-dependencies group in /src-ui with 16 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#10496](https://github.com/paperless-ngx/paperless-ngx/pull/10496))
- Fixhancement: improve text thumbnail generation for large files [@shamoon](https://github.com/shamoon) ([#10483](https://github.com/paperless-ngx/paperless-ngx/pull/10483))
- Enhancement: disable auto spellcheck on filtering dropdowns [@TheDodger](https://github.com/TheDodger) ([#10487](https://github.com/paperless-ngx/paperless-ngx/pull/10487))
- Chore(deps): Bump the small-changes group across 1 directory with 8 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#10481](https://github.com/paperless-ngx/paperless-ngx/pull/10481))
- Fix: include ignore for config logos in sanity checker [@shamoon](https://github.com/shamoon) ([#10473](https://github.com/paperless-ngx/paperless-ngx/pull/10473))
- Chore: add tasks task_id param to openapi spec [@shamoon](https://github.com/shamoon) ([#10469](https://github.com/paperless-ngx/paperless-ngx/pull/10469))
- Fix: track and restore changed document fields from session storage [@shamoon](https://github.com/shamoon) ([#10468](https://github.com/paperless-ngx/paperless-ngx/pull/10468))
- Chore: include advanced search query param in API spec [@shamoon](https://github.com/shamoon) ([#10449](https://github.com/paperless-ngx/paperless-ngx/pull/10449))
- Enhancement: display saved view counts [@shamoon](https://github.com/shamoon) ([#10246](https://github.com/paperless-ngx/paperless-ngx/pull/10246))
- Fix: Make some natural keyword date searches timezone-aware [@shamoon](https://github.com/shamoon) ([#10416](https://github.com/paperless-ngx/paperless-ngx/pull/10416))
- Fixhancement: add missing exact operator for boolean CF queries [@shamoon](https://github.com/shamoon) ([#10402](https://github.com/paperless-ngx/paperless-ngx/pull/10402))
- Fix: dont use translated verbose_name for getting object perms [@shamoon](https://github.com/shamoon) ([#10399](https://github.com/paperless-ngx/paperless-ngx/pull/10399))
- Fix: fix date format for 'today' in DateComponent [@shamoon](https://github.com/shamoon) ([#10369](https://github.com/paperless-ngx/paperless-ngx/pull/10369))
- Feature: add Vietnamese translation [@shamoon](https://github.com/shamoon) ([#10352](https://github.com/paperless-ngx/paperless-ngx/pull/10352))
- Chore(deps): Bump the small-changes group across 1 directory with 7 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#10347](https://github.com/paperless-ngx/paperless-ngx/pull/10347))
- Fix: default to empty permissions for group creation [@shamoon](https://github.com/shamoon) ([#10337](https://github.com/paperless-ngx/paperless-ngx/pull/10337))
- Chore(deps-dev): Bump the frontend-eslint-dependencies group across 1 directory with 4 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#10311](https://github.com/paperless-ngx/paperless-ngx/pull/10311))
- Chore(deps-dev): Bump @types/node from 22.15.29 to 24.0.10 in /src-ui @[dependabot[bot]](https://github.com/apps/dependabot) ([#10306](https://github.com/paperless-ngx/paperless-ngx/pull/10306))
- Chore(deps): Bump bootstrap from 5.3.6 to 5.3.7 in /src-ui @[dependabot[bot]](https://github.com/apps/dependabot) ([#10308](https://github.com/paperless-ngx/paperless-ngx/pull/10308))
- Chore(deps-dev): Bump webpack from 5.98.0 to 5.99.9 in /src-ui @[dependabot[bot]](https://github.com/apps/dependabot) ([#10309](https://github.com/paperless-ngx/paperless-ngx/pull/10309))
- Chore(deps-dev): Bump @playwright/test from 1.51.1 to 1.53.2 in /src-ui @[dependabot[bot]](https://github.com/apps/dependabot) ([#10307](https://github.com/paperless-ngx/paperless-ngx/pull/10307))
- Chore(deps): Bump the frontend-angular-dependencies group in /src-ui with 13 updates @[dependabot[bot]](https://github.com/apps/dependabot) ([#10303](https://github.com/paperless-ngx/paperless-ngx/pull/10303))
- Performance: Add support for configuring date parser languages [@Merinorus](https://github.com/Merinorus) ([#10181](https://github.com/paperless-ngx/paperless-ngx/pull/10181))
- Enhancement: Add a database caching for improved performance [@Merinorus](https://github.com/Merinorus) ([#9784](https://github.com/paperless-ngx/paperless-ngx/pull/9784))
- Fix: correct api created coercion with timezone [@shamoon](https://github.com/shamoon) ([#10287](https://github.com/paperless-ngx/paperless-ngx/pull/10287))
- Fix: reset search query for preview on reset filter [@shamoon](https://github.com/shamoon) ([#10279](https://github.com/paperless-ngx/paperless-ngx/pull/10279))
- Chore: update to Angular 20 [@shamoon](https://github.com/shamoon) ([#10273](https://github.com/paperless-ngx/paperless-ngx/pull/10273))
- Chore: reject absurd max age values [@shamoon](https://github.com/shamoon) ([#10243](https://github.com/paperless-ngx/paperless-ngx/pull/10243))
</details>
## paperless-ngx 2.17.1 ## paperless-ngx 2.17.1
### Bug Fixes ### Bug Fixes
@ -5423,9 +5557,6 @@ This release contains new database migrations.
Paperless will continue to work with WSGI, but you will not get any Paperless will continue to work with WSGI, but you will not get any
status notifications. status notifications.
Apache `mod_wsgi` users, see
[this note](faq.md#how-do-i-get-websocket-support-with-apache-mod_wsgi).
- Paperless now offers suggestions for tags, correspondents and types - Paperless now offers suggestions for tags, correspondents and types
on the document detail page. on the document detail page.
@ -6227,11 +6358,12 @@ primarily.
who are doing active development on Paperless using the Docker who are doing active development on Paperless using the Docker
environment: environment:
[#376](https://github.com/the-paperless-project/paperless/pull/376). [#376](https://github.com/the-paperless-project/paperless/pull/376).
- You now also have the ability to customise the interface to your - ~~You now also have the ability to customise the interface to your
heart's content by creating a file called `overrides.css` and/or heart's content by creating a file called `overrides.css` and/or
`overrides.js` in the root of your media directory. Thanks to [Mark `overrides.js` in the root of your media directory. Thanks to [Mark
McFate](https://github.com/SummittDweller) for this idea: McFate](https://github.com/SummittDweller) for this idea:
[#371](https://github.com/the-paperless-project/paperless/issues/371) [#371](https://github.com/the-paperless-project/paperless/issues/371)~~
(Not supported by Paperless-ngx)
### 2.0.0 ### 2.0.0

View File

@ -47,6 +47,7 @@ markdown_extensions:
- pymdownx.superfences - pymdownx.superfences
- pymdownx.inlinehilite - pymdownx.inlinehilite
- pymdownx.snippets - pymdownx.snippets
- pymdownx.tilde
- footnotes - footnotes
- pymdownx.superfences: - pymdownx.superfences:
custom_fences: custom_fences:

View File

@ -1,7 +1,7 @@
[project] [project]
name = "paperless-ngx" name = "paperless-ngx"
version = "2.17.1" version = "2.18.0"
description = "A community-supported supercharged version of paperless: scan, index and archive all your physical documents" description = "A community-supported supercharged document management system: scan, index and archive all your physical documents"
readme = "README.md" readme = "README.md"
requires-python = ">=3.10" requires-python = ">=3.10"
classifiers = [ classifiers = [
@ -15,6 +15,7 @@ classifiers = [
# This will allow testing to not install a webserver, mysql, etc # This will allow testing to not install a webserver, mysql, etc
dependencies = [ dependencies = [
"babel>=2.17",
"bleach~=6.2.0", "bleach~=6.2.0",
"celery[redis]~=5.5.1", "celery[redis]~=5.5.1",
"channels~=4.2", "channels~=4.2",
@ -23,22 +24,22 @@ dependencies = [
"dateparser~=1.2", "dateparser~=1.2",
# WARNING: django does not use semver. # WARNING: django does not use semver.
# Only patch versions are guaranteed to not introduce breaking changes. # Only patch versions are guaranteed to not introduce breaking changes.
"django~=5.1.7", "django~=5.2.5",
"django-allauth[socialaccount,mfa]~=65.4.0", "django-allauth[socialaccount,mfa]~=65.4.0",
"django-auditlog~=3.1.2", "django-auditlog~=3.2.1",
"django-cachalot~=2.8.0", "django-cachalot~=2.8.0",
"django-celery-results~=2.6.0", "django-celery-results~=2.6.0",
"django-compression-middleware~=0.5.0", "django-compression-middleware~=0.5.0",
"django-cors-headers~=4.7.0", "django-cors-headers~=4.7.0",
"django-extensions~=4.1", "django-extensions~=4.1",
"django-filter~=25.1", "django-filter~=25.1",
"django-guardian~=2.4.0", "django-guardian~=3.0.3",
"django-multiselectfield~=0.1.13", "django-multiselectfield~=1.0.1",
"django-soft-delete~=1.0.18", "django-soft-delete~=1.0.18",
"djangorestframework~=3.15", "djangorestframework~=3.16",
"djangorestframework-guardian~=0.3.0", "djangorestframework-guardian~=0.4.0",
"drf-spectacular~=0.28", "drf-spectacular~=0.28",
"drf-spectacular-sidecar~=2025.4.1", "drf-spectacular-sidecar~=2025.8.1",
"drf-writable-nested~=0.7.1", "drf-writable-nested~=0.7.1",
"faiss-cpu>=1.10", "faiss-cpu>=1.10",
"filelock~=3.18.0", "filelock~=3.18.0",
@ -112,7 +113,7 @@ testing = [
"imagehash", "imagehash",
"pytest~=8.4.1", "pytest~=8.4.1",
"pytest-cov~=6.2.1", "pytest-cov~=6.2.1",
"pytest-django~=4.10.0", "pytest-django~=4.11.1",
"pytest-env", "pytest-env",
"pytest-httpx", "pytest-httpx",
"pytest-mock", "pytest-mock",
@ -230,6 +231,11 @@ lint.per-file-ignores."src/paperless_tesseract/tests/test_parser.py" = [
] ]
lint.isort.force-single-line = true lint.isort.force-single-line = true
[tool.codespell]
write-changes = true
ignore-words-list = "criterias,afterall,valeu,ureue,equest,ure,assertIn,Oktober"
skip = "src-ui/src/locale/*,src-ui/pnpm-lock.yaml,src-ui/e2e/*,src/paperless_mail/tests/samples/*,src/documents/tests/samples/*,*.po,*.json"
[tool.pytest.ini_options] [tool.pytest.ini_options]
minversion = "8.0" minversion = "8.0"
pythonpath = [ pythonpath = [

View File

@ -332,19 +332,19 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context>
<context context-type="linenumber">103</context> <context context-type="linenumber">105</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context>
<context context-type="linenumber">103</context> <context context-type="linenumber">105</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context>
<context context-type="linenumber">103</context> <context context-type="linenumber">105</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context>
<context context-type="linenumber">103</context> <context context-type="linenumber">105</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4930506384627295710" datatype="html"> <trans-unit id="4930506384627295710" datatype="html">
@ -2137,39 +2137,39 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context>
<context context-type="linenumber">85</context> <context context-type="linenumber">87</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context>
<context context-type="linenumber">85</context> <context context-type="linenumber">87</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context>
<context context-type="linenumber">85</context> <context context-type="linenumber">87</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context>
<context context-type="linenumber">85</context> <context context-type="linenumber">87</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context>
<context context-type="linenumber">97</context> <context context-type="linenumber">99</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context>
<context context-type="linenumber">97</context> <context context-type="linenumber">99</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context>
<context context-type="linenumber">97</context> <context context-type="linenumber">99</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context>
<context context-type="linenumber">97</context> <context context-type="linenumber">99</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context>
<context context-type="linenumber">223</context> <context context-type="linenumber">225</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/saved-views/saved-views.component.html</context> <context context-type="sourcefile">src/app/components/manage/saved-views/saved-views.component.html</context>
@ -2203,11 +2203,11 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context>
<context context-type="linenumber">219</context> <context context-type="linenumber">221</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context>
<context context-type="linenumber">336</context> <context context-type="linenumber">338</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1373208150912772963" datatype="html"> <trans-unit id="1373208150912772963" datatype="html">
@ -2249,7 +2249,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context>
<context context-type="linenumber">338</context> <context context-type="linenumber">340</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.ts</context> <context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.ts</context>
@ -2440,35 +2440,35 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context>
<context context-type="linenumber">84</context> <context context-type="linenumber">86</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context>
<context context-type="linenumber">84</context> <context context-type="linenumber">86</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context>
<context context-type="linenumber">84</context> <context context-type="linenumber">86</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context>
<context context-type="linenumber">84</context> <context context-type="linenumber">86</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context>
<context context-type="linenumber">94</context> <context context-type="linenumber">96</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context>
<context context-type="linenumber">94</context> <context context-type="linenumber">96</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context>
<context context-type="linenumber">94</context> <context context-type="linenumber">96</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context>
<context context-type="linenumber">94</context> <context context-type="linenumber">96</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.html</context> <context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.html</context>
@ -2576,7 +2576,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context>
<context context-type="linenumber">340</context> <context context-type="linenumber">342</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.ts</context> <context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.ts</context>
@ -5549,14 +5549,14 @@
<source>Copy metadata</source> <source>Copy metadata</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/common/pdf-editor/pdf-editor.component.html</context> <context context-type="sourcefile">src/app/components/common/pdf-editor/pdf-editor.component.html</context>
<context context-type="linenumber">93</context> <context context-type="linenumber">94</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6684403463658676119" datatype="html"> <trans-unit id="6684403463658676119" datatype="html">
<source>Delete original</source> <source>Delete original</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/common/pdf-editor/pdf-editor.component.html</context> <context context-type="sourcefile">src/app/components/common/pdf-editor/pdf-editor.component.html</context>
<context context-type="linenumber">97</context> <context context-type="linenumber">98</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="7940755769131903278" datatype="html"> <trans-unit id="7940755769131903278" datatype="html">
@ -8308,19 +8308,19 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context>
<context context-type="linenumber">87</context> <context context-type="linenumber">89</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context>
<context context-type="linenumber">87</context> <context context-type="linenumber">89</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context>
<context context-type="linenumber">87</context> <context context-type="linenumber">89</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context>
<context context-type="linenumber">87</context> <context context-type="linenumber">89</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="651372623796033489" datatype="html"> <trans-unit id="651372623796033489" datatype="html">
@ -8640,7 +8640,7 @@
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context>
<context context-type="linenumber">323</context> <context context-type="linenumber">325</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4010735610815226758" datatype="html"> <trans-unit id="4010735610815226758" datatype="html">
@ -8704,26 +8704,26 @@
<source>{VAR_PLURAL, plural, =1 {One <x id="INTERPOLATION"/>} other {<x id="INTERPOLATION_1"/> total <x id="INTERPOLATION_2"/>}}</source> <source>{VAR_PLURAL, plural, =1 {One <x id="INTERPOLATION"/>} other {<x id="INTERPOLATION_1"/> total <x id="INTERPOLATION_2"/>}}</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context>
<context context-type="linenumber">119</context> <context context-type="linenumber">121</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context>
<context context-type="linenumber">119</context> <context context-type="linenumber">121</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context>
<context context-type="linenumber">119</context> <context context-type="linenumber">121</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.html</context>
<context context-type="linenumber">119</context> <context context-type="linenumber">121</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="810888510148304696" datatype="html"> <trans-unit id="810888510148304696" datatype="html">
<source>Automatic</source> <source>Automatic</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context>
<context context-type="linenumber">115</context> <context context-type="linenumber">117</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/data/matching-model.ts</context> <context context-type="sourcefile">src/app/data/matching-model.ts</context>
@ -8734,7 +8734,7 @@
<source>None</source> <source>None</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context>
<context context-type="linenumber">117</context> <context context-type="linenumber">119</context>
</context-group> </context-group>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/data/matching-model.ts</context> <context context-type="sourcefile">src/app/data/matching-model.ts</context>
@ -8745,70 +8745,70 @@
<source>Successfully created <x id="PH" equiv-text="this.typeName"/>.</source> <source>Successfully created <x id="PH" equiv-text="this.typeName"/>.</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context>
<context context-type="linenumber">176</context> <context context-type="linenumber">178</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="3928835053823658072" datatype="html"> <trans-unit id="3928835053823658072" datatype="html">
<source>Error occurred while creating <x id="PH" equiv-text="this.typeName"/>.</source> <source>Error occurred while creating <x id="PH" equiv-text="this.typeName"/>.</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context>
<context context-type="linenumber">181</context> <context context-type="linenumber">183</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4835942264662718903" datatype="html"> <trans-unit id="4835942264662718903" datatype="html">
<source>Successfully updated <x id="PH" equiv-text="this.typeName"/> &quot;<x id="PH_1" equiv-text="object.name"/>&quot;.</source> <source>Successfully updated <x id="PH" equiv-text="this.typeName"/> &quot;<x id="PH_1" equiv-text="object.name"/>&quot;.</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context>
<context context-type="linenumber">196</context> <context context-type="linenumber">198</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6442673774206210733" datatype="html"> <trans-unit id="6442673774206210733" datatype="html">
<source>Error occurred while saving <x id="PH" equiv-text="this.typeName"/>.</source> <source>Error occurred while saving <x id="PH" equiv-text="this.typeName"/>.</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context>
<context context-type="linenumber">201</context> <context context-type="linenumber">203</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="8371896857609524947" datatype="html"> <trans-unit id="8371896857609524947" datatype="html">
<source>Associated documents will not be deleted.</source> <source>Associated documents will not be deleted.</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context>
<context context-type="linenumber">221</context> <context context-type="linenumber">223</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="6639207128255974941" datatype="html"> <trans-unit id="6639207128255974941" datatype="html">
<source>Error while deleting element</source> <source>Error while deleting element</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context>
<context context-type="linenumber">237</context> <context context-type="linenumber">239</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="4863024195229581844" datatype="html"> <trans-unit id="4863024195229581844" datatype="html">
<source>Permissions updated successfully</source> <source>Permissions updated successfully</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context>
<context context-type="linenumber">316</context> <context context-type="linenumber">318</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1464476612812630086" datatype="html"> <trans-unit id="1464476612812630086" datatype="html">
<source>This operation will permanently delete all objects.</source> <source>This operation will permanently delete all objects.</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context>
<context context-type="linenumber">337</context> <context context-type="linenumber">339</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="5897787932098828336" datatype="html"> <trans-unit id="5897787932098828336" datatype="html">
<source>Objects deleted successfully</source> <source>Objects deleted successfully</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context>
<context context-type="linenumber">351</context> <context context-type="linenumber">353</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="8273353839648035634" datatype="html"> <trans-unit id="8273353839648035634" datatype="html">
<source>Error deleting objects</source> <source>Error deleting objects</source>
<context-group purpose="location"> <context-group purpose="location">
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context> <context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context>
<context context-type="linenumber">357</context> <context context-type="linenumber">359</context>
</context-group> </context-group>
</trans-unit> </trans-unit>
<trans-unit id="1930477323485553035" datatype="html"> <trans-unit id="1930477323485553035" datatype="html">

View File

@ -1,6 +1,6 @@
{ {
"name": "paperless-ngx-ui", "name": "paperless-ngx-ui",
"version": "2.17.1", "version": "2.18.0",
"scripts": { "scripts": {
"preinstall": "npx only-allow pnpm", "preinstall": "npx only-allow pnpm",
"ng": "ng", "ng": "ng",

View File

@ -147,7 +147,7 @@ export class AppFrameComponent
} }
get versionString(): string { get versionString(): string {
return `${environment.appTitle} v${this.settingsService.get(SETTINGS_KEYS.VERSION)}${environment.production ? '' : ` #${environment.tag}`}` return `${environment.appTitle} v${this.settingsService.get(SETTINGS_KEYS.VERSION)}${environment.tag === 'prod' ? '' : ` #${environment.tag}`}`
} }
get customAppTitle(): string { get customAppTitle(): string {

View File

@ -25,7 +25,7 @@
</button> </button>
</div> </div>
</div> </div>
<div cdkDropList (cdkDropListDropped)="drop($event)" cdkDropListOrientation="mixed" class="d-flex flex-wrap row-cols-5"> <div cdkDropList (cdkDropListDropped)="drop($event)" cdkDropListOrientation="mixed" class="d-flex flex-wrap row-cols-2 row-cols-md-5">
@for (p of pages; track p.page; let i = $index) { @for (p of pages; track p.page; let i = $index) {
<div class="page-item rounded p-2" cdkDrag (click)="toggleSelection(i)" [class.selected]="p.selected"> <div class="page-item rounded p-2" cdkDrag (click)="toggleSelection(i)" [class.selected]="p.selected">
<div class="btn-toolbar hover-actions z-10"> <div class="btn-toolbar hover-actions z-10">
@ -73,8 +73,8 @@
} }
</div> </div>
</div> </div>
<div class="modal-footer flex-column"> <div class="modal-footer">
<div class="d-flex w-100 justify-content-between align-items-center"> <div class="d-flex flex-column flex-md-row w-100 gap-3 align-items-center">
<div class="btn-group" role="group"> <div class="btn-group" role="group">
<input type="radio" class="btn-check" [(ngModel)]="editMode" [value]="PdfEditorEditMode.Create" id="editModeCreate" name="editmode"> <input type="radio" class="btn-check" [(ngModel)]="editMode" [value]="PdfEditorEditMode.Create" id="editModeCreate" name="editmode">
<label for="editModeCreate" class="btn btn-outline-primary btn-sm"> <label for="editModeCreate" class="btn btn-outline-primary btn-sm">
@ -88,7 +88,8 @@
</label> </label>
</div> </div>
@if (editMode === PdfEditorEditMode.Create) { @if (editMode === PdfEditorEditMode.Create) {
<div class="form-check ms-3"> <div class="form-group d-flex">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="copyMeta" [(ngModel)]="includeMetadata"> <input class="form-check-input" type="checkbox" id="copyMeta" [(ngModel)]="includeMetadata">
<label class="form-check-label" for="copyMeta" i18n>Copy metadata</label> <label class="form-check-label" for="copyMeta" i18n>Copy metadata</label>
</div> </div>
@ -96,8 +97,11 @@
<input class="form-check-input" type="checkbox" id="deleteOriginal" [(ngModel)]="deleteOriginal"> <input class="form-check-input" type="checkbox" id="deleteOriginal" [(ngModel)]="deleteOriginal">
<label class="form-check-label" for="deleteOriginal" i18n>Delete original</label> <label class="form-check-label" for="deleteOriginal" i18n>Delete original</label>
</div> </div>
</div>
} }
<button type="button" class="btn ms-auto me-2" [class]="cancelBtnClass" (click)="cancel()" [disabled]="!buttonsEnabled">{{ cancelBtnCaption }}</button> <div class="form-group ms-md-auto">
<button type="button" class="btn me-2" [class]="cancelBtnClass" (click)="cancel()" [disabled]="!buttonsEnabled">{{ cancelBtnCaption }}</button>
<button type="button" class="btn" [class]="btnClass" (click)="confirm()" [disabled]="pages.length === 0">{{ btnCaption }}</button> <button type="button" class="btn" [class]="btnClass" (click)="confirm()" [disabled]="pages.length === 0">{{ btnCaption }}</button>
</div> </div>
</div> </div>
</div>

View File

@ -68,6 +68,8 @@
<td scope="row" [ngClass]="{ 'd-none d-sm-table-cell' : column.hideOnMobile }"> <td scope="row" [ngClass]="{ 'd-none d-sm-table-cell' : column.hideOnMobile }">
@if (column.rendersHtml) { @if (column.rendersHtml) {
<div [innerHtml]="column.valueFn.call(null, object) | safeHtml"></div> <div [innerHtml]="column.valueFn.call(null, object) | safeHtml"></div>
} @else if (column.monospace) {
<span class="font-monospace">{{ column.valueFn.call(null, object) }}</span>
} @else { } @else {
{{ column.valueFn.call(null, object) }} {{ column.valueFn.call(null, object) }}
} }

View File

@ -53,6 +53,8 @@ export interface ManagementListColumn {
rendersHtml?: boolean rendersHtml?: boolean
hideOnMobile?: boolean hideOnMobile?: boolean
monospace?: boolean
} }
@Directive() @Directive()

View File

@ -80,7 +80,7 @@ describe('StoragePathListComponent', () => {
path: 'a'.repeat(100), path: 'a'.repeat(100),
} }
expect(component.extraColumns[0].valueFn(path)).toEqual( expect(component.extraColumns[0].valueFn(path)).toEqual(
`<code>${'a'.repeat(49)}...</code>` `${'a'.repeat(49)}...`
) )
}) })
}) })

View File

@ -48,10 +48,10 @@ export class StoragePathListComponent extends ManagementListComponent<StoragePat
{ {
key: 'path', key: 'path',
name: $localize`Path`, name: $localize`Path`,
rendersHtml: true,
hideOnMobile: true, hideOnMobile: true,
monospace: true,
valueFn: (c: StoragePath) => { valueFn: (c: StoragePath) => {
return `<code>${c.path?.slice(0, 49)}${c.path?.length > 50 ? '...' : ''}</code>` return `${c.path?.slice(0, 49)}${c.path?.length > 50 ? '...' : ''}`
}, },
}, },
] ]

View File

@ -6,7 +6,7 @@ export const environment = {
apiVersion: '9', // match src/paperless/settings.py apiVersion: '9', // match src/paperless/settings.py
appTitle: 'Paperless-ngx', appTitle: 'Paperless-ngx',
tag: 'prod', tag: 'prod',
version: '2.17.1', version: '2.18.0',
webSocketHost: window.location.host, webSocketHost: window.location.host,
webSocketProtocol: window.location.protocol == 'https:' ? 'wss:' : 'ws:', webSocketProtocol: window.location.protocol == 'https:' ? 'wss:' : 'ws:',
webSocketBaseUrl: base_url.pathname + 'ws/', webSocketBaseUrl: base_url.pathname + 'ws/',

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -125,14 +125,14 @@ class Command(MultiProcessMixin, ProgressBarMixin, BaseCommand):
messages.append( messages.append(
self.style.NOTICE( self.style.NOTICE(
f"Document {result.doc_one_pk} fuzzy match" f"Document {result.doc_one_pk} fuzzy match"
f" to {result.doc_two_pk} (confidence {result.ratio:.3f})", f" to {result.doc_two_pk} (confidence {result.ratio:.3f})\n",
), ),
) )
maybe_delete_ids.append(result.doc_two_pk) maybe_delete_ids.append(result.doc_two_pk)
if len(messages) == 0: if len(messages) == 0:
messages.append( messages.append(
self.style.SUCCESS("No matches found"), self.style.SUCCESS("No matches found\n"),
) )
self.stdout.writelines( self.stdout.writelines(
messages, messages,

View File

@ -2089,6 +2089,24 @@ class WorkflowTriggerSerializer(serializers.ModelSerializer):
return attrs return attrs
@staticmethod
def normalize_workflow_trigger_sources(trigger):
"""
Convert sources to strings to handle django-multiselectfield v1.0 changes
"""
if trigger and "sources" in trigger:
trigger["sources"] = [
str(s.value if hasattr(s, "value") else s) for s in trigger["sources"]
]
def create(self, validated_data):
WorkflowTriggerSerializer.normalize_workflow_trigger_sources(validated_data)
return super().create(validated_data)
def update(self, instance, validated_data):
WorkflowTriggerSerializer.normalize_workflow_trigger_sources(validated_data)
return super().update(instance, validated_data)
class WorkflowActionEmailSerializer(serializers.ModelSerializer): class WorkflowActionEmailSerializer(serializers.ModelSerializer):
id = serializers.IntegerField(allow_null=True, required=False) id = serializers.IntegerField(allow_null=True, required=False)
@ -2253,6 +2271,8 @@ class WorkflowSerializer(serializers.ModelSerializer):
if triggers is not None and triggers is not serializers.empty: if triggers is not None and triggers is not serializers.empty:
for trigger in triggers: for trigger in triggers:
filter_has_tags = trigger.pop("filter_has_tags", None) filter_has_tags = trigger.pop("filter_has_tags", None)
# Convert sources to strings to handle django-multiselectfield v1.0 changes
WorkflowTriggerSerializer.normalize_workflow_trigger_sources(trigger)
trigger_instance, _ = WorkflowTrigger.objects.update_or_create( trigger_instance, _ = WorkflowTrigger.objects.update_or_create(
id=trigger.get("id"), id=trigger.get("id"),
defaults=trigger, defaults=trigger,

View File

@ -2,10 +2,13 @@ import logging
import os import os
import re import re
from collections.abc import Iterable from collections.abc import Iterable
from datetime import date
from datetime import datetime from datetime import datetime
from pathlib import PurePath from pathlib import PurePath
import pathvalidate import pathvalidate
from babel import Locale
from babel import dates
from django.utils import timezone from django.utils import timezone
from django.utils.dateparse import parse_date from django.utils.dateparse import parse_date
from django.utils.text import slugify as django_slugify from django.utils.text import slugify as django_slugify
@ -90,19 +93,51 @@ def get_cf_value(
return None return None
_template_environment.filters["get_cf_value"] = get_cf_value
def format_datetime(value: str | datetime, format: str) -> str: def format_datetime(value: str | datetime, format: str) -> str:
if isinstance(value, str): if isinstance(value, str):
value = parse_date(value) value = parse_date(value)
return value.strftime(format=format) return value.strftime(format=format)
def localize_date(value: date | datetime, format: str, locale: str) -> str:
"""
Format a date or datetime object into a localized string using Babel.
Args:
value (date | datetime): The date or datetime to format. If a datetime
is provided, it should be timezone-aware (e.g., UTC from a Django DB object).
format (str): The format to use. Can be one of Babel's preset formats
('short', 'medium', 'long', 'full') or a custom pattern string.
locale (str): The locale code (e.g., 'en_US', 'fr_FR') to use for
localization.
Returns:
str: The localized, formatted date string.
Raises:
TypeError: If `value` is not a date or datetime instance.
"""
try:
Locale.parse(locale)
except Exception as e:
raise ValueError(f"Invalid locale identifier: {locale}") from e
if isinstance(value, datetime):
return dates.format_datetime(value, format=format, locale=locale)
elif isinstance(value, date):
return dates.format_date(value, format=format, locale=locale)
else:
raise TypeError(f"Unsupported type {type(value)} for localize_date")
_template_environment.filters["get_cf_value"] = get_cf_value
_template_environment.filters["datetime"] = format_datetime _template_environment.filters["datetime"] = format_datetime
_template_environment.filters["slugify"] = django_slugify _template_environment.filters["slugify"] = django_slugify
_template_environment.filters["localize_date"] = localize_date
def create_dummy_document(): def create_dummy_document():
""" """

View File

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100">
<text x="10" y="20">Hello</text>
<script>alert('XSS')</script>
</svg>

After

Width:  |  Height:  |  Size: 140 B

View File

@ -3,6 +3,7 @@ from pathlib import Path
from unittest.mock import patch from unittest.mock import patch
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.core.files.uploadedfile import SimpleUploadedFile
from rest_framework import status from rest_framework import status
from rest_framework.test import APITestCase from rest_framework.test import APITestCase
@ -157,25 +158,66 @@ class TestApiAppConfig(DirectoriesMixin, APITestCase):
THEN: THEN:
- old app_logo file is deleted - old app_logo file is deleted
""" """
with (Path(__file__).parent / "samples" / "simple.jpg").open("rb") as f: admin = User.objects.create_superuser(username="admin")
self.client.force_login(user=admin)
response = self.client.get("/logo/")
self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
self.client.patch( self.client.patch(
f"{self.ENDPOINT}1/", f"{self.ENDPOINT}1/",
{ {
"app_logo": f, "app_logo": SimpleUploadedFile(
name="simple.jpg",
content=(
Path(__file__).parent / "samples" / "simple.jpg"
).read_bytes(),
content_type="image/jpeg",
),
}, },
) )
# Logo exists at /logo/simple.jpg
response = self.client.get("/logo/simple.jpg")
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertIn("image/jpeg", response["Content-Type"])
config = ApplicationConfiguration.objects.first() config = ApplicationConfiguration.objects.first()
old_logo = config.app_logo old_logo = config.app_logo
self.assertTrue(Path(old_logo.path).exists()) self.assertTrue(Path(old_logo.path).exists())
with (Path(__file__).parent / "samples" / "simple.png").open("rb") as f:
self.client.patch( self.client.patch(
f"{self.ENDPOINT}1/", f"{self.ENDPOINT}1/",
{ {
"app_logo": f, "app_logo": SimpleUploadedFile(
name="simple.png",
content=(
Path(__file__).parent / "samples" / "simple.png"
).read_bytes(),
content_type="image/png",
),
}, },
) )
self.assertFalse(Path(old_logo.path).exists()) self.assertFalse(Path(old_logo.path).exists())
def test_api_rejects_malicious_svg_logo(self):
"""
GIVEN:
- An SVG logo containing a <script> tag
WHEN:
- Uploaded via PATCH to app config
THEN:
- SVG is rejected with 400
"""
path = Path(__file__).parent / "samples" / "malicious.svg"
with path.open("rb") as f:
response = self.client.patch(
f"{self.ENDPOINT}1/",
{"app_logo": f},
format="multipart",
)
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
self.assertIn("disallowed", str(response.data).lower())
def test_create_not_allowed(self): def test_create_not_allowed(self):
""" """
GIVEN: GIVEN:

View File

@ -4,6 +4,7 @@ import tempfile
from pathlib import Path from pathlib import Path
from unittest import mock from unittest import mock
import pytest
from auditlog.context import disable_auditlog from auditlog.context import disable_auditlog
from django.conf import settings from django.conf import settings
from django.contrib.auth.models import User from django.contrib.auth.models import User
@ -22,6 +23,8 @@ from documents.models import Document
from documents.models import DocumentType from documents.models import DocumentType
from documents.models import StoragePath from documents.models import StoragePath
from documents.tasks import empty_trash from documents.tasks import empty_trash
from documents.templating.filepath import localize_date
from documents.tests.factories import DocumentFactory
from documents.tests.utils import DirectoriesMixin from documents.tests.utils import DirectoriesMixin
from documents.tests.utils import FileSystemAssertsMixin from documents.tests.utils import FileSystemAssertsMixin
@ -1586,3 +1589,196 @@ class TestFilenameGeneration(DirectoriesMixin, TestCase):
generate_filename(doc), generate_filename(doc),
Path("brussels-belgium/some-title-with-special-characters.pdf"), Path("brussels-belgium/some-title-with-special-characters.pdf"),
) )
class TestDateLocalization:
"""
Groups all tests related to the `localize_date` function.
"""
TEST_DATE = datetime.date(2023, 10, 26)
TEST_DATETIME = datetime.datetime(
2023,
10,
26,
14,
30,
5,
tzinfo=datetime.timezone.utc,
)
@pytest.mark.parametrize(
"value, format_style, locale_str, expected_output",
[
pytest.param(
TEST_DATE,
"EEEE, MMM d, yyyy",
"en_US",
"Thursday, Oct 26, 2023",
id="date-en_US-custom",
),
pytest.param(
TEST_DATE,
"dd.MM.yyyy",
"de_DE",
"26.10.2023",
id="date-de_DE-custom",
),
# German weekday and month name translation
pytest.param(
TEST_DATE,
"EEEE",
"de_DE",
"Donnerstag",
id="weekday-de_DE",
),
pytest.param(
TEST_DATE,
"MMMM",
"de_DE",
"Oktober",
id="month-de_DE",
),
# French weekday and month name translation
pytest.param(
TEST_DATE,
"EEEE",
"fr_FR",
"jeudi",
id="weekday-fr_FR",
),
pytest.param(
TEST_DATE,
"MMMM",
"fr_FR",
"octobre",
id="month-fr_FR",
),
],
)
def test_localize_date_with_date_objects(
self,
value: datetime.date,
format_style: str,
locale_str: str,
expected_output: str,
):
"""
Tests `localize_date` with `date` objects across different locales and formats.
"""
assert localize_date(value, format_style, locale_str) == expected_output
@pytest.mark.parametrize(
"value, format_style, locale_str, expected_output",
[
pytest.param(
TEST_DATETIME,
"yyyy.MM.dd G 'at' HH:mm:ss zzz",
"en_US",
"2023.10.26 AD at 14:30:05 UTC",
id="datetime-en_US-custom",
),
pytest.param(
TEST_DATETIME,
"dd.MM.yyyy",
"fr_FR",
"26.10.2023",
id="date-fr_FR-custom",
),
# Spanish weekday and month translation
pytest.param(
TEST_DATETIME,
"EEEE",
"es_ES",
"jueves",
id="weekday-es_ES",
),
pytest.param(
TEST_DATETIME,
"MMMM",
"es_ES",
"octubre",
id="month-es_ES",
),
# Italian weekday and month translation
pytest.param(
TEST_DATETIME,
"EEEE",
"it_IT",
"giovedì",
id="weekday-it_IT",
),
pytest.param(
TEST_DATETIME,
"MMMM",
"it_IT",
"ottobre",
id="month-it_IT",
),
],
)
def test_localize_date_with_datetime_objects(
self,
value: datetime.datetime,
format_style: str,
locale_str: str,
expected_output: str,
):
# To handle the non-breaking space in French and other locales
result = localize_date(value, format_style, locale_str)
assert result.replace("\u202f", " ") == expected_output.replace("\u202f", " ")
@pytest.mark.parametrize(
"invalid_value",
[
"2023-10-26",
1698330605,
None,
[],
{},
],
)
def test_localize_date_raises_type_error_for_invalid_input(self, invalid_value):
with pytest.raises(TypeError) as excinfo:
localize_date(invalid_value, "medium", "en_US")
assert f"Unsupported type {type(invalid_value)}" in str(excinfo.value)
def test_localize_date_raises_error_for_invalid_locale(self):
with pytest.raises(ValueError) as excinfo:
localize_date(self.TEST_DATE, "medium", "invalid_locale_code")
assert "Invalid locale identifier" in str(excinfo.value)
@pytest.mark.django_db
@pytest.mark.parametrize(
"filename_format,expected_filename",
[
pytest.param(
"{{title}}_{{ document.created | localize_date('MMMM', 'es_ES')}}",
"My Document_octubre.pdf",
id="spanish_month_name",
),
pytest.param(
"{{title}}_{{ document.created | localize_date('EEEE', 'fr_FR')}}",
"My Document_jeudi.pdf",
id="french_day_of_week",
),
pytest.param(
"{{title}}_{{ document.created | localize_date('dd/MM/yyyy', 'en_GB')}}",
"My Document_26/10/2023.pdf",
id="uk_date_format",
),
],
)
def test_localize_date_path_building(self, filename_format, expected_filename):
document = DocumentFactory.create(
title="My Document",
mime_type="application/pdf",
storage_type=Document.STORAGE_TYPE_UNENCRYPTED,
created=self.TEST_DATE, # 2023-10-26 (which is a Thursday)
)
with override_settings(FILENAME_FORMAT=filename_format):
filename = generate_filename(document)
assert filename == Path(expected_filename)

View File

@ -123,7 +123,7 @@ class TestExportImport(
self.trigger = WorkflowTrigger.objects.create( self.trigger = WorkflowTrigger.objects.create(
type=WorkflowTrigger.WorkflowTriggerType.CONSUMPTION, type=WorkflowTrigger.WorkflowTriggerType.CONSUMPTION,
sources=[1], sources=[str(WorkflowTrigger.DocumentSourceChoices.CONSUME_FOLDER.value)],
filter_filename="*", filter_filename="*",
) )
self.action = WorkflowAction.objects.create(assign_title="new title") self.action = WorkflowAction.objects.create(assign_title="new title")

View File

@ -87,7 +87,7 @@ class TestFuzzyMatchCommand(TestCase):
filename="other_test.pdf", filename="other_test.pdf",
) )
stdout, _ = self.call_command() stdout, _ = self.call_command()
self.assertEqual(stdout, "No matches found\n") self.assertIn("No matches found", stdout)
def test_with_matches(self): def test_with_matches(self):
""" """
@ -116,7 +116,7 @@ class TestFuzzyMatchCommand(TestCase):
filename="other_test.pdf", filename="other_test.pdf",
) )
stdout, _ = self.call_command("--processes", "1") stdout, _ = self.call_command("--processes", "1")
self.assertRegex(stdout, self.MSG_REGEX + "\n") self.assertRegex(stdout, self.MSG_REGEX)
def test_with_3_matches(self): def test_with_3_matches(self):
""" """
@ -152,11 +152,10 @@ class TestFuzzyMatchCommand(TestCase):
filename="final_test.pdf", filename="final_test.pdf",
) )
stdout, _ = self.call_command() stdout, _ = self.call_command()
lines = [x.strip() for x in stdout.split("\n") if len(x.strip())] lines = [x.strip() for x in stdout.splitlines() if x.strip()]
self.assertEqual(len(lines), 3) self.assertEqual(len(lines), 3)
self.assertRegex(lines[0], self.MSG_REGEX) for line in lines:
self.assertRegex(lines[1], self.MSG_REGEX) self.assertRegex(line, self.MSG_REGEX)
self.assertRegex(lines[2], self.MSG_REGEX)
def test_document_deletion(self): def test_document_deletion(self):
""" """
@ -197,14 +196,12 @@ class TestFuzzyMatchCommand(TestCase):
stdout, _ = self.call_command("--delete") stdout, _ = self.call_command("--delete")
lines = [x.strip() for x in stdout.split("\n") if len(x.strip())] self.assertIn(
self.assertEqual(len(lines), 3)
self.assertEqual(
lines[0],
"The command is configured to delete documents. Use with caution", "The command is configured to delete documents. Use with caution",
stdout,
) )
self.assertRegex(lines[1], self.MSG_REGEX) self.assertRegex(stdout, self.MSG_REGEX)
self.assertEqual(lines[2], "Deleting 1 documents based on ratio matches") self.assertIn("Deleting 1 documents based on ratio matches", stdout)
self.assertEqual(Document.objects.count(), 2) self.assertEqual(Document.objects.count(), 2)
self.assertIsNotNone(Document.objects.get(pk=1)) self.assertIsNotNone(Document.objects.get(pk=1))

View File

@ -104,7 +104,7 @@ class TestReverseMigrateWorkflow(TestMigrations):
trigger = WorkflowTrigger.objects.create( trigger = WorkflowTrigger.objects.create(
type=0, type=0,
sources=[DocumentSource.ConsumeFolder], sources=[str(DocumentSource.ConsumeFolder)],
filter_path="*/path/*", filter_path="*/path/*",
filter_filename="*file*", filter_filename="*file*",
) )

View File

@ -14,6 +14,7 @@ from urllib.parse import quote
from urllib.parse import urlparse from urllib.parse import urlparse
import httpx import httpx
import magic
import pathvalidate import pathvalidate
from celery import states from celery import states
from django.conf import settings from django.conf import settings
@ -34,6 +35,7 @@ from django.db.models import When
from django.db.models.functions import Length from django.db.models.functions import Length
from django.db.models.functions import Lower from django.db.models.functions import Lower
from django.db.models.manager import Manager from django.db.models.manager import Manager
from django.http import FileResponse
from django.http import Http404 from django.http import Http404
from django.http import HttpResponse from django.http import HttpResponse
from django.http import HttpResponseBadRequest from django.http import HttpResponseBadRequest
@ -180,6 +182,7 @@ from paperless.celery import app as celery_app
from paperless.config import AIConfig from paperless.config import AIConfig
from paperless.config import GeneralConfig from paperless.config import GeneralConfig
from paperless.db import GnuPG from paperless.db import GnuPG
from paperless.models import ApplicationConfiguration
from paperless.serialisers import GroupSerializer from paperless.serialisers import GroupSerializer
from paperless.serialisers import UserSerializer from paperless.serialisers import UserSerializer
from paperless.views import StandardPagination from paperless.views import StandardPagination
@ -3109,3 +3112,25 @@ class TrashView(ListModelMixin, PassUserMixin):
doc_ids = [doc.id for doc in docs] doc_ids = [doc.id for doc in docs]
empty_trash(doc_ids=doc_ids) empty_trash(doc_ids=doc_ids)
return Response({"result": "OK", "doc_ids": doc_ids}) return Response({"result": "OK", "doc_ids": doc_ids})
def serve_logo(request, filename=None):
"""
Serves the configured logo file with Content-Disposition: attachment.
Prevents inline execution of SVGs. See GHSA-6p53-hqqw-8j62
"""
config = ApplicationConfiguration.objects.first()
app_logo = config.app_logo
if not app_logo:
raise Http404("No logo configured")
path = app_logo.path
content_type = magic.from_file(path, mime=True) or "application/octet-stream"
return FileResponse(
app_logo.open("rb"),
content_type=content_type,
filename=app_logo.name,
as_attachment=True,
)

View File

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-19 18:51+0000\n" "POT-Creation-Date: 2025-08-16 14:34+0000\n"
"PO-Revision-Date: 2025-06-19 18:52\n" "PO-Revision-Date: 2025-08-16 14:36\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Afrikaans\n" "Language-Team: Afrikaans\n"
"Language: af_ZA\n" "Language: af_ZA\n"
@ -1164,21 +1164,21 @@ msgstr ""
msgid "workflow runs" msgid "workflow runs"
msgstr "" msgstr ""
#: documents/serialisers.py:135 #: documents/serialisers.py:139
#, python-format #, python-format
msgid "Invalid regular expression: %(error)s" msgid "Invalid regular expression: %(error)s"
msgstr "Ongeldige reguliere uitdrukking: %(error)s" msgstr "Ongeldige reguliere uitdrukking: %(error)s"
#: documents/serialisers.py:561 #: documents/serialisers.py:565
msgid "Invalid color." msgid "Invalid color."
msgstr "Ongeldige kleur." msgstr "Ongeldige kleur."
#: documents/serialisers.py:1645 #: documents/serialisers.py:1700
#, python-format #, python-format
msgid "File type %(type)s not supported" msgid "File type %(type)s not supported"
msgstr "Lêertipe %(type)s word nie ondersteun nie" msgstr "Lêertipe %(type)s word nie ondersteun nie"
#: documents/serialisers.py:1739 #: documents/serialisers.py:1794
msgid "Invalid variable detected." msgid "Invalid variable detected."
msgstr "Ongeldige veranderlike bespeur." msgstr "Ongeldige veranderlike bespeur."
@ -1618,147 +1618,151 @@ msgstr ""
msgid "paperless application settings" msgid "paperless application settings"
msgstr "" msgstr ""
#: paperless/settings.py:755 #: paperless/settings.py:774
msgid "English (US)" msgid "English (US)"
msgstr "Engels (VS)" msgstr "Engels (VS)"
#: paperless/settings.py:756 #: paperless/settings.py:775
msgid "Arabic" msgid "Arabic"
msgstr "Arabies" msgstr "Arabies"
#: paperless/settings.py:757 #: paperless/settings.py:776
msgid "Afrikaans" msgid "Afrikaans"
msgstr "" msgstr ""
#: paperless/settings.py:758 #: paperless/settings.py:777
msgid "Belarusian" msgid "Belarusian"
msgstr "Belorussies" msgstr "Belorussies"
#: paperless/settings.py:759 #: paperless/settings.py:778
msgid "Bulgarian" msgid "Bulgarian"
msgstr "" msgstr ""
#: paperless/settings.py:760 #: paperless/settings.py:779
msgid "Catalan" msgid "Catalan"
msgstr "Katalaans" msgstr "Katalaans"
#: paperless/settings.py:761 #: paperless/settings.py:780
msgid "Czech" msgid "Czech"
msgstr "Tsjeggies" msgstr "Tsjeggies"
#: paperless/settings.py:762 #: paperless/settings.py:781
msgid "Danish" msgid "Danish"
msgstr "Deens" msgstr "Deens"
#: paperless/settings.py:763 #: paperless/settings.py:782
msgid "German" msgid "German"
msgstr "Duits" msgstr "Duits"
#: paperless/settings.py:764 #: paperless/settings.py:783
msgid "Greek" msgid "Greek"
msgstr "" msgstr ""
#: paperless/settings.py:765 #: paperless/settings.py:784
msgid "English (GB)" msgid "English (GB)"
msgstr "Engels (GB)" msgstr "Engels (GB)"
#: paperless/settings.py:766 #: paperless/settings.py:785
msgid "Spanish" msgid "Spanish"
msgstr "Spaans" msgstr "Spaans"
#: paperless/settings.py:767 #: paperless/settings.py:786
msgid "Persian" msgid "Persian"
msgstr "" msgstr ""
#: paperless/settings.py:768 #: paperless/settings.py:787
msgid "Finnish" msgid "Finnish"
msgstr "Fins" msgstr "Fins"
#: paperless/settings.py:769 #: paperless/settings.py:788
msgid "French" msgid "French"
msgstr "Frans" msgstr "Frans"
#: paperless/settings.py:770 #: paperless/settings.py:789
msgid "Hungarian" msgid "Hungarian"
msgstr "" msgstr ""
#: paperless/settings.py:771 #: paperless/settings.py:790
msgid "Italian" msgid "Italian"
msgstr "Italiaans" msgstr "Italiaans"
#: paperless/settings.py:772 #: paperless/settings.py:791
msgid "Japanese" msgid "Japanese"
msgstr "" msgstr ""
#: paperless/settings.py:773 #: paperless/settings.py:792
msgid "Korean" msgid "Korean"
msgstr "" msgstr ""
#: paperless/settings.py:774 #: paperless/settings.py:793
msgid "Luxembourgish" msgid "Luxembourgish"
msgstr "Luxemburgs" msgstr "Luxemburgs"
#: paperless/settings.py:775 #: paperless/settings.py:794
msgid "Norwegian" msgid "Norwegian"
msgstr "" msgstr ""
#: paperless/settings.py:776 #: paperless/settings.py:795
msgid "Dutch" msgid "Dutch"
msgstr "Nederlands" msgstr "Nederlands"
#: paperless/settings.py:777 #: paperless/settings.py:796
msgid "Polish" msgid "Polish"
msgstr "Pools" msgstr "Pools"
#: paperless/settings.py:778 #: paperless/settings.py:797
msgid "Portuguese (Brazil)" msgid "Portuguese (Brazil)"
msgstr "Portugees (Brasilië)" msgstr "Portugees (Brasilië)"
#: paperless/settings.py:779 #: paperless/settings.py:798
msgid "Portuguese" msgid "Portuguese"
msgstr "Portugees" msgstr "Portugees"
#: paperless/settings.py:780 #: paperless/settings.py:799
msgid "Romanian" msgid "Romanian"
msgstr "Roemeens" msgstr "Roemeens"
#: paperless/settings.py:781 #: paperless/settings.py:800
msgid "Russian" msgid "Russian"
msgstr "Russies" msgstr "Russies"
#: paperless/settings.py:782 #: paperless/settings.py:801
msgid "Slovak" msgid "Slovak"
msgstr "" msgstr ""
#: paperless/settings.py:783 #: paperless/settings.py:802
msgid "Slovenian" msgid "Slovenian"
msgstr "Sloweens" msgstr "Sloweens"
#: paperless/settings.py:784 #: paperless/settings.py:803
msgid "Serbian" msgid "Serbian"
msgstr "Serwies" msgstr "Serwies"
#: paperless/settings.py:785 #: paperless/settings.py:804
msgid "Swedish" msgid "Swedish"
msgstr "Sweeds" msgstr "Sweeds"
#: paperless/settings.py:786 #: paperless/settings.py:805
msgid "Turkish" msgid "Turkish"
msgstr "Turks" msgstr "Turks"
#: paperless/settings.py:787 #: paperless/settings.py:806
msgid "Ukrainian" msgid "Ukrainian"
msgstr "" msgstr ""
#: paperless/settings.py:788 #: paperless/settings.py:807
msgid "Vietnamese"
msgstr ""
#: paperless/settings.py:808
msgid "Chinese Simplified" msgid "Chinese Simplified"
msgstr "Vereenvoudigde Sjinees" msgstr "Vereenvoudigde Sjinees"
#: paperless/settings.py:789 #: paperless/settings.py:809
msgid "Chinese Traditional" msgid "Chinese Traditional"
msgstr "" msgstr ""
#: paperless/urls.py:374 #: paperless/urls.py:368
msgid "Paperless-ngx administration" msgid "Paperless-ngx administration"
msgstr "Paperless-ngx administrasie" msgstr "Paperless-ngx administrasie"

View File

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-19 18:51+0000\n" "POT-Creation-Date: 2025-08-16 14:34+0000\n"
"PO-Revision-Date: 2025-06-19 18:52\n" "PO-Revision-Date: 2025-08-16 14:36\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Arabic\n" "Language-Team: Arabic\n"
"Language: ar_SA\n" "Language: ar_SA\n"
@ -1164,21 +1164,21 @@ msgstr ""
msgid "workflow runs" msgid "workflow runs"
msgstr "" msgstr ""
#: documents/serialisers.py:135 #: documents/serialisers.py:139
#, python-format #, python-format
msgid "Invalid regular expression: %(error)s" msgid "Invalid regular expression: %(error)s"
msgstr "التعبير النظامي خاطىء: %(error)s" msgstr "التعبير النظامي خاطىء: %(error)s"
#: documents/serialisers.py:561 #: documents/serialisers.py:565
msgid "Invalid color." msgid "Invalid color."
msgstr "لون خاطئ." msgstr "لون خاطئ."
#: documents/serialisers.py:1645 #: documents/serialisers.py:1700
#, python-format #, python-format
msgid "File type %(type)s not supported" msgid "File type %(type)s not supported"
msgstr "نوع الملف %(type)s غير مدعوم" msgstr "نوع الملف %(type)s غير مدعوم"
#: documents/serialisers.py:1739 #: documents/serialisers.py:1794
msgid "Invalid variable detected." msgid "Invalid variable detected."
msgstr "اكتشاف متغير خاطئ." msgstr "اكتشاف متغير خاطئ."
@ -1619,147 +1619,151 @@ msgstr ""
msgid "paperless application settings" msgid "paperless application settings"
msgstr "إعدادات التطبيق paperless" msgstr "إعدادات التطبيق paperless"
#: paperless/settings.py:755 #: paperless/settings.py:774
msgid "English (US)" msgid "English (US)"
msgstr "الإنجليزية (الولايات المتحدة)" msgstr "الإنجليزية (الولايات المتحدة)"
#: paperless/settings.py:756 #: paperless/settings.py:775
msgid "Arabic" msgid "Arabic"
msgstr "العربية" msgstr "العربية"
#: paperless/settings.py:757 #: paperless/settings.py:776
msgid "Afrikaans" msgid "Afrikaans"
msgstr "اللغة الأفريقانية" msgstr "اللغة الأفريقانية"
#: paperless/settings.py:758 #: paperless/settings.py:777
msgid "Belarusian" msgid "Belarusian"
msgstr "البيلاروسية" msgstr "البيلاروسية"
#: paperless/settings.py:759 #: paperless/settings.py:778
msgid "Bulgarian" msgid "Bulgarian"
msgstr "البلغارية" msgstr "البلغارية"
#: paperless/settings.py:760 #: paperless/settings.py:779
msgid "Catalan" msgid "Catalan"
msgstr "اللغة الكتالونية" msgstr "اللغة الكتالونية"
#: paperless/settings.py:761 #: paperless/settings.py:780
msgid "Czech" msgid "Czech"
msgstr "التشيكية" msgstr "التشيكية"
#: paperless/settings.py:762 #: paperless/settings.py:781
msgid "Danish" msgid "Danish"
msgstr "الدانماركية" msgstr "الدانماركية"
#: paperless/settings.py:763 #: paperless/settings.py:782
msgid "German" msgid "German"
msgstr "الألمانية" msgstr "الألمانية"
#: paperless/settings.py:764 #: paperless/settings.py:783
msgid "Greek" msgid "Greek"
msgstr "اليونانية" msgstr "اليونانية"
#: paperless/settings.py:765 #: paperless/settings.py:784
msgid "English (GB)" msgid "English (GB)"
msgstr "الإنجليزية (المملكة المتحدة)" msgstr "الإنجليزية (المملكة المتحدة)"
#: paperless/settings.py:766 #: paperless/settings.py:785
msgid "Spanish" msgid "Spanish"
msgstr "الإسبانية" msgstr "الإسبانية"
#: paperless/settings.py:767 #: paperless/settings.py:786
msgid "Persian" msgid "Persian"
msgstr "" msgstr ""
#: paperless/settings.py:768 #: paperless/settings.py:787
msgid "Finnish" msgid "Finnish"
msgstr "الفنلندية" msgstr "الفنلندية"
#: paperless/settings.py:769 #: paperless/settings.py:788
msgid "French" msgid "French"
msgstr "الفرنسية" msgstr "الفرنسية"
#: paperless/settings.py:770 #: paperless/settings.py:789
msgid "Hungarian" msgid "Hungarian"
msgstr "المجرية" msgstr "المجرية"
#: paperless/settings.py:771 #: paperless/settings.py:790
msgid "Italian" msgid "Italian"
msgstr "الإيطالية" msgstr "الإيطالية"
#: paperless/settings.py:772 #: paperless/settings.py:791
msgid "Japanese" msgid "Japanese"
msgstr "اليابانية" msgstr "اليابانية"
#: paperless/settings.py:773 #: paperless/settings.py:792
msgid "Korean" msgid "Korean"
msgstr "" msgstr ""
#: paperless/settings.py:774 #: paperless/settings.py:793
msgid "Luxembourgish" msgid "Luxembourgish"
msgstr "اللوكسمبرجية" msgstr "اللوكسمبرجية"
#: paperless/settings.py:775 #: paperless/settings.py:794
msgid "Norwegian" msgid "Norwegian"
msgstr "النرويجية" msgstr "النرويجية"
#: paperless/settings.py:776 #: paperless/settings.py:795
msgid "Dutch" msgid "Dutch"
msgstr "الهولندية" msgstr "الهولندية"
#: paperless/settings.py:777 #: paperless/settings.py:796
msgid "Polish" msgid "Polish"
msgstr "البولندية" msgstr "البولندية"
#: paperless/settings.py:778 #: paperless/settings.py:797
msgid "Portuguese (Brazil)" msgid "Portuguese (Brazil)"
msgstr "البرتغالية (البرازيل)" msgstr "البرتغالية (البرازيل)"
#: paperless/settings.py:779 #: paperless/settings.py:798
msgid "Portuguese" msgid "Portuguese"
msgstr "البرتغالية" msgstr "البرتغالية"
#: paperless/settings.py:780 #: paperless/settings.py:799
msgid "Romanian" msgid "Romanian"
msgstr "الرومانية" msgstr "الرومانية"
#: paperless/settings.py:781 #: paperless/settings.py:800
msgid "Russian" msgid "Russian"
msgstr "الروسية" msgstr "الروسية"
#: paperless/settings.py:782 #: paperless/settings.py:801
msgid "Slovak" msgid "Slovak"
msgstr "السلوفاكية" msgstr "السلوفاكية"
#: paperless/settings.py:783 #: paperless/settings.py:802
msgid "Slovenian" msgid "Slovenian"
msgstr "السلوفانية" msgstr "السلوفانية"
#: paperless/settings.py:784 #: paperless/settings.py:803
msgid "Serbian" msgid "Serbian"
msgstr "الصربية" msgstr "الصربية"
#: paperless/settings.py:785 #: paperless/settings.py:804
msgid "Swedish" msgid "Swedish"
msgstr "السويدية" msgstr "السويدية"
#: paperless/settings.py:786 #: paperless/settings.py:805
msgid "Turkish" msgid "Turkish"
msgstr "التركية" msgstr "التركية"
#: paperless/settings.py:787 #: paperless/settings.py:806
msgid "Ukrainian" msgid "Ukrainian"
msgstr "الأوكرانية" msgstr "الأوكرانية"
#: paperless/settings.py:788 #: paperless/settings.py:807
msgid "Vietnamese"
msgstr ""
#: paperless/settings.py:808
msgid "Chinese Simplified" msgid "Chinese Simplified"
msgstr "الصينية المبسطة" msgstr "الصينية المبسطة"
#: paperless/settings.py:789 #: paperless/settings.py:809
msgid "Chinese Traditional" msgid "Chinese Traditional"
msgstr "" msgstr ""
#: paperless/urls.py:374 #: paperless/urls.py:368
msgid "Paperless-ngx administration" msgid "Paperless-ngx administration"
msgstr "Paperless-ngx الإدارة" msgstr "Paperless-ngx الإدارة"

View File

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-19 18:51+0000\n" "POT-Creation-Date: 2025-08-16 14:34+0000\n"
"PO-Revision-Date: 2025-06-19 18:52\n" "PO-Revision-Date: 2025-08-16 14:36\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Belarusian\n" "Language-Team: Belarusian\n"
"Language: be_BY\n" "Language: be_BY\n"
@ -1164,21 +1164,21 @@ msgstr ""
msgid "workflow runs" msgid "workflow runs"
msgstr "" msgstr ""
#: documents/serialisers.py:135 #: documents/serialisers.py:139
#, python-format #, python-format
msgid "Invalid regular expression: %(error)s" msgid "Invalid regular expression: %(error)s"
msgstr "Няправільны рэгулярны выраз: %(error)s" msgstr "Няправільны рэгулярны выраз: %(error)s"
#: documents/serialisers.py:561 #: documents/serialisers.py:565
msgid "Invalid color." msgid "Invalid color."
msgstr "Няправільны колер." msgstr "Няправільны колер."
#: documents/serialisers.py:1645 #: documents/serialisers.py:1700
#, python-format #, python-format
msgid "File type %(type)s not supported" msgid "File type %(type)s not supported"
msgstr "Тып файла %(type)s не падтрымліваецца" msgstr "Тып файла %(type)s не падтрымліваецца"
#: documents/serialisers.py:1739 #: documents/serialisers.py:1794
msgid "Invalid variable detected." msgid "Invalid variable detected."
msgstr "Выяўлена няправільная зменная." msgstr "Выяўлена няправільная зменная."
@ -1618,147 +1618,151 @@ msgstr ""
msgid "paperless application settings" msgid "paperless application settings"
msgstr "" msgstr ""
#: paperless/settings.py:755 #: paperless/settings.py:774
msgid "English (US)" msgid "English (US)"
msgstr "Англійская (ЗША)" msgstr "Англійская (ЗША)"
#: paperless/settings.py:756 #: paperless/settings.py:775
msgid "Arabic" msgid "Arabic"
msgstr "" msgstr ""
#: paperless/settings.py:757 #: paperless/settings.py:776
msgid "Afrikaans" msgid "Afrikaans"
msgstr "" msgstr ""
#: paperless/settings.py:758 #: paperless/settings.py:777
msgid "Belarusian" msgid "Belarusian"
msgstr "Беларуская" msgstr "Беларуская"
#: paperless/settings.py:759 #: paperless/settings.py:778
msgid "Bulgarian" msgid "Bulgarian"
msgstr "" msgstr ""
#: paperless/settings.py:760 #: paperless/settings.py:779
msgid "Catalan" msgid "Catalan"
msgstr "" msgstr ""
#: paperless/settings.py:761 #: paperless/settings.py:780
msgid "Czech" msgid "Czech"
msgstr "Чэшская" msgstr "Чэшская"
#: paperless/settings.py:762 #: paperless/settings.py:781
msgid "Danish" msgid "Danish"
msgstr "Дацкая" msgstr "Дацкая"
#: paperless/settings.py:763 #: paperless/settings.py:782
msgid "German" msgid "German"
msgstr "Нямецкая" msgstr "Нямецкая"
#: paperless/settings.py:764 #: paperless/settings.py:783
msgid "Greek" msgid "Greek"
msgstr "" msgstr ""
#: paperless/settings.py:765 #: paperless/settings.py:784
msgid "English (GB)" msgid "English (GB)"
msgstr "Англійская (Вялікабрытанія)" msgstr "Англійская (Вялікабрытанія)"
#: paperless/settings.py:766 #: paperless/settings.py:785
msgid "Spanish" msgid "Spanish"
msgstr "Іспанская" msgstr "Іспанская"
#: paperless/settings.py:767 #: paperless/settings.py:786
msgid "Persian" msgid "Persian"
msgstr "" msgstr ""
#: paperless/settings.py:768 #: paperless/settings.py:787
msgid "Finnish" msgid "Finnish"
msgstr "" msgstr ""
#: paperless/settings.py:769 #: paperless/settings.py:788
msgid "French" msgid "French"
msgstr "Французская" msgstr "Французская"
#: paperless/settings.py:770 #: paperless/settings.py:789
msgid "Hungarian" msgid "Hungarian"
msgstr "" msgstr ""
#: paperless/settings.py:771 #: paperless/settings.py:790
msgid "Italian" msgid "Italian"
msgstr "Італьянская" msgstr "Італьянская"
#: paperless/settings.py:772 #: paperless/settings.py:791
msgid "Japanese" msgid "Japanese"
msgstr "" msgstr ""
#: paperless/settings.py:773 #: paperless/settings.py:792
msgid "Korean" msgid "Korean"
msgstr "" msgstr ""
#: paperless/settings.py:774 #: paperless/settings.py:793
msgid "Luxembourgish" msgid "Luxembourgish"
msgstr "Люксембургская" msgstr "Люксембургская"
#: paperless/settings.py:775 #: paperless/settings.py:794
msgid "Norwegian" msgid "Norwegian"
msgstr "" msgstr ""
#: paperless/settings.py:776 #: paperless/settings.py:795
msgid "Dutch" msgid "Dutch"
msgstr "Нідэрландская" msgstr "Нідэрландская"
#: paperless/settings.py:777 #: paperless/settings.py:796
msgid "Polish" msgid "Polish"
msgstr "Польская" msgstr "Польская"
#: paperless/settings.py:778 #: paperless/settings.py:797
msgid "Portuguese (Brazil)" msgid "Portuguese (Brazil)"
msgstr "Партугальская (Бразілія)" msgstr "Партугальская (Бразілія)"
#: paperless/settings.py:779 #: paperless/settings.py:798
msgid "Portuguese" msgid "Portuguese"
msgstr "Партугальская" msgstr "Партугальская"
#: paperless/settings.py:780 #: paperless/settings.py:799
msgid "Romanian" msgid "Romanian"
msgstr "Румынская" msgstr "Румынская"
#: paperless/settings.py:781 #: paperless/settings.py:800
msgid "Russian" msgid "Russian"
msgstr "Руская" msgstr "Руская"
#: paperless/settings.py:782 #: paperless/settings.py:801
msgid "Slovak" msgid "Slovak"
msgstr "" msgstr ""
#: paperless/settings.py:783 #: paperless/settings.py:802
msgid "Slovenian" msgid "Slovenian"
msgstr "Славенская" msgstr "Славенская"
#: paperless/settings.py:784 #: paperless/settings.py:803
msgid "Serbian" msgid "Serbian"
msgstr "Сербская" msgstr "Сербская"
#: paperless/settings.py:785 #: paperless/settings.py:804
msgid "Swedish" msgid "Swedish"
msgstr "Шведская" msgstr "Шведская"
#: paperless/settings.py:786 #: paperless/settings.py:805
msgid "Turkish" msgid "Turkish"
msgstr "Турэцкая" msgstr "Турэцкая"
#: paperless/settings.py:787 #: paperless/settings.py:806
msgid "Ukrainian" msgid "Ukrainian"
msgstr "" msgstr ""
#: paperless/settings.py:788 #: paperless/settings.py:807
msgid "Vietnamese"
msgstr ""
#: paperless/settings.py:808
msgid "Chinese Simplified" msgid "Chinese Simplified"
msgstr "Кітайская спрошчаная" msgstr "Кітайская спрошчаная"
#: paperless/settings.py:789 #: paperless/settings.py:809
msgid "Chinese Traditional" msgid "Chinese Traditional"
msgstr "" msgstr ""
#: paperless/urls.py:374 #: paperless/urls.py:368
msgid "Paperless-ngx administration" msgid "Paperless-ngx administration"
msgstr "Адміністраванне Paperless-ngx" msgstr "Адміністраванне Paperless-ngx"

View File

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-19 18:51+0000\n" "POT-Creation-Date: 2025-08-16 14:34+0000\n"
"PO-Revision-Date: 2025-06-19 18:52\n" "PO-Revision-Date: 2025-08-16 14:36\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Bulgarian\n" "Language-Team: Bulgarian\n"
"Language: bg_BG\n" "Language: bg_BG\n"
@ -1164,21 +1164,21 @@ msgstr "стартиране на работния процес"
msgid "workflow runs" msgid "workflow runs"
msgstr "стартиране на работните процеси" msgstr "стартиране на работните процеси"
#: documents/serialisers.py:135 #: documents/serialisers.py:139
#, python-format #, python-format
msgid "Invalid regular expression: %(error)s" msgid "Invalid regular expression: %(error)s"
msgstr "Невалиден регулярен израз: %(error)s" msgstr "Невалиден регулярен израз: %(error)s"
#: documents/serialisers.py:561 #: documents/serialisers.py:565
msgid "Invalid color." msgid "Invalid color."
msgstr "Невалиден цвят." msgstr "Невалиден цвят."
#: documents/serialisers.py:1645 #: documents/serialisers.py:1700
#, python-format #, python-format
msgid "File type %(type)s not supported" msgid "File type %(type)s not supported"
msgstr "Файловия тип %(type)s не се поддържа" msgstr "Файловия тип %(type)s не се поддържа"
#: documents/serialisers.py:1739 #: documents/serialisers.py:1794
msgid "Invalid variable detected." msgid "Invalid variable detected."
msgstr "Засечена е невалидна променлива." msgstr "Засечена е невалидна променлива."
@ -1619,147 +1619,151 @@ msgstr ""
msgid "paperless application settings" msgid "paperless application settings"
msgstr "настройки на софтуера" msgstr "настройки на софтуера"
#: paperless/settings.py:755 #: paperless/settings.py:774
msgid "English (US)" msgid "English (US)"
msgstr "Английски (САЩ)" msgstr "Английски (САЩ)"
#: paperless/settings.py:756 #: paperless/settings.py:775
msgid "Arabic" msgid "Arabic"
msgstr "Арабски" msgstr "Арабски"
#: paperless/settings.py:757 #: paperless/settings.py:776
msgid "Afrikaans" msgid "Afrikaans"
msgstr "Африканс" msgstr "Африканс"
#: paperless/settings.py:758 #: paperless/settings.py:777
msgid "Belarusian" msgid "Belarusian"
msgstr "Беларуски" msgstr "Беларуски"
#: paperless/settings.py:759 #: paperless/settings.py:778
msgid "Bulgarian" msgid "Bulgarian"
msgstr "Български" msgstr "Български"
#: paperless/settings.py:760 #: paperless/settings.py:779
msgid "Catalan" msgid "Catalan"
msgstr "Каталунски" msgstr "Каталунски"
#: paperless/settings.py:761 #: paperless/settings.py:780
msgid "Czech" msgid "Czech"
msgstr "Чешки" msgstr "Чешки"
#: paperless/settings.py:762 #: paperless/settings.py:781
msgid "Danish" msgid "Danish"
msgstr "Датски" msgstr "Датски"
#: paperless/settings.py:763 #: paperless/settings.py:782
msgid "German" msgid "German"
msgstr "Немски" msgstr "Немски"
#: paperless/settings.py:764 #: paperless/settings.py:783
msgid "Greek" msgid "Greek"
msgstr "Гръцки" msgstr "Гръцки"
#: paperless/settings.py:765 #: paperless/settings.py:784
msgid "English (GB)" msgid "English (GB)"
msgstr "Английски (Великобритания)" msgstr "Английски (Великобритания)"
#: paperless/settings.py:766 #: paperless/settings.py:785
msgid "Spanish" msgid "Spanish"
msgstr "Испански" msgstr "Испански"
#: paperless/settings.py:767 #: paperless/settings.py:786
msgid "Persian" msgid "Persian"
msgstr "" msgstr ""
#: paperless/settings.py:768 #: paperless/settings.py:787
msgid "Finnish" msgid "Finnish"
msgstr "Финландски" msgstr "Финландски"
#: paperless/settings.py:769 #: paperless/settings.py:788
msgid "French" msgid "French"
msgstr "Френски" msgstr "Френски"
#: paperless/settings.py:770 #: paperless/settings.py:789
msgid "Hungarian" msgid "Hungarian"
msgstr "Унгарски" msgstr "Унгарски"
#: paperless/settings.py:771 #: paperless/settings.py:790
msgid "Italian" msgid "Italian"
msgstr "Италиански" msgstr "Италиански"
#: paperless/settings.py:772 #: paperless/settings.py:791
msgid "Japanese" msgid "Japanese"
msgstr "Японски" msgstr "Японски"
#: paperless/settings.py:773 #: paperless/settings.py:792
msgid "Korean" msgid "Korean"
msgstr "Корейски" msgstr "Корейски"
#: paperless/settings.py:774 #: paperless/settings.py:793
msgid "Luxembourgish" msgid "Luxembourgish"
msgstr "Люксембургски" msgstr "Люксембургски"
#: paperless/settings.py:775 #: paperless/settings.py:794
msgid "Norwegian" msgid "Norwegian"
msgstr "Норвежки" msgstr "Норвежки"
#: paperless/settings.py:776 #: paperless/settings.py:795
msgid "Dutch" msgid "Dutch"
msgstr "Холандски" msgstr "Холандски"
#: paperless/settings.py:777 #: paperless/settings.py:796
msgid "Polish" msgid "Polish"
msgstr "Полски" msgstr "Полски"
#: paperless/settings.py:778 #: paperless/settings.py:797
msgid "Portuguese (Brazil)" msgid "Portuguese (Brazil)"
msgstr "Португалски (Бразилия)" msgstr "Португалски (Бразилия)"
#: paperless/settings.py:779 #: paperless/settings.py:798
msgid "Portuguese" msgid "Portuguese"
msgstr "Португалски" msgstr "Португалски"
#: paperless/settings.py:780 #: paperless/settings.py:799
msgid "Romanian" msgid "Romanian"
msgstr "Румънски" msgstr "Румънски"
#: paperless/settings.py:781 #: paperless/settings.py:800
msgid "Russian" msgid "Russian"
msgstr "Руски" msgstr "Руски"
#: paperless/settings.py:782 #: paperless/settings.py:801
msgid "Slovak" msgid "Slovak"
msgstr "Словашки" msgstr "Словашки"
#: paperless/settings.py:783 #: paperless/settings.py:802
msgid "Slovenian" msgid "Slovenian"
msgstr "Словенски" msgstr "Словенски"
#: paperless/settings.py:784 #: paperless/settings.py:803
msgid "Serbian" msgid "Serbian"
msgstr "Сръбски" msgstr "Сръбски"
#: paperless/settings.py:785 #: paperless/settings.py:804
msgid "Swedish" msgid "Swedish"
msgstr "Шведски" msgstr "Шведски"
#: paperless/settings.py:786 #: paperless/settings.py:805
msgid "Turkish" msgid "Turkish"
msgstr "Турски" msgstr "Турски"
#: paperless/settings.py:787 #: paperless/settings.py:806
msgid "Ukrainian" msgid "Ukrainian"
msgstr "Украински" msgstr "Украински"
#: paperless/settings.py:788 #: paperless/settings.py:807
msgid "Vietnamese"
msgstr ""
#: paperless/settings.py:808
msgid "Chinese Simplified" msgid "Chinese Simplified"
msgstr "Китайски опростен" msgstr "Китайски опростен"
#: paperless/settings.py:789 #: paperless/settings.py:809
msgid "Chinese Traditional" msgid "Chinese Traditional"
msgstr "Китайски традиционен" msgstr "Китайски традиционен"
#: paperless/urls.py:374 #: paperless/urls.py:368
msgid "Paperless-ngx administration" msgid "Paperless-ngx administration"
msgstr "Paperless-ngx администрация" msgstr "Paperless-ngx администрация"

View File

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-19 18:51+0000\n" "POT-Creation-Date: 2025-08-16 14:34+0000\n"
"PO-Revision-Date: 2025-06-19 18:52\n" "PO-Revision-Date: 2025-08-16 14:36\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Catalan\n" "Language-Team: Catalan\n"
"Language: ca_ES\n" "Language: ca_ES\n"
@ -31,7 +31,7 @@ msgstr "Expressió de camp de consulta invàlid"
#: documents/filters.py:413 #: documents/filters.py:413
msgid "Invalid expression list. Must be nonempty." msgid "Invalid expression list. Must be nonempty."
msgstr "Expressió de lista invàlida. No ha d'estar buida." msgstr "Expressió de llista invàlida. No ha d'estar buida."
#: documents/filters.py:434 #: documents/filters.py:434
msgid "Invalid logical operator {op!r}" msgid "Invalid logical operator {op!r}"
@ -43,7 +43,7 @@ msgstr "Condicions de consulta excedits."
#: documents/filters.py:513 #: documents/filters.py:513
msgid "{name!r} is not a valid custom field." msgid "{name!r} is not a valid custom field."
msgstr "{name!r} no és un camp personaoitzat vàlid." msgstr "{name!r} no és un camp personalitzat vàlid."
#: documents/filters.py:550 #: documents/filters.py:550
msgid "{data_type} does not support query expr {expr!r}." msgid "{data_type} does not support query expr {expr!r}."
@ -71,7 +71,7 @@ msgstr "Qualsevol paraula"
#: documents/models.py:55 documents/models.py:926 #: documents/models.py:55 documents/models.py:926
msgid "All words" msgid "All words"
msgstr "Totes paraules" msgstr "Totes les paraules"
#: documents/models.py:56 documents/models.py:927 #: documents/models.py:56 documents/models.py:927
msgid "Exact match" msgid "Exact match"
@ -266,11 +266,11 @@ msgstr "Taula"
#: documents/models.py:383 #: documents/models.py:383
msgid "Small Cards" msgid "Small Cards"
msgstr "Tarja Petita" msgstr "Targeta Petita"
#: documents/models.py:384 #: documents/models.py:384
msgid "Large Cards" msgid "Large Cards"
msgstr "Tarja Gran" msgstr "Targeta Gran"
#: documents/models.py:387 #: documents/models.py:387
msgid "Title" msgid "Title"
@ -1164,21 +1164,21 @@ msgstr "data del flux"
msgid "workflow runs" msgid "workflow runs"
msgstr "flux corrents" msgstr "flux corrents"
#: documents/serialisers.py:135 #: documents/serialisers.py:139
#, python-format #, python-format
msgid "Invalid regular expression: %(error)s" msgid "Invalid regular expression: %(error)s"
msgstr "Expressió regular invàlida: %(error)s" msgstr "Expressió regular invàlida: %(error)s"
#: documents/serialisers.py:561 #: documents/serialisers.py:565
msgid "Invalid color." msgid "Invalid color."
msgstr "Color Invàlid." msgstr "Color Invàlid."
#: documents/serialisers.py:1645 #: documents/serialisers.py:1700
#, python-format #, python-format
msgid "File type %(type)s not supported" msgid "File type %(type)s not supported"
msgstr "Tipus arxiu %(type)s no suportat" msgstr "Tipus arxiu %(type)s no suportat"
#: documents/serialisers.py:1739 #: documents/serialisers.py:1794
msgid "Invalid variable detected." msgid "Invalid variable detected."
msgstr "Variable detectada invàlida." msgstr "Variable detectada invàlida."
@ -1619,147 +1619,151 @@ msgstr "Defineix el mapatge de l'etiqueta del codi de barres"
msgid "paperless application settings" msgid "paperless application settings"
msgstr "configuració de l'aplicació paperless" msgstr "configuració de l'aplicació paperless"
#: paperless/settings.py:755 #: paperless/settings.py:774
msgid "English (US)" msgid "English (US)"
msgstr "Anglès (US)" msgstr "Anglès (US)"
#: paperless/settings.py:756 #: paperless/settings.py:775
msgid "Arabic" msgid "Arabic"
msgstr "Àrab" msgstr "Àrab"
#: paperless/settings.py:757 #: paperless/settings.py:776
msgid "Afrikaans" msgid "Afrikaans"
msgstr "Africà" msgstr "Africà"
#: paperless/settings.py:758 #: paperless/settings.py:777
msgid "Belarusian" msgid "Belarusian"
msgstr "Bielorús" msgstr "Bielorús"
#: paperless/settings.py:759 #: paperless/settings.py:778
msgid "Bulgarian" msgid "Bulgarian"
msgstr "Búlgar" msgstr "Búlgar"
#: paperless/settings.py:760 #: paperless/settings.py:779
msgid "Catalan" msgid "Catalan"
msgstr "Català" msgstr "Català"
#: paperless/settings.py:761 #: paperless/settings.py:780
msgid "Czech" msgid "Czech"
msgstr "Txec" msgstr "Txec"
#: paperless/settings.py:762 #: paperless/settings.py:781
msgid "Danish" msgid "Danish"
msgstr "Danès" msgstr "Danès"
#: paperless/settings.py:763 #: paperless/settings.py:782
msgid "German" msgid "German"
msgstr "Alemany" msgstr "Alemany"
#: paperless/settings.py:764 #: paperless/settings.py:783
msgid "Greek" msgid "Greek"
msgstr "Grec" msgstr "Grec"
#: paperless/settings.py:765 #: paperless/settings.py:784
msgid "English (GB)" msgid "English (GB)"
msgstr "Anglès (GB)" msgstr "Anglès (GB)"
#: paperless/settings.py:766 #: paperless/settings.py:785
msgid "Spanish" msgid "Spanish"
msgstr "Espanyol" msgstr "Espanyol"
#: paperless/settings.py:767 #: paperless/settings.py:786
msgid "Persian" msgid "Persian"
msgstr "Persa" msgstr "Persa"
#: paperless/settings.py:768 #: paperless/settings.py:787
msgid "Finnish" msgid "Finnish"
msgstr "Finès" msgstr "Finès"
#: paperless/settings.py:769 #: paperless/settings.py:788
msgid "French" msgid "French"
msgstr "Francès" msgstr "Francès"
#: paperless/settings.py:770 #: paperless/settings.py:789
msgid "Hungarian" msgid "Hungarian"
msgstr "Hongarès" msgstr "Hongarès"
#: paperless/settings.py:771 #: paperless/settings.py:790
msgid "Italian" msgid "Italian"
msgstr "Italià" msgstr "Italià"
#: paperless/settings.py:772 #: paperless/settings.py:791
msgid "Japanese" msgid "Japanese"
msgstr "Japonès" msgstr "Japonès"
#: paperless/settings.py:773 #: paperless/settings.py:792
msgid "Korean" msgid "Korean"
msgstr "Coreà" msgstr "Coreà"
#: paperless/settings.py:774 #: paperless/settings.py:793
msgid "Luxembourgish" msgid "Luxembourgish"
msgstr "Luxemburguès" msgstr "Luxemburguès"
#: paperless/settings.py:775 #: paperless/settings.py:794
msgid "Norwegian" msgid "Norwegian"
msgstr "Noruec" msgstr "Noruec"
#: paperless/settings.py:776 #: paperless/settings.py:795
msgid "Dutch" msgid "Dutch"
msgstr "Holandès" msgstr "Holandès"
#: paperless/settings.py:777 #: paperless/settings.py:796
msgid "Polish" msgid "Polish"
msgstr "Polonès" msgstr "Polonès"
#: paperless/settings.py:778 #: paperless/settings.py:797
msgid "Portuguese (Brazil)" msgid "Portuguese (Brazil)"
msgstr "Portuguès (Brasil)" msgstr "Portuguès (Brasil)"
#: paperless/settings.py:779 #: paperless/settings.py:798
msgid "Portuguese" msgid "Portuguese"
msgstr "Portuguès" msgstr "Portuguès"
#: paperless/settings.py:780 #: paperless/settings.py:799
msgid "Romanian" msgid "Romanian"
msgstr "Romanès" msgstr "Romanès"
#: paperless/settings.py:781 #: paperless/settings.py:800
msgid "Russian" msgid "Russian"
msgstr "Rus" msgstr "Rus"
#: paperless/settings.py:782 #: paperless/settings.py:801
msgid "Slovak" msgid "Slovak"
msgstr "Eslovac" msgstr "Eslovac"
#: paperless/settings.py:783 #: paperless/settings.py:802
msgid "Slovenian" msgid "Slovenian"
msgstr "Eslovè" msgstr "Eslovè"
#: paperless/settings.py:784 #: paperless/settings.py:803
msgid "Serbian" msgid "Serbian"
msgstr "Serbi" msgstr "Serbi"
#: paperless/settings.py:785 #: paperless/settings.py:804
msgid "Swedish" msgid "Swedish"
msgstr "Suec" msgstr "Suec"
#: paperless/settings.py:786 #: paperless/settings.py:805
msgid "Turkish" msgid "Turkish"
msgstr "Turc" msgstr "Turc"
#: paperless/settings.py:787 #: paperless/settings.py:806
msgid "Ukrainian" msgid "Ukrainian"
msgstr "Ucranià" msgstr "Ucranià"
#: paperless/settings.py:788 #: paperless/settings.py:807
msgid "Vietnamese"
msgstr "Vietnamita"
#: paperless/settings.py:808
msgid "Chinese Simplified" msgid "Chinese Simplified"
msgstr "Xinès Simplificat" msgstr "Xinès Simplificat"
#: paperless/settings.py:789 #: paperless/settings.py:809
msgid "Chinese Traditional" msgid "Chinese Traditional"
msgstr "Xinès tradicional" msgstr "Xinès tradicional"
#: paperless/urls.py:374 #: paperless/urls.py:368
msgid "Paperless-ngx administration" msgid "Paperless-ngx administration"
msgstr "Administració Paperless-ngx" msgstr "Administració Paperless-ngx"

View File

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-19 18:51+0000\n" "POT-Creation-Date: 2025-08-16 14:34+0000\n"
"PO-Revision-Date: 2025-06-19 18:52\n" "PO-Revision-Date: 2025-08-16 14:36\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Czech\n" "Language-Team: Czech\n"
"Language: cs_CZ\n" "Language: cs_CZ\n"
@ -1164,21 +1164,21 @@ msgstr "spuštění pracovního postupu"
msgid "workflow runs" msgid "workflow runs"
msgstr "spuštění pracovních postupů" msgstr "spuštění pracovních postupů"
#: documents/serialisers.py:135 #: documents/serialisers.py:139
#, python-format #, python-format
msgid "Invalid regular expression: %(error)s" msgid "Invalid regular expression: %(error)s"
msgstr "Neplatný regulární výraz: %(error)s" msgstr "Neplatný regulární výraz: %(error)s"
#: documents/serialisers.py:561 #: documents/serialisers.py:565
msgid "Invalid color." msgid "Invalid color."
msgstr "Neplatná barva." msgstr "Neplatná barva."
#: documents/serialisers.py:1645 #: documents/serialisers.py:1700
#, python-format #, python-format
msgid "File type %(type)s not supported" msgid "File type %(type)s not supported"
msgstr "Typ souboru %(type)s není podporován" msgstr "Typ souboru %(type)s není podporován"
#: documents/serialisers.py:1739 #: documents/serialisers.py:1794
msgid "Invalid variable detected." msgid "Invalid variable detected."
msgstr "Zjištěna neplatná proměnná." msgstr "Zjištěna neplatná proměnná."
@ -1411,21 +1411,21 @@ msgstr "Jako poslední krok vyplňte následující formulář:"
#: documents/validators.py:24 #: documents/validators.py:24
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}, missing scheme" msgid "Unable to parse URI {value}, missing scheme"
msgstr "Nelze analyzovat URI {value}, chybí schéma" msgstr ""
#: documents/validators.py:29 #: documents/validators.py:29
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path" msgid "Unable to parse URI {value}, missing net location or path"
msgstr "Nelze analyzovat URI {value}, chybí síťové umístění nebo cesta" msgstr ""
#: documents/validators.py:36 #: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}" msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "URI schéma '{parts.scheme}' není povoleno. Povolená schémata: {', '.join(allowed_schemes)}" msgstr ""
#: documents/validators.py:45 #: documents/validators.py:45
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}" msgid "Unable to parse URI {value}"
msgstr "Nelze analyzovat URI {value}" msgstr ""
#: paperless/apps.py:11 #: paperless/apps.py:11
msgid "Paperless" msgid "Paperless"
@ -1619,147 +1619,151 @@ msgstr "Nastaví mapování čárových kódů na štítky"
msgid "paperless application settings" msgid "paperless application settings"
msgstr "nastavení aplikace paperless" msgstr "nastavení aplikace paperless"
#: paperless/settings.py:755 #: paperless/settings.py:774
msgid "English (US)" msgid "English (US)"
msgstr "Angličtina (US)" msgstr "Angličtina (US)"
#: paperless/settings.py:756 #: paperless/settings.py:775
msgid "Arabic" msgid "Arabic"
msgstr "Arabština" msgstr "Arabština"
#: paperless/settings.py:757 #: paperless/settings.py:776
msgid "Afrikaans" msgid "Afrikaans"
msgstr "Afrikánština" msgstr "Afrikánština"
#: paperless/settings.py:758 #: paperless/settings.py:777
msgid "Belarusian" msgid "Belarusian"
msgstr "Běloruština" msgstr "Běloruština"
#: paperless/settings.py:759 #: paperless/settings.py:778
msgid "Bulgarian" msgid "Bulgarian"
msgstr "Bulharština" msgstr "Bulharština"
#: paperless/settings.py:760 #: paperless/settings.py:779
msgid "Catalan" msgid "Catalan"
msgstr "Katalánština" msgstr "Katalánština"
#: paperless/settings.py:761 #: paperless/settings.py:780
msgid "Czech" msgid "Czech"
msgstr "Čeština" msgstr "Čeština"
#: paperless/settings.py:762 #: paperless/settings.py:781
msgid "Danish" msgid "Danish"
msgstr "Dánština" msgstr "Dánština"
#: paperless/settings.py:763 #: paperless/settings.py:782
msgid "German" msgid "German"
msgstr "Němčina" msgstr "Němčina"
#: paperless/settings.py:764 #: paperless/settings.py:783
msgid "Greek" msgid "Greek"
msgstr "Řečtina" msgstr "Řečtina"
#: paperless/settings.py:765 #: paperless/settings.py:784
msgid "English (GB)" msgid "English (GB)"
msgstr "Angličtina (GB)" msgstr "Angličtina (GB)"
#: paperless/settings.py:766 #: paperless/settings.py:785
msgid "Spanish" msgid "Spanish"
msgstr "Španělština" msgstr "Španělština"
#: paperless/settings.py:767 #: paperless/settings.py:786
msgid "Persian" msgid "Persian"
msgstr "Perština" msgstr "Perština"
#: paperless/settings.py:768 #: paperless/settings.py:787
msgid "Finnish" msgid "Finnish"
msgstr "Finština" msgstr "Finština"
#: paperless/settings.py:769 #: paperless/settings.py:788
msgid "French" msgid "French"
msgstr "Francouzština" msgstr "Francouzština"
#: paperless/settings.py:770 #: paperless/settings.py:789
msgid "Hungarian" msgid "Hungarian"
msgstr "Maďarština" msgstr "Maďarština"
#: paperless/settings.py:771 #: paperless/settings.py:790
msgid "Italian" msgid "Italian"
msgstr "Italština" msgstr "Italština"
#: paperless/settings.py:772 #: paperless/settings.py:791
msgid "Japanese" msgid "Japanese"
msgstr "Japonština" msgstr "Japonština"
#: paperless/settings.py:773 #: paperless/settings.py:792
msgid "Korean" msgid "Korean"
msgstr "Korejština" msgstr "Korejština"
#: paperless/settings.py:774 #: paperless/settings.py:793
msgid "Luxembourgish" msgid "Luxembourgish"
msgstr "Lucemburština" msgstr "Lucemburština"
#: paperless/settings.py:775 #: paperless/settings.py:794
msgid "Norwegian" msgid "Norwegian"
msgstr "Norština" msgstr "Norština"
#: paperless/settings.py:776 #: paperless/settings.py:795
msgid "Dutch" msgid "Dutch"
msgstr "Holandština" msgstr "Holandština"
#: paperless/settings.py:777 #: paperless/settings.py:796
msgid "Polish" msgid "Polish"
msgstr "Polština" msgstr "Polština"
#: paperless/settings.py:778 #: paperless/settings.py:797
msgid "Portuguese (Brazil)" msgid "Portuguese (Brazil)"
msgstr "Portugalština (Brazílie)" msgstr "Portugalština (Brazílie)"
#: paperless/settings.py:779 #: paperless/settings.py:798
msgid "Portuguese" msgid "Portuguese"
msgstr "Portugalština" msgstr "Portugalština"
#: paperless/settings.py:780 #: paperless/settings.py:799
msgid "Romanian" msgid "Romanian"
msgstr "Rumunština" msgstr "Rumunština"
#: paperless/settings.py:781 #: paperless/settings.py:800
msgid "Russian" msgid "Russian"
msgstr "Ruština" msgstr "Ruština"
#: paperless/settings.py:782 #: paperless/settings.py:801
msgid "Slovak" msgid "Slovak"
msgstr "Slovenština" msgstr "Slovenština"
#: paperless/settings.py:783 #: paperless/settings.py:802
msgid "Slovenian" msgid "Slovenian"
msgstr "Slovinština" msgstr "Slovinština"
#: paperless/settings.py:784 #: paperless/settings.py:803
msgid "Serbian" msgid "Serbian"
msgstr "Srbština" msgstr "Srbština"
#: paperless/settings.py:785 #: paperless/settings.py:804
msgid "Swedish" msgid "Swedish"
msgstr "Švédština" msgstr "Švédština"
#: paperless/settings.py:786 #: paperless/settings.py:805
msgid "Turkish" msgid "Turkish"
msgstr "Turečtina" msgstr "Turečtina"
#: paperless/settings.py:787 #: paperless/settings.py:806
msgid "Ukrainian" msgid "Ukrainian"
msgstr "Ukrajinština" msgstr "Ukrajinština"
#: paperless/settings.py:788 #: paperless/settings.py:807
msgid "Vietnamese"
msgstr ""
#: paperless/settings.py:808
msgid "Chinese Simplified" msgid "Chinese Simplified"
msgstr "Čínština (zjednodušená)" msgstr "Čínština (zjednodušená)"
#: paperless/settings.py:789 #: paperless/settings.py:809
msgid "Chinese Traditional" msgid "Chinese Traditional"
msgstr "Čínština (tradiční)" msgstr "Čínština (tradiční)"
#: paperless/urls.py:374 #: paperless/urls.py:368
msgid "Paperless-ngx administration" msgid "Paperless-ngx administration"
msgstr "Administrace Paperless-ngx" msgstr "Administrace Paperless-ngx"

View File

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-19 18:51+0000\n" "POT-Creation-Date: 2025-08-16 14:34+0000\n"
"PO-Revision-Date: 2025-06-19 18:52\n" "PO-Revision-Date: 2025-08-16 14:36\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Danish\n" "Language-Team: Danish\n"
"Language: da_DK\n" "Language: da_DK\n"
@ -1164,21 +1164,21 @@ msgstr "workflow-kørsel"
msgid "workflow runs" msgid "workflow runs"
msgstr "workflow-kørsler" msgstr "workflow-kørsler"
#: documents/serialisers.py:135 #: documents/serialisers.py:139
#, python-format #, python-format
msgid "Invalid regular expression: %(error)s" msgid "Invalid regular expression: %(error)s"
msgstr "Ugyldigt regulært udtryk: %(error)s" msgstr "Ugyldigt regulært udtryk: %(error)s"
#: documents/serialisers.py:561 #: documents/serialisers.py:565
msgid "Invalid color." msgid "Invalid color."
msgstr "Ugyldig farve." msgstr "Ugyldig farve."
#: documents/serialisers.py:1645 #: documents/serialisers.py:1700
#, python-format #, python-format
msgid "File type %(type)s not supported" msgid "File type %(type)s not supported"
msgstr "Filtype %(type)s understøttes ikke" msgstr "Filtype %(type)s understøttes ikke"
#: documents/serialisers.py:1739 #: documents/serialisers.py:1794
msgid "Invalid variable detected." msgid "Invalid variable detected."
msgstr "Ugyldig variabel fundet." msgstr "Ugyldig variabel fundet."
@ -1619,147 +1619,151 @@ msgstr ""
msgid "paperless application settings" msgid "paperless application settings"
msgstr "paperless-applikationsindstillinger" msgstr "paperless-applikationsindstillinger"
#: paperless/settings.py:755 #: paperless/settings.py:774
msgid "English (US)" msgid "English (US)"
msgstr "Engelsk (USA)" msgstr "Engelsk (USA)"
#: paperless/settings.py:756 #: paperless/settings.py:775
msgid "Arabic" msgid "Arabic"
msgstr "" msgstr ""
#: paperless/settings.py:757 #: paperless/settings.py:776
msgid "Afrikaans" msgid "Afrikaans"
msgstr "Afrikaans" msgstr "Afrikaans"
#: paperless/settings.py:758 #: paperless/settings.py:777
msgid "Belarusian" msgid "Belarusian"
msgstr "Hviderussisk" msgstr "Hviderussisk"
#: paperless/settings.py:759 #: paperless/settings.py:778
msgid "Bulgarian" msgid "Bulgarian"
msgstr "Bulgarsk" msgstr "Bulgarsk"
#: paperless/settings.py:760 #: paperless/settings.py:779
msgid "Catalan" msgid "Catalan"
msgstr "Katalansk" msgstr "Katalansk"
#: paperless/settings.py:761 #: paperless/settings.py:780
msgid "Czech" msgid "Czech"
msgstr "Tjekkisk" msgstr "Tjekkisk"
#: paperless/settings.py:762 #: paperless/settings.py:781
msgid "Danish" msgid "Danish"
msgstr "Dansk" msgstr "Dansk"
#: paperless/settings.py:763 #: paperless/settings.py:782
msgid "German" msgid "German"
msgstr "Tysk" msgstr "Tysk"
#: paperless/settings.py:764 #: paperless/settings.py:783
msgid "Greek" msgid "Greek"
msgstr "Græsk" msgstr "Græsk"
#: paperless/settings.py:765 #: paperless/settings.py:784
msgid "English (GB)" msgid "English (GB)"
msgstr "Engelsk (GB)" msgstr "Engelsk (GB)"
#: paperless/settings.py:766 #: paperless/settings.py:785
msgid "Spanish" msgid "Spanish"
msgstr "Spansk" msgstr "Spansk"
#: paperless/settings.py:767 #: paperless/settings.py:786
msgid "Persian" msgid "Persian"
msgstr "" msgstr ""
#: paperless/settings.py:768 #: paperless/settings.py:787
msgid "Finnish" msgid "Finnish"
msgstr "Finsk" msgstr "Finsk"
#: paperless/settings.py:769 #: paperless/settings.py:788
msgid "French" msgid "French"
msgstr "Fransk" msgstr "Fransk"
#: paperless/settings.py:770 #: paperless/settings.py:789
msgid "Hungarian" msgid "Hungarian"
msgstr "Ungarsk" msgstr "Ungarsk"
#: paperless/settings.py:771 #: paperless/settings.py:790
msgid "Italian" msgid "Italian"
msgstr "Italiensk" msgstr "Italiensk"
#: paperless/settings.py:772 #: paperless/settings.py:791
msgid "Japanese" msgid "Japanese"
msgstr "Japansk" msgstr "Japansk"
#: paperless/settings.py:773 #: paperless/settings.py:792
msgid "Korean" msgid "Korean"
msgstr "Koreansk" msgstr "Koreansk"
#: paperless/settings.py:774 #: paperless/settings.py:793
msgid "Luxembourgish" msgid "Luxembourgish"
msgstr "Luxemburgsk" msgstr "Luxemburgsk"
#: paperless/settings.py:775 #: paperless/settings.py:794
msgid "Norwegian" msgid "Norwegian"
msgstr "Norsk" msgstr "Norsk"
#: paperless/settings.py:776 #: paperless/settings.py:795
msgid "Dutch" msgid "Dutch"
msgstr "Hollandsk" msgstr "Hollandsk"
#: paperless/settings.py:777 #: paperless/settings.py:796
msgid "Polish" msgid "Polish"
msgstr "Polsk" msgstr "Polsk"
#: paperless/settings.py:778 #: paperless/settings.py:797
msgid "Portuguese (Brazil)" msgid "Portuguese (Brazil)"
msgstr "Portugisisk (Brasilien)" msgstr "Portugisisk (Brasilien)"
#: paperless/settings.py:779 #: paperless/settings.py:798
msgid "Portuguese" msgid "Portuguese"
msgstr "Portugisisk" msgstr "Portugisisk"
#: paperless/settings.py:780 #: paperless/settings.py:799
msgid "Romanian" msgid "Romanian"
msgstr "Romansk" msgstr "Romansk"
#: paperless/settings.py:781 #: paperless/settings.py:800
msgid "Russian" msgid "Russian"
msgstr "Russisk" msgstr "Russisk"
#: paperless/settings.py:782 #: paperless/settings.py:801
msgid "Slovak" msgid "Slovak"
msgstr "Slovakisk" msgstr "Slovakisk"
#: paperless/settings.py:783 #: paperless/settings.py:802
msgid "Slovenian" msgid "Slovenian"
msgstr "Slovensk" msgstr "Slovensk"
#: paperless/settings.py:784 #: paperless/settings.py:803
msgid "Serbian" msgid "Serbian"
msgstr "Serbisk" msgstr "Serbisk"
#: paperless/settings.py:785 #: paperless/settings.py:804
msgid "Swedish" msgid "Swedish"
msgstr "Svensk" msgstr "Svensk"
#: paperless/settings.py:786 #: paperless/settings.py:805
msgid "Turkish" msgid "Turkish"
msgstr "Tyrkisk" msgstr "Tyrkisk"
#: paperless/settings.py:787 #: paperless/settings.py:806
msgid "Ukrainian" msgid "Ukrainian"
msgstr "Ukrainsk" msgstr "Ukrainsk"
#: paperless/settings.py:788 #: paperless/settings.py:807
msgid "Vietnamese"
msgstr ""
#: paperless/settings.py:808
msgid "Chinese Simplified" msgid "Chinese Simplified"
msgstr "Kinesisk, forenklet" msgstr "Kinesisk, forenklet"
#: paperless/settings.py:789 #: paperless/settings.py:809
msgid "Chinese Traditional" msgid "Chinese Traditional"
msgstr "Kinesisk, traditionelt" msgstr "Kinesisk, traditionelt"
#: paperless/urls.py:374 #: paperless/urls.py:368
msgid "Paperless-ngx administration" msgid "Paperless-ngx administration"
msgstr "Paperless-ngx håndtering" msgstr "Paperless-ngx håndtering"

View File

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-19 18:51+0000\n" "POT-Creation-Date: 2025-08-16 14:34+0000\n"
"PO-Revision-Date: 2025-06-19 18:52\n" "PO-Revision-Date: 2025-08-16 14:36\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: German\n" "Language-Team: German\n"
"Language: de_DE\n" "Language: de_DE\n"
@ -1164,21 +1164,21 @@ msgstr "Arbeitsablauf-Ausführung"
msgid "workflow runs" msgid "workflow runs"
msgstr "Arbeitsablauf wird ausgeführt" msgstr "Arbeitsablauf wird ausgeführt"
#: documents/serialisers.py:135 #: documents/serialisers.py:139
#, python-format #, python-format
msgid "Invalid regular expression: %(error)s" msgid "Invalid regular expression: %(error)s"
msgstr "Ungültiger regulärer Ausdruck: %(error)s" msgstr "Ungültiger regulärer Ausdruck: %(error)s"
#: documents/serialisers.py:561 #: documents/serialisers.py:565
msgid "Invalid color." msgid "Invalid color."
msgstr "Ungültige Farbe." msgstr "Ungültige Farbe."
#: documents/serialisers.py:1645 #: documents/serialisers.py:1700
#, python-format #, python-format
msgid "File type %(type)s not supported" msgid "File type %(type)s not supported"
msgstr "Dateityp %(type)s nicht unterstützt" msgstr "Dateityp %(type)s nicht unterstützt"
#: documents/serialisers.py:1739 #: documents/serialisers.py:1794
msgid "Invalid variable detected." msgid "Invalid variable detected."
msgstr "Ungültige Variable erkannt." msgstr "Ungültige Variable erkannt."
@ -1411,21 +1411,21 @@ msgstr "Bitte füllen Sie zum Abschluss folgendes Formular aus:"
#: documents/validators.py:24 #: documents/validators.py:24
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}, missing scheme" msgid "Unable to parse URI {value}, missing scheme"
msgstr "URI {value} kann nicht analysiert werden, fehlendes Schema" msgstr "URI {value} kann nicht gelesen werden, fehlendes Schema"
#: documents/validators.py:29 #: documents/validators.py:29
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path" msgid "Unable to parse URI {value}, missing net location or path"
msgstr "URI {value} kann nicht analysiert werden, Netzstandort oder Pfad fehlt" msgstr "URI {value} kann nicht gelesen werden, Netzadresse oder Pfad fehlt"
#: documents/validators.py:36 #: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}" msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "URI-Schema '{parts.scheme}' ist nicht erlaubt. Erlaubte Schemata: {', '.join(allowed_schemes)}" msgstr "URI-Schema „{parts.scheme}“ ist nicht erlaubt. Erlaubte Schemata: {', '.join(allowed_schemes)}"
#: documents/validators.py:45 #: documents/validators.py:45
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}" msgid "Unable to parse URI {value}"
msgstr "Kann URI {value} nicht analysieren" msgstr "URI {value} kann nicht gelesen werden"
#: paperless/apps.py:11 #: paperless/apps.py:11
msgid "Paperless" msgid "Paperless"
@ -1619,147 +1619,151 @@ msgstr "Legt die Tag-Barcode-Zuweisung fest"
msgid "paperless application settings" msgid "paperless application settings"
msgstr "Paperless-ngx-Anwendungseinstellungen" msgstr "Paperless-ngx-Anwendungseinstellungen"
#: paperless/settings.py:755 #: paperless/settings.py:774
msgid "English (US)" msgid "English (US)"
msgstr "Englisch (US)" msgstr "Englisch (US)"
#: paperless/settings.py:756 #: paperless/settings.py:775
msgid "Arabic" msgid "Arabic"
msgstr "Arabisch" msgstr "Arabisch"
#: paperless/settings.py:757 #: paperless/settings.py:776
msgid "Afrikaans" msgid "Afrikaans"
msgstr "Afrikanisch" msgstr "Afrikanisch"
#: paperless/settings.py:758 #: paperless/settings.py:777
msgid "Belarusian" msgid "Belarusian"
msgstr "Belarussisch" msgstr "Belarussisch"
#: paperless/settings.py:759 #: paperless/settings.py:778
msgid "Bulgarian" msgid "Bulgarian"
msgstr "Bulgarisch" msgstr "Bulgarisch"
#: paperless/settings.py:760 #: paperless/settings.py:779
msgid "Catalan" msgid "Catalan"
msgstr "Katalanisch" msgstr "Katalanisch"
#: paperless/settings.py:761 #: paperless/settings.py:780
msgid "Czech" msgid "Czech"
msgstr "Tschechisch" msgstr "Tschechisch"
#: paperless/settings.py:762 #: paperless/settings.py:781
msgid "Danish" msgid "Danish"
msgstr "Dänisch" msgstr "Dänisch"
#: paperless/settings.py:763 #: paperless/settings.py:782
msgid "German" msgid "German"
msgstr "Deutsch" msgstr "Deutsch"
#: paperless/settings.py:764 #: paperless/settings.py:783
msgid "Greek" msgid "Greek"
msgstr "Griechisch" msgstr "Griechisch"
#: paperless/settings.py:765 #: paperless/settings.py:784
msgid "English (GB)" msgid "English (GB)"
msgstr "Englisch (UK)" msgstr "Englisch (UK)"
#: paperless/settings.py:766 #: paperless/settings.py:785
msgid "Spanish" msgid "Spanish"
msgstr "Spanisch" msgstr "Spanisch"
#: paperless/settings.py:767 #: paperless/settings.py:786
msgid "Persian" msgid "Persian"
msgstr "Persisch" msgstr "Persisch"
#: paperless/settings.py:768 #: paperless/settings.py:787
msgid "Finnish" msgid "Finnish"
msgstr "Finnisch" msgstr "Finnisch"
#: paperless/settings.py:769 #: paperless/settings.py:788
msgid "French" msgid "French"
msgstr "Französisch" msgstr "Französisch"
#: paperless/settings.py:770 #: paperless/settings.py:789
msgid "Hungarian" msgid "Hungarian"
msgstr "Ungarisch" msgstr "Ungarisch"
#: paperless/settings.py:771 #: paperless/settings.py:790
msgid "Italian" msgid "Italian"
msgstr "Italienisch" msgstr "Italienisch"
#: paperless/settings.py:772 #: paperless/settings.py:791
msgid "Japanese" msgid "Japanese"
msgstr "Japanisch" msgstr "Japanisch"
#: paperless/settings.py:773 #: paperless/settings.py:792
msgid "Korean" msgid "Korean"
msgstr "Koreanisch" msgstr "Koreanisch"
#: paperless/settings.py:774 #: paperless/settings.py:793
msgid "Luxembourgish" msgid "Luxembourgish"
msgstr "Luxemburgisch" msgstr "Luxemburgisch"
#: paperless/settings.py:775 #: paperless/settings.py:794
msgid "Norwegian" msgid "Norwegian"
msgstr "Norwegisch" msgstr "Norwegisch"
#: paperless/settings.py:776 #: paperless/settings.py:795
msgid "Dutch" msgid "Dutch"
msgstr "Niederländisch" msgstr "Niederländisch"
#: paperless/settings.py:777 #: paperless/settings.py:796
msgid "Polish" msgid "Polish"
msgstr "Polnisch" msgstr "Polnisch"
#: paperless/settings.py:778 #: paperless/settings.py:797
msgid "Portuguese (Brazil)" msgid "Portuguese (Brazil)"
msgstr "Portugiesisch (Brasilien)" msgstr "Portugiesisch (Brasilien)"
#: paperless/settings.py:779 #: paperless/settings.py:798
msgid "Portuguese" msgid "Portuguese"
msgstr "Portugiesisch" msgstr "Portugiesisch"
#: paperless/settings.py:780 #: paperless/settings.py:799
msgid "Romanian" msgid "Romanian"
msgstr "Rumänisch" msgstr "Rumänisch"
#: paperless/settings.py:781 #: paperless/settings.py:800
msgid "Russian" msgid "Russian"
msgstr "Russisch" msgstr "Russisch"
#: paperless/settings.py:782 #: paperless/settings.py:801
msgid "Slovak" msgid "Slovak"
msgstr "Slowakisch" msgstr "Slowakisch"
#: paperless/settings.py:783 #: paperless/settings.py:802
msgid "Slovenian" msgid "Slovenian"
msgstr "Slowenisch" msgstr "Slowenisch"
#: paperless/settings.py:784 #: paperless/settings.py:803
msgid "Serbian" msgid "Serbian"
msgstr "Serbisch" msgstr "Serbisch"
#: paperless/settings.py:785 #: paperless/settings.py:804
msgid "Swedish" msgid "Swedish"
msgstr "Schwedisch" msgstr "Schwedisch"
#: paperless/settings.py:786 #: paperless/settings.py:805
msgid "Turkish" msgid "Turkish"
msgstr "Türkisch" msgstr "Türkisch"
#: paperless/settings.py:787 #: paperless/settings.py:806
msgid "Ukrainian" msgid "Ukrainian"
msgstr "Ukrainisch" msgstr "Ukrainisch"
#: paperless/settings.py:788 #: paperless/settings.py:807
msgid "Vietnamese"
msgstr "Vietnamesisch"
#: paperless/settings.py:808
msgid "Chinese Simplified" msgid "Chinese Simplified"
msgstr "Chinesisch (vereinfacht)" msgstr "Chinesisch (vereinfacht)"
#: paperless/settings.py:789 #: paperless/settings.py:809
msgid "Chinese Traditional" msgid "Chinese Traditional"
msgstr "Chinesisch (traditionell)" msgstr "Chinesisch (traditionell)"
#: paperless/urls.py:374 #: paperless/urls.py:368
msgid "Paperless-ngx administration" msgid "Paperless-ngx administration"
msgstr "Paperless-ngx Administration" msgstr "Paperless-ngx Administration"

View File

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-19 18:51+0000\n" "POT-Creation-Date: 2025-08-16 14:34+0000\n"
"PO-Revision-Date: 2025-06-19 18:52\n" "PO-Revision-Date: 2025-08-16 14:36\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Greek\n" "Language-Team: Greek\n"
"Language: el_GR\n" "Language: el_GR\n"
@ -1164,21 +1164,21 @@ msgstr "εκτέλεση ροής εργασίας"
msgid "workflow runs" msgid "workflow runs"
msgstr "εκτελέσεις ροής εργασίας" msgstr "εκτελέσεις ροής εργασίας"
#: documents/serialisers.py:135 #: documents/serialisers.py:139
#, python-format #, python-format
msgid "Invalid regular expression: %(error)s" msgid "Invalid regular expression: %(error)s"
msgstr "Άκυρη έκφραση: %(error)s" msgstr "Άκυρη έκφραση: %(error)s"
#: documents/serialisers.py:561 #: documents/serialisers.py:565
msgid "Invalid color." msgid "Invalid color."
msgstr "Άκυρο χρώμα." msgstr "Άκυρο χρώμα."
#: documents/serialisers.py:1645 #: documents/serialisers.py:1700
#, python-format #, python-format
msgid "File type %(type)s not supported" msgid "File type %(type)s not supported"
msgstr "Ο τύπος αρχείου %(type)s δεν υποστηρίζεται" msgstr "Ο τύπος αρχείου %(type)s δεν υποστηρίζεται"
#: documents/serialisers.py:1739 #: documents/serialisers.py:1794
msgid "Invalid variable detected." msgid "Invalid variable detected."
msgstr "Εντοπίστηκε μη έγκυρη μεταβλητή." msgstr "Εντοπίστηκε μη έγκυρη μεταβλητή."
@ -1411,21 +1411,21 @@ msgstr "Ως τελικό βήμα, παρακαλούμε να συμπληρώ
#: documents/validators.py:24 #: documents/validators.py:24
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}, missing scheme" msgid "Unable to parse URI {value}, missing scheme"
msgstr "Αδυναμία ανάλυσης του URI {value}, λείπει το σχέδιο" msgstr ""
#: documents/validators.py:29 #: documents/validators.py:29
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path" msgid "Unable to parse URI {value}, missing net location or path"
msgstr "Αδυναμία ανάλυσης URI {value}, λείπει η τοποθεσία ή η διαδρομή δικτύου" msgstr ""
#: documents/validators.py:36 #: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}" msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "URI scheme '{parts.scheme}' δεν επιτρέπεται. Επιτρεπόμενα συστήματα: {', '.join(allowed_ schemes)}" msgstr ""
#: documents/validators.py:45 #: documents/validators.py:45
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}" msgid "Unable to parse URI {value}"
msgstr "Αδυναμία ανάλυσης του URI {value}" msgstr ""
#: paperless/apps.py:11 #: paperless/apps.py:11
msgid "Paperless" msgid "Paperless"
@ -1619,147 +1619,151 @@ msgstr ""
msgid "paperless application settings" msgid "paperless application settings"
msgstr "ρυθμίσεις εφαρμογής paperless" msgstr "ρυθμίσεις εφαρμογής paperless"
#: paperless/settings.py:755 #: paperless/settings.py:774
msgid "English (US)" msgid "English (US)"
msgstr "Αγγλικά (ΗΠΑ)" msgstr "Αγγλικά (ΗΠΑ)"
#: paperless/settings.py:756 #: paperless/settings.py:775
msgid "Arabic" msgid "Arabic"
msgstr "Αραβικά" msgstr "Αραβικά"
#: paperless/settings.py:757 #: paperless/settings.py:776
msgid "Afrikaans" msgid "Afrikaans"
msgstr "Αφρικανικά" msgstr "Αφρικανικά"
#: paperless/settings.py:758 #: paperless/settings.py:777
msgid "Belarusian" msgid "Belarusian"
msgstr "Λευκορωσικά" msgstr "Λευκορωσικά"
#: paperless/settings.py:759 #: paperless/settings.py:778
msgid "Bulgarian" msgid "Bulgarian"
msgstr "Βουλγαρικά" msgstr "Βουλγαρικά"
#: paperless/settings.py:760 #: paperless/settings.py:779
msgid "Catalan" msgid "Catalan"
msgstr "Καταλανικά" msgstr "Καταλανικά"
#: paperless/settings.py:761 #: paperless/settings.py:780
msgid "Czech" msgid "Czech"
msgstr "Τσέχικα" msgstr "Τσέχικα"
#: paperless/settings.py:762 #: paperless/settings.py:781
msgid "Danish" msgid "Danish"
msgstr "Δανέζικα" msgstr "Δανέζικα"
#: paperless/settings.py:763 #: paperless/settings.py:782
msgid "German" msgid "German"
msgstr "Γερμανικά" msgstr "Γερμανικά"
#: paperless/settings.py:764 #: paperless/settings.py:783
msgid "Greek" msgid "Greek"
msgstr "Ελληνικά" msgstr "Ελληνικά"
#: paperless/settings.py:765 #: paperless/settings.py:784
msgid "English (GB)" msgid "English (GB)"
msgstr "Αγγλικά (Ηνωμένο Βασίλειο)" msgstr "Αγγλικά (Ηνωμένο Βασίλειο)"
#: paperless/settings.py:766 #: paperless/settings.py:785
msgid "Spanish" msgid "Spanish"
msgstr "Ισπανικά" msgstr "Ισπανικά"
#: paperless/settings.py:767 #: paperless/settings.py:786
msgid "Persian" msgid "Persian"
msgstr "" msgstr ""
#: paperless/settings.py:768 #: paperless/settings.py:787
msgid "Finnish" msgid "Finnish"
msgstr "Φινλανδικά" msgstr "Φινλανδικά"
#: paperless/settings.py:769 #: paperless/settings.py:788
msgid "French" msgid "French"
msgstr "Γαλλικά" msgstr "Γαλλικά"
#: paperless/settings.py:770 #: paperless/settings.py:789
msgid "Hungarian" msgid "Hungarian"
msgstr "Ουγγρικά" msgstr "Ουγγρικά"
#: paperless/settings.py:771 #: paperless/settings.py:790
msgid "Italian" msgid "Italian"
msgstr "Ιταλικά" msgstr "Ιταλικά"
#: paperless/settings.py:772 #: paperless/settings.py:791
msgid "Japanese" msgid "Japanese"
msgstr "Ιαπωνικά" msgstr "Ιαπωνικά"
#: paperless/settings.py:773 #: paperless/settings.py:792
msgid "Korean" msgid "Korean"
msgstr "Κορεάτικα" msgstr "Κορεάτικα"
#: paperless/settings.py:774 #: paperless/settings.py:793
msgid "Luxembourgish" msgid "Luxembourgish"
msgstr "Λουξεμβουργικά" msgstr "Λουξεμβουργικά"
#: paperless/settings.py:775 #: paperless/settings.py:794
msgid "Norwegian" msgid "Norwegian"
msgstr "Νορβηγικά" msgstr "Νορβηγικά"
#: paperless/settings.py:776 #: paperless/settings.py:795
msgid "Dutch" msgid "Dutch"
msgstr "Ολλανδικά" msgstr "Ολλανδικά"
#: paperless/settings.py:777 #: paperless/settings.py:796
msgid "Polish" msgid "Polish"
msgstr "Πολωνικά" msgstr "Πολωνικά"
#: paperless/settings.py:778 #: paperless/settings.py:797
msgid "Portuguese (Brazil)" msgid "Portuguese (Brazil)"
msgstr "Πορτογαλικά (Βραζιλίας)" msgstr "Πορτογαλικά (Βραζιλίας)"
#: paperless/settings.py:779 #: paperless/settings.py:798
msgid "Portuguese" msgid "Portuguese"
msgstr "Πορτογαλικά" msgstr "Πορτογαλικά"
#: paperless/settings.py:780 #: paperless/settings.py:799
msgid "Romanian" msgid "Romanian"
msgstr "Ρουμάνικα" msgstr "Ρουμάνικα"
#: paperless/settings.py:781 #: paperless/settings.py:800
msgid "Russian" msgid "Russian"
msgstr "Ρωσικά" msgstr "Ρωσικά"
#: paperless/settings.py:782 #: paperless/settings.py:801
msgid "Slovak" msgid "Slovak"
msgstr "Σλοβακικά" msgstr "Σλοβακικά"
#: paperless/settings.py:783 #: paperless/settings.py:802
msgid "Slovenian" msgid "Slovenian"
msgstr "Σλοβενικά" msgstr "Σλοβενικά"
#: paperless/settings.py:784 #: paperless/settings.py:803
msgid "Serbian" msgid "Serbian"
msgstr "Σερβικά" msgstr "Σερβικά"
#: paperless/settings.py:785 #: paperless/settings.py:804
msgid "Swedish" msgid "Swedish"
msgstr "Σουηδικά" msgstr "Σουηδικά"
#: paperless/settings.py:786 #: paperless/settings.py:805
msgid "Turkish" msgid "Turkish"
msgstr "Τούρκικα" msgstr "Τούρκικα"
#: paperless/settings.py:787 #: paperless/settings.py:806
msgid "Ukrainian" msgid "Ukrainian"
msgstr "Ουκρανικά" msgstr "Ουκρανικά"
#: paperless/settings.py:788 #: paperless/settings.py:807
msgid "Vietnamese"
msgstr ""
#: paperless/settings.py:808
msgid "Chinese Simplified" msgid "Chinese Simplified"
msgstr "Κινέζικα Απλοποιημένα" msgstr "Κινέζικα Απλοποιημένα"
#: paperless/settings.py:789 #: paperless/settings.py:809
msgid "Chinese Traditional" msgid "Chinese Traditional"
msgstr "Κινεζικά Παραδοσιακά" msgstr "Κινεζικά Παραδοσιακά"
#: paperless/urls.py:374 #: paperless/urls.py:368
msgid "Paperless-ngx administration" msgid "Paperless-ngx administration"
msgstr "Διαχείριση Paperless-ngx" msgstr "Διαχείριση Paperless-ngx"

View File

@ -2,7 +2,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-08-11 17:31+0000\n" "POT-Creation-Date: 2025-08-16 14:34+0000\n"
"PO-Revision-Date: 2022-02-17 04:17\n" "PO-Revision-Date: 2022-02-17 04:17\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: English\n" "Language-Team: English\n"
@ -1789,7 +1789,7 @@ msgstr ""
msgid "Chinese Traditional" msgid "Chinese Traditional"
msgstr "" msgstr ""
#: paperless/urls.py:374 #: paperless/urls.py:368
msgid "Paperless-ngx administration" msgid "Paperless-ngx administration"
msgstr "" msgstr ""

View File

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-19 18:51+0000\n" "POT-Creation-Date: 2025-08-16 14:34+0000\n"
"PO-Revision-Date: 2025-06-19 18:52\n" "PO-Revision-Date: 2025-08-16 14:36\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Spanish\n" "Language-Team: Spanish\n"
"Language: es_ES\n" "Language: es_ES\n"
@ -1164,21 +1164,21 @@ msgstr "ejecución del flujo de trabajo"
msgid "workflow runs" msgid "workflow runs"
msgstr "ejecuciones de flujo de trabajo" msgstr "ejecuciones de flujo de trabajo"
#: documents/serialisers.py:135 #: documents/serialisers.py:139
#, python-format #, python-format
msgid "Invalid regular expression: %(error)s" msgid "Invalid regular expression: %(error)s"
msgstr "Expresión irregular inválida: %(error)s" msgstr "Expresión irregular inválida: %(error)s"
#: documents/serialisers.py:561 #: documents/serialisers.py:565
msgid "Invalid color." msgid "Invalid color."
msgstr "Color inválido." msgstr "Color inválido."
#: documents/serialisers.py:1645 #: documents/serialisers.py:1700
#, python-format #, python-format
msgid "File type %(type)s not supported" msgid "File type %(type)s not supported"
msgstr "Tipo de fichero %(type)s no suportado" msgstr "Tipo de fichero %(type)s no suportado"
#: documents/serialisers.py:1739 #: documents/serialisers.py:1794
msgid "Invalid variable detected." msgid "Invalid variable detected."
msgstr "Variable inválida." msgstr "Variable inválida."
@ -1411,21 +1411,21 @@ msgstr "Como último paso, por favor complete el siguiente formulario:"
#: documents/validators.py:24 #: documents/validators.py:24
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}, missing scheme" msgid "Unable to parse URI {value}, missing scheme"
msgstr "No se puede analizar la URI {value}, falta el esquema" msgstr ""
#: documents/validators.py:29 #: documents/validators.py:29
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path" msgid "Unable to parse URI {value}, missing net location or path"
msgstr "No se puede analizar la URI {value}, falta la ubicación de la red o la ruta" msgstr ""
#: documents/validators.py:36 #: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}" msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "El esquema URI '{parts.scheme}' no está permitido. Esquemas permitidos: {', '.join(allowed_schemes)}" msgstr ""
#: documents/validators.py:45 #: documents/validators.py:45
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}" msgid "Unable to parse URI {value}"
msgstr "No se puede analizar la URI {value}" msgstr ""
#: paperless/apps.py:11 #: paperless/apps.py:11
msgid "Paperless" msgid "Paperless"
@ -1619,147 +1619,151 @@ msgstr "Establece el mapeo de códigos de barras de etiquetas"
msgid "paperless application settings" msgid "paperless application settings"
msgstr "Ajustes de la aplicación paperless" msgstr "Ajustes de la aplicación paperless"
#: paperless/settings.py:755 #: paperless/settings.py:774
msgid "English (US)" msgid "English (US)"
msgstr "Inglés (US)" msgstr "Inglés (US)"
#: paperless/settings.py:756 #: paperless/settings.py:775
msgid "Arabic" msgid "Arabic"
msgstr "Árabe" msgstr "Árabe"
#: paperless/settings.py:757 #: paperless/settings.py:776
msgid "Afrikaans" msgid "Afrikaans"
msgstr "Africano" msgstr "Africano"
#: paperless/settings.py:758 #: paperless/settings.py:777
msgid "Belarusian" msgid "Belarusian"
msgstr "Bielorruso" msgstr "Bielorruso"
#: paperless/settings.py:759 #: paperless/settings.py:778
msgid "Bulgarian" msgid "Bulgarian"
msgstr "Búlgaro" msgstr "Búlgaro"
#: paperless/settings.py:760 #: paperless/settings.py:779
msgid "Catalan" msgid "Catalan"
msgstr "Catalán" msgstr "Catalán"
#: paperless/settings.py:761 #: paperless/settings.py:780
msgid "Czech" msgid "Czech"
msgstr "Checo" msgstr "Checo"
#: paperless/settings.py:762 #: paperless/settings.py:781
msgid "Danish" msgid "Danish"
msgstr "Danés" msgstr "Danés"
#: paperless/settings.py:763 #: paperless/settings.py:782
msgid "German" msgid "German"
msgstr "Alemán" msgstr "Alemán"
#: paperless/settings.py:764 #: paperless/settings.py:783
msgid "Greek" msgid "Greek"
msgstr "Griego" msgstr "Griego"
#: paperless/settings.py:765 #: paperless/settings.py:784
msgid "English (GB)" msgid "English (GB)"
msgstr "Inglés (Gran Bretaña)" msgstr "Inglés (Gran Bretaña)"
#: paperless/settings.py:766 #: paperless/settings.py:785
msgid "Spanish" msgid "Spanish"
msgstr "Español" msgstr "Español"
#: paperless/settings.py:767 #: paperless/settings.py:786
msgid "Persian" msgid "Persian"
msgstr "" msgstr ""
#: paperless/settings.py:768 #: paperless/settings.py:787
msgid "Finnish" msgid "Finnish"
msgstr "Finlandés" msgstr "Finlandés"
#: paperless/settings.py:769 #: paperless/settings.py:788
msgid "French" msgid "French"
msgstr "Francés" msgstr "Francés"
#: paperless/settings.py:770 #: paperless/settings.py:789
msgid "Hungarian" msgid "Hungarian"
msgstr "Húngaro" msgstr "Húngaro"
#: paperless/settings.py:771 #: paperless/settings.py:790
msgid "Italian" msgid "Italian"
msgstr "Italiano" msgstr "Italiano"
#: paperless/settings.py:772 #: paperless/settings.py:791
msgid "Japanese" msgid "Japanese"
msgstr "Japonés" msgstr "Japonés"
#: paperless/settings.py:773 #: paperless/settings.py:792
msgid "Korean" msgid "Korean"
msgstr "Coreano" msgstr "Coreano"
#: paperless/settings.py:774 #: paperless/settings.py:793
msgid "Luxembourgish" msgid "Luxembourgish"
msgstr "Luxemburgués" msgstr "Luxemburgués"
#: paperless/settings.py:775 #: paperless/settings.py:794
msgid "Norwegian" msgid "Norwegian"
msgstr "Noruego" msgstr "Noruego"
#: paperless/settings.py:776 #: paperless/settings.py:795
msgid "Dutch" msgid "Dutch"
msgstr "Alemán" msgstr "Alemán"
#: paperless/settings.py:777 #: paperless/settings.py:796
msgid "Polish" msgid "Polish"
msgstr "Polaco" msgstr "Polaco"
#: paperless/settings.py:778 #: paperless/settings.py:797
msgid "Portuguese (Brazil)" msgid "Portuguese (Brazil)"
msgstr "Portugués (Brasil)" msgstr "Portugués (Brasil)"
#: paperless/settings.py:779 #: paperless/settings.py:798
msgid "Portuguese" msgid "Portuguese"
msgstr "Portugués" msgstr "Portugués"
#: paperless/settings.py:780 #: paperless/settings.py:799
msgid "Romanian" msgid "Romanian"
msgstr "Rumano" msgstr "Rumano"
#: paperless/settings.py:781 #: paperless/settings.py:800
msgid "Russian" msgid "Russian"
msgstr "Ruso" msgstr "Ruso"
#: paperless/settings.py:782 #: paperless/settings.py:801
msgid "Slovak" msgid "Slovak"
msgstr "Eslovaco" msgstr "Eslovaco"
#: paperless/settings.py:783 #: paperless/settings.py:802
msgid "Slovenian" msgid "Slovenian"
msgstr "Esloveno" msgstr "Esloveno"
#: paperless/settings.py:784 #: paperless/settings.py:803
msgid "Serbian" msgid "Serbian"
msgstr "Serbio" msgstr "Serbio"
#: paperless/settings.py:785 #: paperless/settings.py:804
msgid "Swedish" msgid "Swedish"
msgstr "Sueco" msgstr "Sueco"
#: paperless/settings.py:786 #: paperless/settings.py:805
msgid "Turkish" msgid "Turkish"
msgstr "Turco" msgstr "Turco"
#: paperless/settings.py:787 #: paperless/settings.py:806
msgid "Ukrainian" msgid "Ukrainian"
msgstr "Ucraniano" msgstr "Ucraniano"
#: paperless/settings.py:788 #: paperless/settings.py:807
msgid "Vietnamese"
msgstr ""
#: paperless/settings.py:808
msgid "Chinese Simplified" msgid "Chinese Simplified"
msgstr "Chino simplificado" msgstr "Chino simplificado"
#: paperless/settings.py:789 #: paperless/settings.py:809
msgid "Chinese Traditional" msgid "Chinese Traditional"
msgstr "Chino tradicional" msgstr "Chino tradicional"
#: paperless/urls.py:374 #: paperless/urls.py:368
msgid "Paperless-ngx administration" msgid "Paperless-ngx administration"
msgstr "Administración de Paperless-ngx" msgstr "Administración de Paperless-ngx"

View File

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-19 18:51+0000\n" "POT-Creation-Date: 2025-08-16 14:34+0000\n"
"PO-Revision-Date: 2025-06-19 18:52\n" "PO-Revision-Date: 2025-08-16 14:36\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Estonian\n" "Language-Team: Estonian\n"
"Language: et_EE\n" "Language: et_EE\n"
@ -1164,21 +1164,21 @@ msgstr ""
msgid "workflow runs" msgid "workflow runs"
msgstr "" msgstr ""
#: documents/serialisers.py:135 #: documents/serialisers.py:139
#, python-format #, python-format
msgid "Invalid regular expression: %(error)s" msgid "Invalid regular expression: %(error)s"
msgstr "" msgstr ""
#: documents/serialisers.py:561 #: documents/serialisers.py:565
msgid "Invalid color." msgid "Invalid color."
msgstr "" msgstr ""
#: documents/serialisers.py:1645 #: documents/serialisers.py:1700
#, python-format #, python-format
msgid "File type %(type)s not supported" msgid "File type %(type)s not supported"
msgstr "" msgstr ""
#: documents/serialisers.py:1739 #: documents/serialisers.py:1794
msgid "Invalid variable detected." msgid "Invalid variable detected."
msgstr "" msgstr ""
@ -1618,147 +1618,151 @@ msgstr ""
msgid "paperless application settings" msgid "paperless application settings"
msgstr "" msgstr ""
#: paperless/settings.py:755 #: paperless/settings.py:774
msgid "English (US)" msgid "English (US)"
msgstr "" msgstr ""
#: paperless/settings.py:756 #: paperless/settings.py:775
msgid "Arabic" msgid "Arabic"
msgstr "" msgstr ""
#: paperless/settings.py:757 #: paperless/settings.py:776
msgid "Afrikaans" msgid "Afrikaans"
msgstr "" msgstr ""
#: paperless/settings.py:758 #: paperless/settings.py:777
msgid "Belarusian" msgid "Belarusian"
msgstr "" msgstr ""
#: paperless/settings.py:759 #: paperless/settings.py:778
msgid "Bulgarian" msgid "Bulgarian"
msgstr "" msgstr ""
#: paperless/settings.py:760 #: paperless/settings.py:779
msgid "Catalan" msgid "Catalan"
msgstr "" msgstr ""
#: paperless/settings.py:761 #: paperless/settings.py:780
msgid "Czech" msgid "Czech"
msgstr "" msgstr ""
#: paperless/settings.py:762 #: paperless/settings.py:781
msgid "Danish" msgid "Danish"
msgstr "" msgstr ""
#: paperless/settings.py:763 #: paperless/settings.py:782
msgid "German" msgid "German"
msgstr "" msgstr ""
#: paperless/settings.py:764 #: paperless/settings.py:783
msgid "Greek" msgid "Greek"
msgstr "" msgstr ""
#: paperless/settings.py:765 #: paperless/settings.py:784
msgid "English (GB)" msgid "English (GB)"
msgstr "" msgstr ""
#: paperless/settings.py:766 #: paperless/settings.py:785
msgid "Spanish" msgid "Spanish"
msgstr "" msgstr ""
#: paperless/settings.py:767 #: paperless/settings.py:786
msgid "Persian" msgid "Persian"
msgstr "" msgstr ""
#: paperless/settings.py:768 #: paperless/settings.py:787
msgid "Finnish" msgid "Finnish"
msgstr "" msgstr ""
#: paperless/settings.py:769 #: paperless/settings.py:788
msgid "French" msgid "French"
msgstr "" msgstr ""
#: paperless/settings.py:770 #: paperless/settings.py:789
msgid "Hungarian" msgid "Hungarian"
msgstr "" msgstr ""
#: paperless/settings.py:771 #: paperless/settings.py:790
msgid "Italian" msgid "Italian"
msgstr "" msgstr ""
#: paperless/settings.py:772 #: paperless/settings.py:791
msgid "Japanese" msgid "Japanese"
msgstr "" msgstr ""
#: paperless/settings.py:773 #: paperless/settings.py:792
msgid "Korean" msgid "Korean"
msgstr "" msgstr ""
#: paperless/settings.py:774 #: paperless/settings.py:793
msgid "Luxembourgish" msgid "Luxembourgish"
msgstr "" msgstr ""
#: paperless/settings.py:775 #: paperless/settings.py:794
msgid "Norwegian" msgid "Norwegian"
msgstr "" msgstr ""
#: paperless/settings.py:776 #: paperless/settings.py:795
msgid "Dutch" msgid "Dutch"
msgstr "" msgstr ""
#: paperless/settings.py:777 #: paperless/settings.py:796
msgid "Polish" msgid "Polish"
msgstr "" msgstr ""
#: paperless/settings.py:778 #: paperless/settings.py:797
msgid "Portuguese (Brazil)" msgid "Portuguese (Brazil)"
msgstr "" msgstr ""
#: paperless/settings.py:779 #: paperless/settings.py:798
msgid "Portuguese" msgid "Portuguese"
msgstr "" msgstr ""
#: paperless/settings.py:780 #: paperless/settings.py:799
msgid "Romanian" msgid "Romanian"
msgstr "" msgstr ""
#: paperless/settings.py:781 #: paperless/settings.py:800
msgid "Russian" msgid "Russian"
msgstr "" msgstr ""
#: paperless/settings.py:782 #: paperless/settings.py:801
msgid "Slovak" msgid "Slovak"
msgstr "" msgstr ""
#: paperless/settings.py:783 #: paperless/settings.py:802
msgid "Slovenian" msgid "Slovenian"
msgstr "" msgstr ""
#: paperless/settings.py:784 #: paperless/settings.py:803
msgid "Serbian" msgid "Serbian"
msgstr "" msgstr ""
#: paperless/settings.py:785 #: paperless/settings.py:804
msgid "Swedish" msgid "Swedish"
msgstr "" msgstr ""
#: paperless/settings.py:786 #: paperless/settings.py:805
msgid "Turkish" msgid "Turkish"
msgstr "" msgstr ""
#: paperless/settings.py:787 #: paperless/settings.py:806
msgid "Ukrainian" msgid "Ukrainian"
msgstr "" msgstr ""
#: paperless/settings.py:788 #: paperless/settings.py:807
msgid "Vietnamese"
msgstr ""
#: paperless/settings.py:808
msgid "Chinese Simplified" msgid "Chinese Simplified"
msgstr "" msgstr ""
#: paperless/settings.py:789 #: paperless/settings.py:809
msgid "Chinese Traditional" msgid "Chinese Traditional"
msgstr "" msgstr ""
#: paperless/urls.py:374 #: paperless/urls.py:368
msgid "Paperless-ngx administration" msgid "Paperless-ngx administration"
msgstr "" msgstr ""

View File

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-19 18:51+0000\n" "POT-Creation-Date: 2025-08-16 14:34+0000\n"
"PO-Revision-Date: 2025-06-19 18:52\n" "PO-Revision-Date: 2025-08-16 14:36\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Persian\n" "Language-Team: Persian\n"
"Language: fa_IR\n" "Language: fa_IR\n"
@ -108,11 +108,11 @@ msgstr "غیر حساس است"
#: documents/models.py:95 documents/models.py:146 #: documents/models.py:95 documents/models.py:146
msgid "correspondent" msgid "correspondent"
msgstr "مکاتب" msgstr "مکاتبه کننده"
#: documents/models.py:96 #: documents/models.py:96
msgid "correspondents" msgid "correspondents"
msgstr "مکاتب ها" msgstr "مکاتبه کننده ها"
#: documents/models.py:100 #: documents/models.py:100
msgid "color" msgid "color"
@ -290,7 +290,7 @@ msgstr "برچسب ها"
#: documents/models.py:391 #: documents/models.py:391
msgid "Correspondent" msgid "Correspondent"
msgstr "خبرنگار" msgstr "مکاتبه کننده"
#: documents/models.py:392 #: documents/models.py:392
msgid "Document Type" msgid "Document Type"
@ -370,7 +370,7 @@ msgstr "ASN است"
#: documents/models.py:453 #: documents/models.py:453
msgid "correspondent is" msgid "correspondent is"
msgstr "خبرنگار است" msgstr "مکاتبه کننده است"
#: documents/models.py:454 #: documents/models.py:454
msgid "document type is" msgid "document type is"
@ -462,7 +462,7 @@ msgstr "مسیر ذخیره ساز است"
#: documents/models.py:476 #: documents/models.py:476
msgid "has correspondent in" msgid "has correspondent in"
msgstr "خبرنگار در" msgstr "مکاتبه کننده دارد در"
#: documents/models.py:477 #: documents/models.py:477
msgid "does not have correspondent in" msgid "does not have correspondent in"
@ -1164,21 +1164,21 @@ msgstr "گردش کار"
msgid "workflow runs" msgid "workflow runs"
msgstr "گردش کار اجرا می شود" msgstr "گردش کار اجرا می شود"
#: documents/serialisers.py:135 #: documents/serialisers.py:139
#, python-format #, python-format
msgid "Invalid regular expression: %(error)s" msgid "Invalid regular expression: %(error)s"
msgstr "" msgstr ""
#: documents/serialisers.py:561 #: documents/serialisers.py:565
msgid "Invalid color." msgid "Invalid color."
msgstr "رنگ نامعتبر" msgstr "رنگ نامعتبر"
#: documents/serialisers.py:1645 #: documents/serialisers.py:1700
#, python-format #, python-format
msgid "File type %(type)s not supported" msgid "File type %(type)s not supported"
msgstr "" msgstr ""
#: documents/serialisers.py:1739 #: documents/serialisers.py:1794
msgid "Invalid variable detected." msgid "Invalid variable detected."
msgstr "متغیر نامعتبر شناسایی شده است." msgstr "متغیر نامعتبر شناسایی شده است."
@ -1618,147 +1618,151 @@ msgstr "نقشه بارکد برچسب را تنظیم می کند"
msgid "paperless application settings" msgid "paperless application settings"
msgstr "تنظیمات برنامه بدون کاغذ" msgstr "تنظیمات برنامه بدون کاغذ"
#: paperless/settings.py:755 #: paperless/settings.py:774
msgid "English (US)" msgid "English (US)"
msgstr "انگلیسی (ایالات متحده)" msgstr "انگلیسی (ایالات متحده)"
#: paperless/settings.py:756 #: paperless/settings.py:775
msgid "Arabic" msgid "Arabic"
msgstr "عربی" msgstr "عربی"
#: paperless/settings.py:757 #: paperless/settings.py:776
msgid "Afrikaans" msgid "Afrikaans"
msgstr "افریکان" msgstr "افریکان"
#: paperless/settings.py:758 #: paperless/settings.py:777
msgid "Belarusian" msgid "Belarusian"
msgstr "وابسته به بلروس" msgstr "وابسته به بلروس"
#: paperless/settings.py:759 #: paperless/settings.py:778
msgid "Bulgarian" msgid "Bulgarian"
msgstr "وابسته به بلغاری" msgstr "وابسته به بلغاری"
#: paperless/settings.py:760 #: paperless/settings.py:779
msgid "Catalan" msgid "Catalan"
msgstr "کاتالان" msgstr "کاتالان"
#: paperless/settings.py:761 #: paperless/settings.py:780
msgid "Czech" msgid "Czech"
msgstr "وابسته به چک" msgstr "وابسته به چک"
#: paperless/settings.py:762 #: paperless/settings.py:781
msgid "Danish" msgid "Danish"
msgstr "وابسته به دانمارکی" msgstr "وابسته به دانمارکی"
#: paperless/settings.py:763 #: paperless/settings.py:782
msgid "German" msgid "German"
msgstr "آلمانی" msgstr "آلمانی"
#: paperless/settings.py:764 #: paperless/settings.py:783
msgid "Greek" msgid "Greek"
msgstr "یونانی" msgstr "یونانی"
#: paperless/settings.py:765 #: paperless/settings.py:784
msgid "English (GB)" msgid "English (GB)"
msgstr "انگلیسی (GB)" msgstr "انگلیسی (GB)"
#: paperless/settings.py:766 #: paperless/settings.py:785
msgid "Spanish" msgid "Spanish"
msgstr "اسپانیایی" msgstr "اسپانیایی"
#: paperless/settings.py:767 #: paperless/settings.py:786
msgid "Persian" msgid "Persian"
msgstr "" msgstr "فارسی"
#: paperless/settings.py:768 #: paperless/settings.py:787
msgid "Finnish" msgid "Finnish"
msgstr "فنلاندی" msgstr "فنلاندی"
#: paperless/settings.py:769 #: paperless/settings.py:788
msgid "French" msgid "French"
msgstr "فرانسوی" msgstr "فرانسوی"
#: paperless/settings.py:770 #: paperless/settings.py:789
msgid "Hungarian" msgid "Hungarian"
msgstr "مجارستانی" msgstr "مجارستانی"
#: paperless/settings.py:771 #: paperless/settings.py:790
msgid "Italian" msgid "Italian"
msgstr "ایتالیایی" msgstr "ایتالیایی"
#: paperless/settings.py:772 #: paperless/settings.py:791
msgid "Japanese" msgid "Japanese"
msgstr "وابسته به ژاپنی" msgstr "وابسته به ژاپنی"
#: paperless/settings.py:773 #: paperless/settings.py:792
msgid "Korean" msgid "Korean"
msgstr "کره ای" msgstr "کره ای"
#: paperless/settings.py:774 #: paperless/settings.py:793
msgid "Luxembourgish" msgid "Luxembourgish"
msgstr "وابسته به لوکس" msgstr "وابسته به لوکس"
#: paperless/settings.py:775 #: paperless/settings.py:794
msgid "Norwegian" msgid "Norwegian"
msgstr "نروژی" msgstr "نروژی"
#: paperless/settings.py:776 #: paperless/settings.py:795
msgid "Dutch" msgid "Dutch"
msgstr "هلندی" msgstr "هلندی"
#: paperless/settings.py:777 #: paperless/settings.py:796
msgid "Polish" msgid "Polish"
msgstr "صیقل دادن" msgstr "صیقل دادن"
#: paperless/settings.py:778 #: paperless/settings.py:797
msgid "Portuguese (Brazil)" msgid "Portuguese (Brazil)"
msgstr "پرتغالی (برزیل)" msgstr "پرتغالی (برزیل)"
#: paperless/settings.py:779 #: paperless/settings.py:798
msgid "Portuguese" msgid "Portuguese"
msgstr "وابسته به پرتغالی" msgstr "وابسته به پرتغالی"
#: paperless/settings.py:780 #: paperless/settings.py:799
msgid "Romanian" msgid "Romanian"
msgstr "وابسته به رومانی" msgstr "وابسته به رومانی"
#: paperless/settings.py:781 #: paperless/settings.py:800
msgid "Russian" msgid "Russian"
msgstr "روسی" msgstr "روسی"
#: paperless/settings.py:782 #: paperless/settings.py:801
msgid "Slovak" msgid "Slovak"
msgstr "لگن" msgstr "لگن"
#: paperless/settings.py:783 #: paperless/settings.py:802
msgid "Slovenian" msgid "Slovenian"
msgstr "وابسته به اسلوونی" msgstr "وابسته به اسلوونی"
#: paperless/settings.py:784 #: paperless/settings.py:803
msgid "Serbian" msgid "Serbian"
msgstr "صرب" msgstr "صرب"
#: paperless/settings.py:785 #: paperless/settings.py:804
msgid "Swedish" msgid "Swedish"
msgstr "سوئدی" msgstr "سوئدی"
#: paperless/settings.py:786 #: paperless/settings.py:805
msgid "Turkish" msgid "Turkish"
msgstr "ترکی" msgstr "ترکی"
#: paperless/settings.py:787 #: paperless/settings.py:806
msgid "Ukrainian" msgid "Ukrainian"
msgstr "وابسته به اوکراینی" msgstr "وابسته به اوکراینی"
#: paperless/settings.py:788 #: paperless/settings.py:807
msgid "Vietnamese"
msgstr ""
#: paperless/settings.py:808
msgid "Chinese Simplified" msgid "Chinese Simplified"
msgstr "چینی ساده شد" msgstr "چینی ساده شد"
#: paperless/settings.py:789 #: paperless/settings.py:809
msgid "Chinese Traditional" msgid "Chinese Traditional"
msgstr "چینی سنتی" msgstr "چینی سنتی"
#: paperless/urls.py:374 #: paperless/urls.py:368
msgid "Paperless-ngx administration" msgid "Paperless-ngx administration"
msgstr "مدیریت بدون مقاله NGX" msgstr "مدیریت بدون مقاله NGX"

View File

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-19 18:51+0000\n" "POT-Creation-Date: 2025-08-16 14:34+0000\n"
"PO-Revision-Date: 2025-06-19 18:52\n" "PO-Revision-Date: 2025-08-16 14:36\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Finnish\n" "Language-Team: Finnish\n"
"Language: fi_FI\n" "Language: fi_FI\n"
@ -1164,21 +1164,21 @@ msgstr ""
msgid "workflow runs" msgid "workflow runs"
msgstr "" msgstr ""
#: documents/serialisers.py:135 #: documents/serialisers.py:139
#, python-format #, python-format
msgid "Invalid regular expression: %(error)s" msgid "Invalid regular expression: %(error)s"
msgstr "Virheellinen regex-lauseke: %(error)s" msgstr "Virheellinen regex-lauseke: %(error)s"
#: documents/serialisers.py:561 #: documents/serialisers.py:565
msgid "Invalid color." msgid "Invalid color."
msgstr "Virheellinen väri." msgstr "Virheellinen väri."
#: documents/serialisers.py:1645 #: documents/serialisers.py:1700
#, python-format #, python-format
msgid "File type %(type)s not supported" msgid "File type %(type)s not supported"
msgstr "Tiedostotyyppiä %(type)s ei tueta" msgstr "Tiedostotyyppiä %(type)s ei tueta"
#: documents/serialisers.py:1739 #: documents/serialisers.py:1794
msgid "Invalid variable detected." msgid "Invalid variable detected."
msgstr "Virheellinen muuttuja havaittu." msgstr "Virheellinen muuttuja havaittu."
@ -1619,147 +1619,151 @@ msgstr ""
msgid "paperless application settings" msgid "paperless application settings"
msgstr "" msgstr ""
#: paperless/settings.py:755 #: paperless/settings.py:774
msgid "English (US)" msgid "English (US)"
msgstr "Englanti (US)" msgstr "Englanti (US)"
#: paperless/settings.py:756 #: paperless/settings.py:775
msgid "Arabic" msgid "Arabic"
msgstr "Arabialainen" msgstr "Arabialainen"
#: paperless/settings.py:757 #: paperless/settings.py:776
msgid "Afrikaans" msgid "Afrikaans"
msgstr "" msgstr ""
#: paperless/settings.py:758 #: paperless/settings.py:777
msgid "Belarusian" msgid "Belarusian"
msgstr "valkovenäjä" msgstr "valkovenäjä"
#: paperless/settings.py:759 #: paperless/settings.py:778
msgid "Bulgarian" msgid "Bulgarian"
msgstr "" msgstr ""
#: paperless/settings.py:760 #: paperless/settings.py:779
msgid "Catalan" msgid "Catalan"
msgstr "Katalaani" msgstr "Katalaani"
#: paperless/settings.py:761 #: paperless/settings.py:780
msgid "Czech" msgid "Czech"
msgstr "Tšekki" msgstr "Tšekki"
#: paperless/settings.py:762 #: paperless/settings.py:781
msgid "Danish" msgid "Danish"
msgstr "Tanska" msgstr "Tanska"
#: paperless/settings.py:763 #: paperless/settings.py:782
msgid "German" msgid "German"
msgstr "Saksa" msgstr "Saksa"
#: paperless/settings.py:764 #: paperless/settings.py:783
msgid "Greek" msgid "Greek"
msgstr "Kreikka" msgstr "Kreikka"
#: paperless/settings.py:765 #: paperless/settings.py:784
msgid "English (GB)" msgid "English (GB)"
msgstr "Englanti (US)" msgstr "Englanti (US)"
#: paperless/settings.py:766 #: paperless/settings.py:785
msgid "Spanish" msgid "Spanish"
msgstr "Espanja" msgstr "Espanja"
#: paperless/settings.py:767 #: paperless/settings.py:786
msgid "Persian" msgid "Persian"
msgstr "" msgstr ""
#: paperless/settings.py:768 #: paperless/settings.py:787
msgid "Finnish" msgid "Finnish"
msgstr "Suomi" msgstr "Suomi"
#: paperless/settings.py:769 #: paperless/settings.py:788
msgid "French" msgid "French"
msgstr "Ranska" msgstr "Ranska"
#: paperless/settings.py:770 #: paperless/settings.py:789
msgid "Hungarian" msgid "Hungarian"
msgstr "" msgstr ""
#: paperless/settings.py:771 #: paperless/settings.py:790
msgid "Italian" msgid "Italian"
msgstr "Italia" msgstr "Italia"
#: paperless/settings.py:772 #: paperless/settings.py:791
msgid "Japanese" msgid "Japanese"
msgstr "" msgstr ""
#: paperless/settings.py:773 #: paperless/settings.py:792
msgid "Korean" msgid "Korean"
msgstr "" msgstr ""
#: paperless/settings.py:774 #: paperless/settings.py:793
msgid "Luxembourgish" msgid "Luxembourgish"
msgstr "Luxemburg" msgstr "Luxemburg"
#: paperless/settings.py:775 #: paperless/settings.py:794
msgid "Norwegian" msgid "Norwegian"
msgstr "Norja" msgstr "Norja"
#: paperless/settings.py:776 #: paperless/settings.py:795
msgid "Dutch" msgid "Dutch"
msgstr "Hollanti" msgstr "Hollanti"
#: paperless/settings.py:777 #: paperless/settings.py:796
msgid "Polish" msgid "Polish"
msgstr "puola" msgstr "puola"
#: paperless/settings.py:778 #: paperless/settings.py:797
msgid "Portuguese (Brazil)" msgid "Portuguese (Brazil)"
msgstr "portugali (Brasilia)" msgstr "portugali (Brasilia)"
#: paperless/settings.py:779 #: paperless/settings.py:798
msgid "Portuguese" msgid "Portuguese"
msgstr "portugali" msgstr "portugali"
#: paperless/settings.py:780 #: paperless/settings.py:799
msgid "Romanian" msgid "Romanian"
msgstr "romania" msgstr "romania"
#: paperless/settings.py:781 #: paperless/settings.py:800
msgid "Russian" msgid "Russian"
msgstr "venäjä" msgstr "venäjä"
#: paperless/settings.py:782 #: paperless/settings.py:801
msgid "Slovak" msgid "Slovak"
msgstr "Slovakia" msgstr "Slovakia"
#: paperless/settings.py:783 #: paperless/settings.py:802
msgid "Slovenian" msgid "Slovenian"
msgstr "Slovenia" msgstr "Slovenia"
#: paperless/settings.py:784 #: paperless/settings.py:803
msgid "Serbian" msgid "Serbian"
msgstr "Serbia" msgstr "Serbia"
#: paperless/settings.py:785 #: paperless/settings.py:804
msgid "Swedish" msgid "Swedish"
msgstr "ruotsi" msgstr "ruotsi"
#: paperless/settings.py:786 #: paperless/settings.py:805
msgid "Turkish" msgid "Turkish"
msgstr "Turkki" msgstr "Turkki"
#: paperless/settings.py:787 #: paperless/settings.py:806
msgid "Ukrainian" msgid "Ukrainian"
msgstr "Ukraina" msgstr "Ukraina"
#: paperless/settings.py:788 #: paperless/settings.py:807
msgid "Vietnamese"
msgstr ""
#: paperless/settings.py:808
msgid "Chinese Simplified" msgid "Chinese Simplified"
msgstr "Kiina (yksinkertaistettu)" msgstr "Kiina (yksinkertaistettu)"
#: paperless/settings.py:789 #: paperless/settings.py:809
msgid "Chinese Traditional" msgid "Chinese Traditional"
msgstr "" msgstr ""
#: paperless/urls.py:374 #: paperless/urls.py:368
msgid "Paperless-ngx administration" msgid "Paperless-ngx administration"
msgstr "Paperless-ngx:n ylläpito" msgstr "Paperless-ngx:n ylläpito"

View File

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-19 18:51+0000\n" "POT-Creation-Date: 2025-08-16 14:34+0000\n"
"PO-Revision-Date: 2025-06-19 18:52\n" "PO-Revision-Date: 2025-08-16 14:36\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: French\n" "Language-Team: French\n"
"Language: fr_FR\n" "Language: fr_FR\n"
@ -1164,21 +1164,21 @@ msgstr "exécution du workflow"
msgid "workflow runs" msgid "workflow runs"
msgstr "le flux de travail s'exécute" msgstr "le flux de travail s'exécute"
#: documents/serialisers.py:135 #: documents/serialisers.py:139
#, python-format #, python-format
msgid "Invalid regular expression: %(error)s" msgid "Invalid regular expression: %(error)s"
msgstr "Expression régulière incorrecte : %(error)s" msgstr "Expression régulière incorrecte : %(error)s"
#: documents/serialisers.py:561 #: documents/serialisers.py:565
msgid "Invalid color." msgid "Invalid color."
msgstr "Couleur incorrecte." msgstr "Couleur incorrecte."
#: documents/serialisers.py:1645 #: documents/serialisers.py:1700
#, python-format #, python-format
msgid "File type %(type)s not supported" msgid "File type %(type)s not supported"
msgstr "Type de fichier %(type)s non pris en charge" msgstr "Type de fichier %(type)s non pris en charge"
#: documents/serialisers.py:1739 #: documents/serialisers.py:1794
msgid "Invalid variable detected." msgid "Invalid variable detected."
msgstr "Variable invalide détectée." msgstr "Variable invalide détectée."
@ -1572,193 +1572,197 @@ msgstr "Nom de l'application"
#: paperless/models.py:197 #: paperless/models.py:197
msgid "Enables barcode scanning" msgid "Enables barcode scanning"
msgstr "" msgstr "Active le scan des codes-barres"
#: paperless/models.py:203 #: paperless/models.py:203
msgid "Enables barcode TIFF support" msgid "Enables barcode TIFF support"
msgstr "" msgstr "Active le support des codes-barres TIFF"
#: paperless/models.py:209 #: paperless/models.py:209
msgid "Sets the barcode string" msgid "Sets the barcode string"
msgstr "" msgstr "Définit la chaîne du code-barres"
#: paperless/models.py:217 #: paperless/models.py:217
msgid "Retains split pages" msgid "Retains split pages"
msgstr "" msgstr "Conserve les pages divisées"
#: paperless/models.py:223 #: paperless/models.py:223
msgid "Enables ASN barcode" msgid "Enables ASN barcode"
msgstr "" msgstr "Active le code-barres ASN"
#: paperless/models.py:229 #: paperless/models.py:229
msgid "Sets the ASN barcode prefix" msgid "Sets the ASN barcode prefix"
msgstr "" msgstr "Définit le préfixe du code-barres ASN"
#: paperless/models.py:237 #: paperless/models.py:237
msgid "Sets the barcode upscale factor" msgid "Sets the barcode upscale factor"
msgstr "" msgstr "Définit le facteur de mise à l'échelle du code-barres"
#: paperless/models.py:244 #: paperless/models.py:244
msgid "Sets the barcode DPI" msgid "Sets the barcode DPI"
msgstr "" msgstr "Définit le DPI du code-barres"
#: paperless/models.py:251 #: paperless/models.py:251
msgid "Sets the maximum pages for barcode" msgid "Sets the maximum pages for barcode"
msgstr "" msgstr "Définit le nombre maximum de pages pour le code-barres"
#: paperless/models.py:258 #: paperless/models.py:258
msgid "Enables tag barcode" msgid "Enables tag barcode"
msgstr "" msgstr "Activer les étiquettes pour le code-barres"
#: paperless/models.py:264 #: paperless/models.py:264
msgid "Sets the tag barcode mapping" msgid "Sets the tag barcode mapping"
msgstr "" msgstr "Définit la correspondance des étiquettes de code-barres"
#: paperless/models.py:269 #: paperless/models.py:269
msgid "paperless application settings" msgid "paperless application settings"
msgstr "paramètres de l'application paperless" msgstr "paramètres de l'application paperless"
#: paperless/settings.py:755 #: paperless/settings.py:774
msgid "English (US)" msgid "English (US)"
msgstr "Anglais (US)" msgstr "Anglais (US)"
#: paperless/settings.py:756 #: paperless/settings.py:775
msgid "Arabic" msgid "Arabic"
msgstr "Arabe" msgstr "Arabe"
#: paperless/settings.py:757 #: paperless/settings.py:776
msgid "Afrikaans" msgid "Afrikaans"
msgstr "Afrikaans" msgstr "Afrikaans"
#: paperless/settings.py:758 #: paperless/settings.py:777
msgid "Belarusian" msgid "Belarusian"
msgstr "Biélorusse" msgstr "Biélorusse"
#: paperless/settings.py:759 #: paperless/settings.py:778
msgid "Bulgarian" msgid "Bulgarian"
msgstr "Bulgare" msgstr "Bulgare"
#: paperless/settings.py:760 #: paperless/settings.py:779
msgid "Catalan" msgid "Catalan"
msgstr "Catalan" msgstr "Catalan"
#: paperless/settings.py:761 #: paperless/settings.py:780
msgid "Czech" msgid "Czech"
msgstr "Tchèque" msgstr "Tchèque"
#: paperless/settings.py:762 #: paperless/settings.py:781
msgid "Danish" msgid "Danish"
msgstr "Danois" msgstr "Danois"
#: paperless/settings.py:763 #: paperless/settings.py:782
msgid "German" msgid "German"
msgstr "Allemand" msgstr "Allemand"
#: paperless/settings.py:764 #: paperless/settings.py:783
msgid "Greek" msgid "Greek"
msgstr "Grec" msgstr "Grec"
#: paperless/settings.py:765 #: paperless/settings.py:784
msgid "English (GB)" msgid "English (GB)"
msgstr "Anglais (GB)" msgstr "Anglais (GB)"
#: paperless/settings.py:766 #: paperless/settings.py:785
msgid "Spanish" msgid "Spanish"
msgstr "Espagnol" msgstr "Espagnol"
#: paperless/settings.py:767 #: paperless/settings.py:786
msgid "Persian" msgid "Persian"
msgstr "" msgstr "Persan"
#: paperless/settings.py:768 #: paperless/settings.py:787
msgid "Finnish" msgid "Finnish"
msgstr "Finnois" msgstr "Finnois"
#: paperless/settings.py:769 #: paperless/settings.py:788
msgid "French" msgid "French"
msgstr "Français" msgstr "Français"
#: paperless/settings.py:770 #: paperless/settings.py:789
msgid "Hungarian" msgid "Hungarian"
msgstr "Hongrois" msgstr "Hongrois"
#: paperless/settings.py:771 #: paperless/settings.py:790
msgid "Italian" msgid "Italian"
msgstr "Italien" msgstr "Italien"
#: paperless/settings.py:772 #: paperless/settings.py:791
msgid "Japanese" msgid "Japanese"
msgstr "Japonais" msgstr "Japonais"
#: paperless/settings.py:773 #: paperless/settings.py:792
msgid "Korean" msgid "Korean"
msgstr "Coréen" msgstr "Coréen"
#: paperless/settings.py:774 #: paperless/settings.py:793
msgid "Luxembourgish" msgid "Luxembourgish"
msgstr "Luxembourgeois" msgstr "Luxembourgeois"
#: paperless/settings.py:775 #: paperless/settings.py:794
msgid "Norwegian" msgid "Norwegian"
msgstr "Norvégien" msgstr "Norvégien"
#: paperless/settings.py:776 #: paperless/settings.py:795
msgid "Dutch" msgid "Dutch"
msgstr "Néerlandais" msgstr "Néerlandais"
#: paperless/settings.py:777 #: paperless/settings.py:796
msgid "Polish" msgid "Polish"
msgstr "Polonais" msgstr "Polonais"
#: paperless/settings.py:778 #: paperless/settings.py:797
msgid "Portuguese (Brazil)" msgid "Portuguese (Brazil)"
msgstr "Portugais (Brésil)" msgstr "Portugais (Brésil)"
#: paperless/settings.py:779 #: paperless/settings.py:798
msgid "Portuguese" msgid "Portuguese"
msgstr "Portugais" msgstr "Portugais"
#: paperless/settings.py:780 #: paperless/settings.py:799
msgid "Romanian" msgid "Romanian"
msgstr "Roumain" msgstr "Roumain"
#: paperless/settings.py:781 #: paperless/settings.py:800
msgid "Russian" msgid "Russian"
msgstr "Russe" msgstr "Russe"
#: paperless/settings.py:782 #: paperless/settings.py:801
msgid "Slovak" msgid "Slovak"
msgstr "Solvaque" msgstr "Solvaque"
#: paperless/settings.py:783 #: paperless/settings.py:802
msgid "Slovenian" msgid "Slovenian"
msgstr "Slovène" msgstr "Slovène"
#: paperless/settings.py:784 #: paperless/settings.py:803
msgid "Serbian" msgid "Serbian"
msgstr "Serbe" msgstr "Serbe"
#: paperless/settings.py:785 #: paperless/settings.py:804
msgid "Swedish" msgid "Swedish"
msgstr "Suédois" msgstr "Suédois"
#: paperless/settings.py:786 #: paperless/settings.py:805
msgid "Turkish" msgid "Turkish"
msgstr "Turc" msgstr "Turc"
#: paperless/settings.py:787 #: paperless/settings.py:806
msgid "Ukrainian" msgid "Ukrainian"
msgstr "Ukrainien" msgstr "Ukrainien"
#: paperless/settings.py:788 #: paperless/settings.py:807
msgid "Vietnamese"
msgstr "Vietnamien"
#: paperless/settings.py:808
msgid "Chinese Simplified" msgid "Chinese Simplified"
msgstr "Chinois simplifié" msgstr "Chinois simplifié"
#: paperless/settings.py:789 #: paperless/settings.py:809
msgid "Chinese Traditional" msgid "Chinese Traditional"
msgstr "Chinois traditionnel" msgstr "Chinois traditionnel"
#: paperless/urls.py:374 #: paperless/urls.py:368
msgid "Paperless-ngx administration" msgid "Paperless-ngx administration"
msgstr "Administration de Paperless-ngx" msgstr "Administration de Paperless-ngx"

View File

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-19 18:51+0000\n" "POT-Creation-Date: 2025-08-16 14:34+0000\n"
"PO-Revision-Date: 2025-06-19 18:52\n" "PO-Revision-Date: 2025-08-16 14:36\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Hebrew\n" "Language-Team: Hebrew\n"
"Language: he_IL\n" "Language: he_IL\n"
@ -1165,21 +1165,21 @@ msgstr "הרצת זרימת עבודה"
msgid "workflow runs" msgid "workflow runs"
msgstr "הרצות זרימת עבודה" msgstr "הרצות זרימת עבודה"
#: documents/serialisers.py:135 #: documents/serialisers.py:139
#, python-format #, python-format
msgid "Invalid regular expression: %(error)s" msgid "Invalid regular expression: %(error)s"
msgstr "ביטוי רגולרי בלתי חוקי: %(error)s" msgstr "ביטוי רגולרי בלתי חוקי: %(error)s"
#: documents/serialisers.py:561 #: documents/serialisers.py:565
msgid "Invalid color." msgid "Invalid color."
msgstr "צבע לא חוקי." msgstr "צבע לא חוקי."
#: documents/serialisers.py:1645 #: documents/serialisers.py:1700
#, python-format #, python-format
msgid "File type %(type)s not supported" msgid "File type %(type)s not supported"
msgstr "סוג קובץ %(type)s לא נתמך" msgstr "סוג קובץ %(type)s לא נתמך"
#: documents/serialisers.py:1739 #: documents/serialisers.py:1794
msgid "Invalid variable detected." msgid "Invalid variable detected."
msgstr "משתנה לא חוקי זוהה." msgstr "משתנה לא חוקי זוהה."
@ -1412,21 +1412,21 @@ msgstr ": כצעד אחרון, אנא מלא את הטופס הבא:"
#: documents/validators.py:24 #: documents/validators.py:24
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}, missing scheme" msgid "Unable to parse URI {value}, missing scheme"
msgstr "לא ניתן לנתח את כתובת ה-URI {value}" msgstr ""
#: documents/validators.py:29 #: documents/validators.py:29
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path" msgid "Unable to parse URI {value}, missing net location or path"
msgstr "לא ניתן לנתח את כתובת ה-URI {value}, חסרה מיקום רשת או נתיב" msgstr ""
#: documents/validators.py:36 #: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}" msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}" msgstr ""
#: documents/validators.py:45 #: documents/validators.py:45
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}" msgid "Unable to parse URI {value}"
msgstr "לא ניתן לנתח את כתובת ה-URI {value}, חסרה הסכימה" msgstr ""
#: paperless/apps.py:11 #: paperless/apps.py:11
msgid "Paperless" msgid "Paperless"
@ -1620,147 +1620,151 @@ msgstr "מגדיר את מיפוי הברקוד"
msgid "paperless application settings" msgid "paperless application settings"
msgstr "הגדרות יישום paperless" msgstr "הגדרות יישום paperless"
#: paperless/settings.py:755 #: paperless/settings.py:774
msgid "English (US)" msgid "English (US)"
msgstr "אנגלית (ארה״ב)" msgstr "אנגלית (ארה״ב)"
#: paperless/settings.py:756 #: paperless/settings.py:775
msgid "Arabic" msgid "Arabic"
msgstr "ערבית" msgstr "ערבית"
#: paperless/settings.py:757 #: paperless/settings.py:776
msgid "Afrikaans" msgid "Afrikaans"
msgstr "אפריקאנס" msgstr "אפריקאנס"
#: paperless/settings.py:758 #: paperless/settings.py:777
msgid "Belarusian" msgid "Belarusian"
msgstr "בלרוסית" msgstr "בלרוסית"
#: paperless/settings.py:759 #: paperless/settings.py:778
msgid "Bulgarian" msgid "Bulgarian"
msgstr "בולגרית" msgstr "בולגרית"
#: paperless/settings.py:760 #: paperless/settings.py:779
msgid "Catalan" msgid "Catalan"
msgstr "קטלאנית" msgstr "קטלאנית"
#: paperless/settings.py:761 #: paperless/settings.py:780
msgid "Czech" msgid "Czech"
msgstr "צ'כית" msgstr "צ'כית"
#: paperless/settings.py:762 #: paperless/settings.py:781
msgid "Danish" msgid "Danish"
msgstr "דנית" msgstr "דנית"
#: paperless/settings.py:763 #: paperless/settings.py:782
msgid "German" msgid "German"
msgstr "גרמנית" msgstr "גרמנית"
#: paperless/settings.py:764 #: paperless/settings.py:783
msgid "Greek" msgid "Greek"
msgstr "יוונית" msgstr "יוונית"
#: paperless/settings.py:765 #: paperless/settings.py:784
msgid "English (GB)" msgid "English (GB)"
msgstr "אנגלית (בריטניה)" msgstr "אנגלית (בריטניה)"
#: paperless/settings.py:766 #: paperless/settings.py:785
msgid "Spanish" msgid "Spanish"
msgstr "ספרדית" msgstr "ספרדית"
#: paperless/settings.py:767 #: paperless/settings.py:786
msgid "Persian" msgid "Persian"
msgstr "" msgstr "פרסית"
#: paperless/settings.py:768 #: paperless/settings.py:787
msgid "Finnish" msgid "Finnish"
msgstr "פינית" msgstr "פינית"
#: paperless/settings.py:769 #: paperless/settings.py:788
msgid "French" msgid "French"
msgstr "צרפתית" msgstr "צרפתית"
#: paperless/settings.py:770 #: paperless/settings.py:789
msgid "Hungarian" msgid "Hungarian"
msgstr "הונגרית" msgstr "הונגרית"
#: paperless/settings.py:771 #: paperless/settings.py:790
msgid "Italian" msgid "Italian"
msgstr "איטלקית" msgstr "איטלקית"
#: paperless/settings.py:772 #: paperless/settings.py:791
msgid "Japanese" msgid "Japanese"
msgstr "יפנית" msgstr "יפנית"
#: paperless/settings.py:773 #: paperless/settings.py:792
msgid "Korean" msgid "Korean"
msgstr "קוריאנית" msgstr "קוריאנית"
#: paperless/settings.py:774 #: paperless/settings.py:793
msgid "Luxembourgish" msgid "Luxembourgish"
msgstr "לוקסמבורגית" msgstr "לוקסמבורגית"
#: paperless/settings.py:775 #: paperless/settings.py:794
msgid "Norwegian" msgid "Norwegian"
msgstr "נורווגית" msgstr "נורווגית"
#: paperless/settings.py:776 #: paperless/settings.py:795
msgid "Dutch" msgid "Dutch"
msgstr "הולנדית" msgstr "הולנדית"
#: paperless/settings.py:777 #: paperless/settings.py:796
msgid "Polish" msgid "Polish"
msgstr "פולנית" msgstr "פולנית"
#: paperless/settings.py:778 #: paperless/settings.py:797
msgid "Portuguese (Brazil)" msgid "Portuguese (Brazil)"
msgstr "פורטוגלית ברזילאית" msgstr "פורטוגלית ברזילאית"
#: paperless/settings.py:779 #: paperless/settings.py:798
msgid "Portuguese" msgid "Portuguese"
msgstr "פורטוגלית" msgstr "פורטוגלית"
#: paperless/settings.py:780 #: paperless/settings.py:799
msgid "Romanian" msgid "Romanian"
msgstr "רומנית" msgstr "רומנית"
#: paperless/settings.py:781 #: paperless/settings.py:800
msgid "Russian" msgid "Russian"
msgstr "רוסית" msgstr "רוסית"
#: paperless/settings.py:782 #: paperless/settings.py:801
msgid "Slovak" msgid "Slovak"
msgstr "סלובקית" msgstr "סלובקית"
#: paperless/settings.py:783 #: paperless/settings.py:802
msgid "Slovenian" msgid "Slovenian"
msgstr "סלובנית" msgstr "סלובנית"
#: paperless/settings.py:784 #: paperless/settings.py:803
msgid "Serbian" msgid "Serbian"
msgstr "סרבית" msgstr "סרבית"
#: paperless/settings.py:785 #: paperless/settings.py:804
msgid "Swedish" msgid "Swedish"
msgstr "שוודית" msgstr "שוודית"
#: paperless/settings.py:786 #: paperless/settings.py:805
msgid "Turkish" msgid "Turkish"
msgstr "טורקית" msgstr "טורקית"
#: paperless/settings.py:787 #: paperless/settings.py:806
msgid "Ukrainian" msgid "Ukrainian"
msgstr "אוקראינית" msgstr "אוקראינית"
#: paperless/settings.py:788 #: paperless/settings.py:807
msgid "Vietnamese"
msgstr ""
#: paperless/settings.py:808
msgid "Chinese Simplified" msgid "Chinese Simplified"
msgstr "סינית מפושטת" msgstr "סינית מפושטת"
#: paperless/settings.py:789 #: paperless/settings.py:809
msgid "Chinese Traditional" msgid "Chinese Traditional"
msgstr "סינית מסורתית" msgstr "סינית מסורתית"
#: paperless/urls.py:374 #: paperless/urls.py:368
msgid "Paperless-ngx administration" msgid "Paperless-ngx administration"
msgstr "ניהול Paperless-ngx" msgstr "ניהול Paperless-ngx"

View File

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-19 18:51+0000\n" "POT-Creation-Date: 2025-08-16 14:34+0000\n"
"PO-Revision-Date: 2025-06-19 18:52\n" "PO-Revision-Date: 2025-08-16 14:36\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Croatian\n" "Language-Team: Croatian\n"
"Language: hr_HR\n" "Language: hr_HR\n"
@ -1164,21 +1164,21 @@ msgstr ""
msgid "workflow runs" msgid "workflow runs"
msgstr "" msgstr ""
#: documents/serialisers.py:135 #: documents/serialisers.py:139
#, python-format #, python-format
msgid "Invalid regular expression: %(error)s" msgid "Invalid regular expression: %(error)s"
msgstr "Nevažeći regularni izraz: %(error)s" msgstr "Nevažeći regularni izraz: %(error)s"
#: documents/serialisers.py:561 #: documents/serialisers.py:565
msgid "Invalid color." msgid "Invalid color."
msgstr "Nevažeća boja." msgstr "Nevažeća boja."
#: documents/serialisers.py:1645 #: documents/serialisers.py:1700
#, python-format #, python-format
msgid "File type %(type)s not supported" msgid "File type %(type)s not supported"
msgstr "Vrsta datoteke %(type)s nije podržana" msgstr "Vrsta datoteke %(type)s nije podržana"
#: documents/serialisers.py:1739 #: documents/serialisers.py:1794
msgid "Invalid variable detected." msgid "Invalid variable detected."
msgstr "Otkrivena je nevaljana vrsta datoteke." msgstr "Otkrivena je nevaljana vrsta datoteke."
@ -1618,147 +1618,151 @@ msgstr ""
msgid "paperless application settings" msgid "paperless application settings"
msgstr "" msgstr ""
#: paperless/settings.py:755 #: paperless/settings.py:774
msgid "English (US)" msgid "English (US)"
msgstr "Engleski (US)" msgstr "Engleski (US)"
#: paperless/settings.py:756 #: paperless/settings.py:775
msgid "Arabic" msgid "Arabic"
msgstr "Arapski" msgstr "Arapski"
#: paperless/settings.py:757 #: paperless/settings.py:776
msgid "Afrikaans" msgid "Afrikaans"
msgstr "" msgstr ""
#: paperless/settings.py:758 #: paperless/settings.py:777
msgid "Belarusian" msgid "Belarusian"
msgstr "Bjeloruski" msgstr "Bjeloruski"
#: paperless/settings.py:759 #: paperless/settings.py:778
msgid "Bulgarian" msgid "Bulgarian"
msgstr "" msgstr ""
#: paperless/settings.py:760 #: paperless/settings.py:779
msgid "Catalan" msgid "Catalan"
msgstr "" msgstr ""
#: paperless/settings.py:761 #: paperless/settings.py:780
msgid "Czech" msgid "Czech"
msgstr "Češki" msgstr "Češki"
#: paperless/settings.py:762 #: paperless/settings.py:781
msgid "Danish" msgid "Danish"
msgstr "Danski" msgstr "Danski"
#: paperless/settings.py:763 #: paperless/settings.py:782
msgid "German" msgid "German"
msgstr "Njemački" msgstr "Njemački"
#: paperless/settings.py:764 #: paperless/settings.py:783
msgid "Greek" msgid "Greek"
msgstr "" msgstr ""
#: paperless/settings.py:765 #: paperless/settings.py:784
msgid "English (GB)" msgid "English (GB)"
msgstr "Engleski (GB)" msgstr "Engleski (GB)"
#: paperless/settings.py:766 #: paperless/settings.py:785
msgid "Spanish" msgid "Spanish"
msgstr "Španjolski" msgstr "Španjolski"
#: paperless/settings.py:767 #: paperless/settings.py:786
msgid "Persian" msgid "Persian"
msgstr "" msgstr ""
#: paperless/settings.py:768 #: paperless/settings.py:787
msgid "Finnish" msgid "Finnish"
msgstr "" msgstr ""
#: paperless/settings.py:769 #: paperless/settings.py:788
msgid "French" msgid "French"
msgstr "Francuski" msgstr "Francuski"
#: paperless/settings.py:770 #: paperless/settings.py:789
msgid "Hungarian" msgid "Hungarian"
msgstr "" msgstr ""
#: paperless/settings.py:771 #: paperless/settings.py:790
msgid "Italian" msgid "Italian"
msgstr "Talijanski" msgstr "Talijanski"
#: paperless/settings.py:772 #: paperless/settings.py:791
msgid "Japanese" msgid "Japanese"
msgstr "" msgstr ""
#: paperless/settings.py:773 #: paperless/settings.py:792
msgid "Korean" msgid "Korean"
msgstr "" msgstr ""
#: paperless/settings.py:774 #: paperless/settings.py:793
msgid "Luxembourgish" msgid "Luxembourgish"
msgstr "Luksemburški" msgstr "Luksemburški"
#: paperless/settings.py:775 #: paperless/settings.py:794
msgid "Norwegian" msgid "Norwegian"
msgstr "" msgstr ""
#: paperless/settings.py:776 #: paperless/settings.py:795
msgid "Dutch" msgid "Dutch"
msgstr "Nizozemski" msgstr "Nizozemski"
#: paperless/settings.py:777 #: paperless/settings.py:796
msgid "Polish" msgid "Polish"
msgstr "Poljski" msgstr "Poljski"
#: paperless/settings.py:778 #: paperless/settings.py:797
msgid "Portuguese (Brazil)" msgid "Portuguese (Brazil)"
msgstr "Portugalski (Brazil)" msgstr "Portugalski (Brazil)"
#: paperless/settings.py:779 #: paperless/settings.py:798
msgid "Portuguese" msgid "Portuguese"
msgstr "Portugalski" msgstr "Portugalski"
#: paperless/settings.py:780 #: paperless/settings.py:799
msgid "Romanian" msgid "Romanian"
msgstr "Rumunjski" msgstr "Rumunjski"
#: paperless/settings.py:781 #: paperless/settings.py:800
msgid "Russian" msgid "Russian"
msgstr "Ruski" msgstr "Ruski"
#: paperless/settings.py:782 #: paperless/settings.py:801
msgid "Slovak" msgid "Slovak"
msgstr "" msgstr ""
#: paperless/settings.py:783 #: paperless/settings.py:802
msgid "Slovenian" msgid "Slovenian"
msgstr "Slovenski" msgstr "Slovenski"
#: paperless/settings.py:784 #: paperless/settings.py:803
msgid "Serbian" msgid "Serbian"
msgstr "Srpski" msgstr "Srpski"
#: paperless/settings.py:785 #: paperless/settings.py:804
msgid "Swedish" msgid "Swedish"
msgstr "Švedski" msgstr "Švedski"
#: paperless/settings.py:786 #: paperless/settings.py:805
msgid "Turkish" msgid "Turkish"
msgstr "Turski" msgstr "Turski"
#: paperless/settings.py:787 #: paperless/settings.py:806
msgid "Ukrainian" msgid "Ukrainian"
msgstr "" msgstr ""
#: paperless/settings.py:788 #: paperless/settings.py:807
msgid "Vietnamese"
msgstr ""
#: paperless/settings.py:808
msgid "Chinese Simplified" msgid "Chinese Simplified"
msgstr "Pojednostavljeni kineski" msgstr "Pojednostavljeni kineski"
#: paperless/settings.py:789 #: paperless/settings.py:809
msgid "Chinese Traditional" msgid "Chinese Traditional"
msgstr "" msgstr ""
#: paperless/urls.py:374 #: paperless/urls.py:368
msgid "Paperless-ngx administration" msgid "Paperless-ngx administration"
msgstr "Paperless-ngx administracija" msgstr "Paperless-ngx administracija"

View File

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-19 18:51+0000\n" "POT-Creation-Date: 2025-08-16 14:34+0000\n"
"PO-Revision-Date: 2025-06-19 18:52\n" "PO-Revision-Date: 2025-08-16 14:36\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Hungarian\n" "Language-Team: Hungarian\n"
"Language: hu_HU\n" "Language: hu_HU\n"
@ -1164,21 +1164,21 @@ msgstr "munkafolyamat futtatás"
msgid "workflow runs" msgid "workflow runs"
msgstr "munkafolyamat futtatások" msgstr "munkafolyamat futtatások"
#: documents/serialisers.py:135 #: documents/serialisers.py:139
#, python-format #, python-format
msgid "Invalid regular expression: %(error)s" msgid "Invalid regular expression: %(error)s"
msgstr "Érvénytelen reguláris kifejezés: %(error)s" msgstr "Érvénytelen reguláris kifejezés: %(error)s"
#: documents/serialisers.py:561 #: documents/serialisers.py:565
msgid "Invalid color." msgid "Invalid color."
msgstr "Érvénytelen szín." msgstr "Érvénytelen szín."
#: documents/serialisers.py:1645 #: documents/serialisers.py:1700
#, python-format #, python-format
msgid "File type %(type)s not supported" msgid "File type %(type)s not supported"
msgstr "Fájltípus %(type)s nem támogatott" msgstr "Fájltípus %(type)s nem támogatott"
#: documents/serialisers.py:1739 #: documents/serialisers.py:1794
msgid "Invalid variable detected." msgid "Invalid variable detected."
msgstr "Érvénytelen változót észleltek." msgstr "Érvénytelen változót észleltek."
@ -1410,21 +1410,21 @@ msgstr "Utolsó lépésként kérjük válaszoljon az alábbi kérdésekre:"
#: documents/validators.py:24 #: documents/validators.py:24
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}, missing scheme" msgid "Unable to parse URI {value}, missing scheme"
msgstr "A {value} URI értelmezése sikertelen, hiányzó séma" msgstr ""
#: documents/validators.py:29 #: documents/validators.py:29
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path" msgid "Unable to parse URI {value}, missing net location or path"
msgstr "A {value} URI értelmezése sikertelen, hiányzó hálózati vagy elérési útvonal" msgstr ""
#: documents/validators.py:36 #: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}" msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "A '{parts.scheme}' séma nem engedélyezett. Engedélyezett sémák: {', '.join(allowed_schemes)}" msgstr ""
#: documents/validators.py:45 #: documents/validators.py:45
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}" msgid "Unable to parse URI {value}"
msgstr "A {value} URI értelmezése sikertelen" msgstr ""
#: paperless/apps.py:11 #: paperless/apps.py:11
msgid "Paperless" msgid "Paperless"
@ -1618,147 +1618,151 @@ msgstr "Beállítja a vonalkódok címkékhez rendelését"
msgid "paperless application settings" msgid "paperless application settings"
msgstr "paperless alkalmazás beállítások" msgstr "paperless alkalmazás beállítások"
#: paperless/settings.py:755 #: paperless/settings.py:774
msgid "English (US)" msgid "English (US)"
msgstr "Angol (US)" msgstr "Angol (US)"
#: paperless/settings.py:756 #: paperless/settings.py:775
msgid "Arabic" msgid "Arabic"
msgstr "Arab" msgstr "Arab"
#: paperless/settings.py:757 #: paperless/settings.py:776
msgid "Afrikaans" msgid "Afrikaans"
msgstr "Afrikai" msgstr "Afrikai"
#: paperless/settings.py:758 #: paperless/settings.py:777
msgid "Belarusian" msgid "Belarusian"
msgstr "Fehérorosz" msgstr "Fehérorosz"
#: paperless/settings.py:759 #: paperless/settings.py:778
msgid "Bulgarian" msgid "Bulgarian"
msgstr "Bolgár" msgstr "Bolgár"
#: paperless/settings.py:760 #: paperless/settings.py:779
msgid "Catalan" msgid "Catalan"
msgstr "Katalán" msgstr "Katalán"
#: paperless/settings.py:761 #: paperless/settings.py:780
msgid "Czech" msgid "Czech"
msgstr "Cseh" msgstr "Cseh"
#: paperless/settings.py:762 #: paperless/settings.py:781
msgid "Danish" msgid "Danish"
msgstr "Dán" msgstr "Dán"
#: paperless/settings.py:763 #: paperless/settings.py:782
msgid "German" msgid "German"
msgstr "Német" msgstr "Német"
#: paperless/settings.py:764 #: paperless/settings.py:783
msgid "Greek" msgid "Greek"
msgstr "Görög" msgstr "Görög"
#: paperless/settings.py:765 #: paperless/settings.py:784
msgid "English (GB)" msgid "English (GB)"
msgstr "Angol (GB)" msgstr "Angol (GB)"
#: paperless/settings.py:766 #: paperless/settings.py:785
msgid "Spanish" msgid "Spanish"
msgstr "Spanyol" msgstr "Spanyol"
#: paperless/settings.py:767 #: paperless/settings.py:786
msgid "Persian" msgid "Persian"
msgstr "" msgstr ""
#: paperless/settings.py:768 #: paperless/settings.py:787
msgid "Finnish" msgid "Finnish"
msgstr "Finn" msgstr "Finn"
#: paperless/settings.py:769 #: paperless/settings.py:788
msgid "French" msgid "French"
msgstr "Francia" msgstr "Francia"
#: paperless/settings.py:770 #: paperless/settings.py:789
msgid "Hungarian" msgid "Hungarian"
msgstr "Magyar" msgstr "Magyar"
#: paperless/settings.py:771 #: paperless/settings.py:790
msgid "Italian" msgid "Italian"
msgstr "Olasz" msgstr "Olasz"
#: paperless/settings.py:772 #: paperless/settings.py:791
msgid "Japanese" msgid "Japanese"
msgstr "japán" msgstr "japán"
#: paperless/settings.py:773 #: paperless/settings.py:792
msgid "Korean" msgid "Korean"
msgstr "koreai" msgstr "koreai"
#: paperless/settings.py:774 #: paperless/settings.py:793
msgid "Luxembourgish" msgid "Luxembourgish"
msgstr "Luxemburgi" msgstr "Luxemburgi"
#: paperless/settings.py:775 #: paperless/settings.py:794
msgid "Norwegian" msgid "Norwegian"
msgstr "Norvég" msgstr "Norvég"
#: paperless/settings.py:776 #: paperless/settings.py:795
msgid "Dutch" msgid "Dutch"
msgstr "Holland" msgstr "Holland"
#: paperless/settings.py:777 #: paperless/settings.py:796
msgid "Polish" msgid "Polish"
msgstr "Lengyel" msgstr "Lengyel"
#: paperless/settings.py:778 #: paperless/settings.py:797
msgid "Portuguese (Brazil)" msgid "Portuguese (Brazil)"
msgstr "Portugál (Brazília)" msgstr "Portugál (Brazília)"
#: paperless/settings.py:779 #: paperless/settings.py:798
msgid "Portuguese" msgid "Portuguese"
msgstr "Portugál" msgstr "Portugál"
#: paperless/settings.py:780 #: paperless/settings.py:799
msgid "Romanian" msgid "Romanian"
msgstr "Román" msgstr "Román"
#: paperless/settings.py:781 #: paperless/settings.py:800
msgid "Russian" msgid "Russian"
msgstr "Orosz" msgstr "Orosz"
#: paperless/settings.py:782 #: paperless/settings.py:801
msgid "Slovak" msgid "Slovak"
msgstr "Szlovák" msgstr "Szlovák"
#: paperless/settings.py:783 #: paperless/settings.py:802
msgid "Slovenian" msgid "Slovenian"
msgstr "Szlovén" msgstr "Szlovén"
#: paperless/settings.py:784 #: paperless/settings.py:803
msgid "Serbian" msgid "Serbian"
msgstr "Szerb" msgstr "Szerb"
#: paperless/settings.py:785 #: paperless/settings.py:804
msgid "Swedish" msgid "Swedish"
msgstr "Svéd" msgstr "Svéd"
#: paperless/settings.py:786 #: paperless/settings.py:805
msgid "Turkish" msgid "Turkish"
msgstr "Török" msgstr "Török"
#: paperless/settings.py:787 #: paperless/settings.py:806
msgid "Ukrainian" msgid "Ukrainian"
msgstr "Ukrán" msgstr "Ukrán"
#: paperless/settings.py:788 #: paperless/settings.py:807
msgid "Vietnamese"
msgstr ""
#: paperless/settings.py:808
msgid "Chinese Simplified" msgid "Chinese Simplified"
msgstr "Kínai egyszerűsített" msgstr "Kínai egyszerűsített"
#: paperless/settings.py:789 #: paperless/settings.py:809
msgid "Chinese Traditional" msgid "Chinese Traditional"
msgstr "tradicionális kínai" msgstr "tradicionális kínai"
#: paperless/urls.py:374 #: paperless/urls.py:368
msgid "Paperless-ngx administration" msgid "Paperless-ngx administration"
msgstr "Paperless-ngx adminisztráció" msgstr "Paperless-ngx adminisztráció"

View File

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-19 18:51+0000\n" "POT-Creation-Date: 2025-08-16 14:34+0000\n"
"PO-Revision-Date: 2025-06-19 18:52\n" "PO-Revision-Date: 2025-08-16 14:36\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Indonesian\n" "Language-Team: Indonesian\n"
"Language: id_ID\n" "Language: id_ID\n"
@ -1164,21 +1164,21 @@ msgstr ""
msgid "workflow runs" msgid "workflow runs"
msgstr "" msgstr ""
#: documents/serialisers.py:135 #: documents/serialisers.py:139
#, python-format #, python-format
msgid "Invalid regular expression: %(error)s" msgid "Invalid regular expression: %(error)s"
msgstr "Ekspresi reguler tidak sesuai: %(error)s" msgstr "Ekspresi reguler tidak sesuai: %(error)s"
#: documents/serialisers.py:561 #: documents/serialisers.py:565
msgid "Invalid color." msgid "Invalid color."
msgstr "Warna tidak sesuai." msgstr "Warna tidak sesuai."
#: documents/serialisers.py:1645 #: documents/serialisers.py:1700
#, python-format #, python-format
msgid "File type %(type)s not supported" msgid "File type %(type)s not supported"
msgstr "Jenis berkas %(type)s tidak didukung" msgstr "Jenis berkas %(type)s tidak didukung"
#: documents/serialisers.py:1739 #: documents/serialisers.py:1794
msgid "Invalid variable detected." msgid "Invalid variable detected."
msgstr "Variabel ilegal terdeteksi." msgstr "Variabel ilegal terdeteksi."
@ -1619,147 +1619,151 @@ msgstr ""
msgid "paperless application settings" msgid "paperless application settings"
msgstr "pengaturan aplikasi paperless" msgstr "pengaturan aplikasi paperless"
#: paperless/settings.py:755 #: paperless/settings.py:774
msgid "English (US)" msgid "English (US)"
msgstr "Inggris (AS)" msgstr "Inggris (AS)"
#: paperless/settings.py:756 #: paperless/settings.py:775
msgid "Arabic" msgid "Arabic"
msgstr "Arab" msgstr "Arab"
#: paperless/settings.py:757 #: paperless/settings.py:776
msgid "Afrikaans" msgid "Afrikaans"
msgstr "Bahasa Afrika" msgstr "Bahasa Afrika"
#: paperless/settings.py:758 #: paperless/settings.py:777
msgid "Belarusian" msgid "Belarusian"
msgstr "Belarusia" msgstr "Belarusia"
#: paperless/settings.py:759 #: paperless/settings.py:778
msgid "Bulgarian" msgid "Bulgarian"
msgstr "Bahasa Bulgaria" msgstr "Bahasa Bulgaria"
#: paperless/settings.py:760 #: paperless/settings.py:779
msgid "Catalan" msgid "Catalan"
msgstr "" msgstr ""
#: paperless/settings.py:761 #: paperless/settings.py:780
msgid "Czech" msgid "Czech"
msgstr "Bahasa Ceko" msgstr "Bahasa Ceko"
#: paperless/settings.py:762 #: paperless/settings.py:781
msgid "Danish" msgid "Danish"
msgstr "" msgstr ""
#: paperless/settings.py:763 #: paperless/settings.py:782
msgid "German" msgid "German"
msgstr "Jerman" msgstr "Jerman"
#: paperless/settings.py:764 #: paperless/settings.py:783
msgid "Greek" msgid "Greek"
msgstr "Yunani" msgstr "Yunani"
#: paperless/settings.py:765 #: paperless/settings.py:784
msgid "English (GB)" msgid "English (GB)"
msgstr "Inggris (GB)" msgstr "Inggris (GB)"
#: paperless/settings.py:766 #: paperless/settings.py:785
msgid "Spanish" msgid "Spanish"
msgstr "Spanyol" msgstr "Spanyol"
#: paperless/settings.py:767 #: paperless/settings.py:786
msgid "Persian" msgid "Persian"
msgstr "" msgstr ""
#: paperless/settings.py:768 #: paperless/settings.py:787
msgid "Finnish" msgid "Finnish"
msgstr "" msgstr ""
#: paperless/settings.py:769 #: paperless/settings.py:788
msgid "French" msgid "French"
msgstr "Prancis" msgstr "Prancis"
#: paperless/settings.py:770 #: paperless/settings.py:789
msgid "Hungarian" msgid "Hungarian"
msgstr "Hungaria" msgstr "Hungaria"
#: paperless/settings.py:771 #: paperless/settings.py:790
msgid "Italian" msgid "Italian"
msgstr "Italia" msgstr "Italia"
#: paperless/settings.py:772 #: paperless/settings.py:791
msgid "Japanese" msgid "Japanese"
msgstr "Bahasa Jepang" msgstr "Bahasa Jepang"
#: paperless/settings.py:773 #: paperless/settings.py:792
msgid "Korean" msgid "Korean"
msgstr "Bahasa Korea" msgstr "Bahasa Korea"
#: paperless/settings.py:774 #: paperless/settings.py:793
msgid "Luxembourgish" msgid "Luxembourgish"
msgstr "Luksemburg" msgstr "Luksemburg"
#: paperless/settings.py:775 #: paperless/settings.py:794
msgid "Norwegian" msgid "Norwegian"
msgstr "Norwegia" msgstr "Norwegia"
#: paperless/settings.py:776 #: paperless/settings.py:795
msgid "Dutch" msgid "Dutch"
msgstr "Belanda" msgstr "Belanda"
#: paperless/settings.py:777 #: paperless/settings.py:796
msgid "Polish" msgid "Polish"
msgstr "Polandia" msgstr "Polandia"
#: paperless/settings.py:778 #: paperless/settings.py:797
msgid "Portuguese (Brazil)" msgid "Portuguese (Brazil)"
msgstr "Portugis (Brasil)" msgstr "Portugis (Brasil)"
#: paperless/settings.py:779 #: paperless/settings.py:798
msgid "Portuguese" msgid "Portuguese"
msgstr "Portugis" msgstr "Portugis"
#: paperless/settings.py:780 #: paperless/settings.py:799
msgid "Romanian" msgid "Romanian"
msgstr "Rumania" msgstr "Rumania"
#: paperless/settings.py:781 #: paperless/settings.py:800
msgid "Russian" msgid "Russian"
msgstr "Rusia" msgstr "Rusia"
#: paperless/settings.py:782 #: paperless/settings.py:801
msgid "Slovak" msgid "Slovak"
msgstr "Slovakia" msgstr "Slovakia"
#: paperless/settings.py:783 #: paperless/settings.py:802
msgid "Slovenian" msgid "Slovenian"
msgstr "Slovenia" msgstr "Slovenia"
#: paperless/settings.py:784 #: paperless/settings.py:803
msgid "Serbian" msgid "Serbian"
msgstr "Serbia" msgstr "Serbia"
#: paperless/settings.py:785 #: paperless/settings.py:804
msgid "Swedish" msgid "Swedish"
msgstr "Swedia" msgstr "Swedia"
#: paperless/settings.py:786 #: paperless/settings.py:805
msgid "Turkish" msgid "Turkish"
msgstr "Turki" msgstr "Turki"
#: paperless/settings.py:787 #: paperless/settings.py:806
msgid "Ukrainian" msgid "Ukrainian"
msgstr "Ukraina" msgstr "Ukraina"
#: paperless/settings.py:788 #: paperless/settings.py:807
msgid "Vietnamese"
msgstr ""
#: paperless/settings.py:808
msgid "Chinese Simplified" msgid "Chinese Simplified"
msgstr "Mandarin Sederhana" msgstr "Mandarin Sederhana"
#: paperless/settings.py:789 #: paperless/settings.py:809
msgid "Chinese Traditional" msgid "Chinese Traditional"
msgstr "" msgstr ""
#: paperless/urls.py:374 #: paperless/urls.py:368
msgid "Paperless-ngx administration" msgid "Paperless-ngx administration"
msgstr "Administrasi Paperless-ngx" msgstr "Administrasi Paperless-ngx"

View File

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-19 18:51+0000\n" "POT-Creation-Date: 2025-08-16 14:34+0000\n"
"PO-Revision-Date: 2025-06-19 18:52\n" "PO-Revision-Date: 2025-08-16 14:36\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Italian\n" "Language-Team: Italian\n"
"Language: it_IT\n" "Language: it_IT\n"
@ -510,7 +510,7 @@ msgstr "è condiviso da me"
#: documents/models.py:488 #: documents/models.py:488
msgid "has custom fields" msgid "has custom fields"
msgstr "" msgstr "ha campi personalizzati"
#: documents/models.py:489 #: documents/models.py:489
msgid "has custom field in" msgid "has custom field in"
@ -546,7 +546,7 @@ msgstr "Aggiunto da"
#: documents/models.py:497 #: documents/models.py:497
msgid "mime type is" msgid "mime type is"
msgstr "" msgstr "il tipo mime è"
#: documents/models.py:507 #: documents/models.py:507
msgid "rule type" msgid "rule type"
@ -570,7 +570,7 @@ msgstr "Task Automatica"
#: documents/models.py:538 #: documents/models.py:538
msgid "Scheduled Task" msgid "Scheduled Task"
msgstr "" msgstr "Attività pianificata"
#: documents/models.py:539 #: documents/models.py:539
msgid "Manual Task" msgid "Manual Task"
@ -578,7 +578,7 @@ msgstr "Attività manuale"
#: documents/models.py:542 #: documents/models.py:542
msgid "Consume File" msgid "Consume File"
msgstr "" msgstr "Elabora File"
#: documents/models.py:543 #: documents/models.py:543
msgid "Train Classifier" msgid "Train Classifier"
@ -586,11 +586,11 @@ msgstr ""
#: documents/models.py:544 #: documents/models.py:544
msgid "Check Sanity" msgid "Check Sanity"
msgstr "" msgstr "Verifica integrità"
#: documents/models.py:545 #: documents/models.py:545
msgid "Index Optimize" msgid "Index Optimize"
msgstr "" msgstr "Ottimizza Indice"
#: documents/models.py:550 #: documents/models.py:550
msgid "Task ID" msgid "Task ID"
@ -622,7 +622,7 @@ msgstr "Nome attività"
#: documents/models.py:572 #: documents/models.py:572
msgid "Name of the task that was run" msgid "Name of the task that was run"
msgstr "" msgstr "Nome dell'attività che è stata eseguita"
#: documents/models.py:579 #: documents/models.py:579
msgid "Task State" msgid "Task State"
@ -670,7 +670,7 @@ msgstr "Tipo di Task"
#: documents/models.py:618 #: documents/models.py:618
msgid "The type of task that was run" msgid "The type of task that was run"
msgstr "" msgstr "Il tipo di attività che è stata eseguita"
#: documents/models.py:629 #: documents/models.py:629
msgid "Note for the document" msgid "Note for the document"
@ -790,7 +790,7 @@ msgstr "Documento aggiornato"
#: documents/models.py:935 #: documents/models.py:935
msgid "Scheduled" msgid "Scheduled"
msgstr "" msgstr "Pianificato"
#: documents/models.py:938 #: documents/models.py:938
msgid "Consume Folder" msgid "Consume Folder"
@ -846,7 +846,7 @@ msgstr "ha questi tag(s)"
#: documents/models.py:1014 #: documents/models.py:1014
msgid "has this document type" msgid "has this document type"
msgstr "" msgstr "ha questo tipo di documento"
#: documents/models.py:1022 #: documents/models.py:1022
msgid "has this correspondent" msgid "has this correspondent"
@ -862,7 +862,7 @@ msgstr "."
#: documents/models.py:1034 #: documents/models.py:1034
msgid "schedule is recurring" msgid "schedule is recurring"
msgstr "" msgstr "la pianificazione è ricorrente"
#: documents/models.py:1037 #: documents/models.py:1037
msgid "If the schedule should be recurring." msgid "If the schedule should be recurring."
@ -870,15 +870,15 @@ msgstr ""
#: documents/models.py:1042 #: documents/models.py:1042
msgid "schedule recurring delay in days" msgid "schedule recurring delay in days"
msgstr "" msgstr "pianificare un ritardo ricorrente in giorni"
#: documents/models.py:1046 #: documents/models.py:1046
msgid "The number of days between recurring schedule triggers." msgid "The number of days between recurring schedule triggers."
msgstr "" msgstr "Numero di giorni tra i trigger della pianificazione ricorrente."
#: documents/models.py:1051 #: documents/models.py:1051
msgid "schedule date field" msgid "schedule date field"
msgstr "" msgstr "campo data di pianificazione"
#: documents/models.py:1056 #: documents/models.py:1056
msgid "The field to check for a schedule trigger." msgid "The field to check for a schedule trigger."
@ -902,7 +902,7 @@ msgstr "Oggetto email"
#: documents/models.py:1082 #: documents/models.py:1082
msgid "The subject of the email, can include some placeholders, see documentation." msgid "The subject of the email, can include some placeholders, see documentation."
msgstr "" msgstr "L'oggetto dell'email, può includere alcuni segnaposto, vedi documentazione."
#: documents/models.py:1088 #: documents/models.py:1088
msgid "email body" msgid "email body"
@ -1038,11 +1038,11 @@ msgstr "assegna questi campi personalizzati"
#: documents/models.py:1278 #: documents/models.py:1278
msgid "custom field values" msgid "custom field values"
msgstr "" msgstr "valori del campo personalizzato"
#: documents/models.py:1282 #: documents/models.py:1282
msgid "Optional values to assign to the custom fields." msgid "Optional values to assign to the custom fields."
msgstr "" msgstr "Valori opzionali da assegnare ai campi personalizzati."
#: documents/models.py:1291 #: documents/models.py:1291
msgid "remove these tag(s)" msgid "remove these tag(s)"
@ -1146,7 +1146,7 @@ msgstr "abilitato"
#: documents/models.py:1448 #: documents/models.py:1448
msgid "workflow" msgid "workflow"
msgstr "" msgstr "flusso di lavoro"
#: documents/models.py:1452 #: documents/models.py:1452
msgid "workflow trigger type" msgid "workflow trigger type"
@ -1154,7 +1154,7 @@ msgstr ""
#: documents/models.py:1466 #: documents/models.py:1466
msgid "date run" msgid "date run"
msgstr "" msgstr "data esecuzione"
#: documents/models.py:1472 #: documents/models.py:1472
msgid "workflow run" msgid "workflow run"
@ -1164,39 +1164,39 @@ msgstr ""
msgid "workflow runs" msgid "workflow runs"
msgstr "" msgstr ""
#: documents/serialisers.py:135 #: documents/serialisers.py:139
#, python-format #, python-format
msgid "Invalid regular expression: %(error)s" msgid "Invalid regular expression: %(error)s"
msgstr "Espressione regolare non valida: %(error)s" msgstr "Espressione regolare non valida: %(error)s"
#: documents/serialisers.py:561 #: documents/serialisers.py:565
msgid "Invalid color." msgid "Invalid color."
msgstr "Colore non valido." msgstr "Colore non valido."
#: documents/serialisers.py:1645 #: documents/serialisers.py:1700
#, python-format #, python-format
msgid "File type %(type)s not supported" msgid "File type %(type)s not supported"
msgstr "Il tipo di file %(type)s non è supportato" msgstr "Il tipo di file %(type)s non è supportato"
#: documents/serialisers.py:1739 #: documents/serialisers.py:1794
msgid "Invalid variable detected." msgid "Invalid variable detected."
msgstr "Variabile non valida rilevata." msgstr "Variabile non valida rilevata."
#: documents/templates/account/account_inactive.html:5 #: documents/templates/account/account_inactive.html:5
msgid "Paperless-ngx account inactive" msgid "Paperless-ngx account inactive"
msgstr "" msgstr "Account Paperless-ngx inattivo"
#: documents/templates/account/account_inactive.html:9 #: documents/templates/account/account_inactive.html:9
msgid "Account inactive." msgid "Account inactive."
msgstr "" msgstr "Account inattivo."
#: documents/templates/account/account_inactive.html:14 #: documents/templates/account/account_inactive.html:14
msgid "This account is inactive." msgid "This account is inactive."
msgstr "" msgstr "Questo account non è attivo."
#: documents/templates/account/account_inactive.html:16 #: documents/templates/account/account_inactive.html:16
msgid "Return to login" msgid "Return to login"
msgstr "" msgstr "Torna allaccesso"
#: documents/templates/account/email/base_message.txt:1 #: documents/templates/account/email/base_message.txt:1
#, python-format #, python-format
@ -1324,7 +1324,7 @@ msgstr "Hai già un account? <a href=\"%(login_url)s\">Accedi</a>"
#: documents/templates/account/signup.html:19 #: documents/templates/account/signup.html:19
msgid "Note: This is the first user account for this installation and will be granted superuser privileges." msgid "Note: This is the first user account for this installation and will be granted superuser privileges."
msgstr "" msgstr "Nota: Questo è il primo account utente per questa installazione e riceverà i privilegi di superutente."
#: documents/templates/account/signup.html:23 #: documents/templates/account/signup.html:23
#: documents/templates/socialaccount/signup.html:14 #: documents/templates/socialaccount/signup.html:14
@ -1411,12 +1411,12 @@ msgstr "Come ultimo passo, compila il seguente modulo:"
#: documents/validators.py:24 #: documents/validators.py:24
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}, missing scheme" msgid "Unable to parse URI {value}, missing scheme"
msgstr "" msgstr "Impossibile analizzare l'URI {value}, schema mancante"
#: documents/validators.py:29 #: documents/validators.py:29
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path" msgid "Unable to parse URI {value}, missing net location or path"
msgstr "" msgstr "Impossibile analizzare l'URI {value}, la posizione di rete o il percorso mancante"
#: documents/validators.py:36 #: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}" msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
@ -1425,7 +1425,7 @@ msgstr ""
#: documents/validators.py:45 #: documents/validators.py:45
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}" msgid "Unable to parse URI {value}"
msgstr "" msgstr "Impossibile analizzare l'URI {value}"
#: paperless/apps.py:11 #: paperless/apps.py:11
msgid "Paperless" msgid "Paperless"
@ -1493,7 +1493,7 @@ msgstr "nessuno"
#: paperless/models.py:70 #: paperless/models.py:70
msgid "LeaveColorUnchanged" msgid "LeaveColorUnchanged"
msgstr "" msgstr "Lascia il colore invariato"
#: paperless/models.py:71 #: paperless/models.py:71
msgid "RGB" msgid "RGB"
@ -1501,7 +1501,7 @@ msgstr "RGB"
#: paperless/models.py:72 #: paperless/models.py:72
msgid "UseDeviceIndependentColor" msgid "UseDeviceIndependentColor"
msgstr "" msgstr "Usa il colore indipendente dal dispositivo"
#: paperless/models.py:73 #: paperless/models.py:73
msgid "Gray" msgid "Gray"
@ -1585,15 +1585,15 @@ msgstr ""
#: paperless/models.py:217 #: paperless/models.py:217
msgid "Retains split pages" msgid "Retains split pages"
msgstr "" msgstr "Conserva le pagine divise"
#: paperless/models.py:223 #: paperless/models.py:223
msgid "Enables ASN barcode" msgid "Enables ASN barcode"
msgstr "" msgstr "Abilita codice a barre ASN"
#: paperless/models.py:229 #: paperless/models.py:229
msgid "Sets the ASN barcode prefix" msgid "Sets the ASN barcode prefix"
msgstr "" msgstr "Imposta il prefisso del codice a barre ASN"
#: paperless/models.py:237 #: paperless/models.py:237
msgid "Sets the barcode upscale factor" msgid "Sets the barcode upscale factor"
@ -1605,11 +1605,11 @@ msgstr ""
#: paperless/models.py:251 #: paperless/models.py:251
msgid "Sets the maximum pages for barcode" msgid "Sets the maximum pages for barcode"
msgstr "" msgstr "Imposta le pagine massime per il codice a barre"
#: paperless/models.py:258 #: paperless/models.py:258
msgid "Enables tag barcode" msgid "Enables tag barcode"
msgstr "" msgstr "Abilita tag del codice a barre"
#: paperless/models.py:264 #: paperless/models.py:264
msgid "Sets the tag barcode mapping" msgid "Sets the tag barcode mapping"
@ -1619,147 +1619,151 @@ msgstr ""
msgid "paperless application settings" msgid "paperless application settings"
msgstr "impostazioni dell'applicazione paperless" msgstr "impostazioni dell'applicazione paperless"
#: paperless/settings.py:755 #: paperless/settings.py:774
msgid "English (US)" msgid "English (US)"
msgstr "Inglese (US)" msgstr "Inglese (US)"
#: paperless/settings.py:756 #: paperless/settings.py:775
msgid "Arabic" msgid "Arabic"
msgstr "Arabo" msgstr "Arabo"
#: paperless/settings.py:757 #: paperless/settings.py:776
msgid "Afrikaans" msgid "Afrikaans"
msgstr "Africano" msgstr "Africano"
#: paperless/settings.py:758 #: paperless/settings.py:777
msgid "Belarusian" msgid "Belarusian"
msgstr "Bielorusso" msgstr "Bielorusso"
#: paperless/settings.py:759 #: paperless/settings.py:778
msgid "Bulgarian" msgid "Bulgarian"
msgstr "Bulgaro" msgstr "Bulgaro"
#: paperless/settings.py:760 #: paperless/settings.py:779
msgid "Catalan" msgid "Catalan"
msgstr "Catalano" msgstr "Catalano"
#: paperless/settings.py:761 #: paperless/settings.py:780
msgid "Czech" msgid "Czech"
msgstr "Ceco" msgstr "Ceco"
#: paperless/settings.py:762 #: paperless/settings.py:781
msgid "Danish" msgid "Danish"
msgstr "Danese" msgstr "Danese"
#: paperless/settings.py:763 #: paperless/settings.py:782
msgid "German" msgid "German"
msgstr "Tedesco" msgstr "Tedesco"
#: paperless/settings.py:764 #: paperless/settings.py:783
msgid "Greek" msgid "Greek"
msgstr "Greco" msgstr "Greco"
#: paperless/settings.py:765 #: paperless/settings.py:784
msgid "English (GB)" msgid "English (GB)"
msgstr "Inglese (GB)" msgstr "Inglese (GB)"
#: paperless/settings.py:766 #: paperless/settings.py:785
msgid "Spanish" msgid "Spanish"
msgstr "Spagnolo" msgstr "Spagnolo"
#: paperless/settings.py:767 #: paperless/settings.py:786
msgid "Persian" msgid "Persian"
msgstr "" msgstr "Persiano"
#: paperless/settings.py:768 #: paperless/settings.py:787
msgid "Finnish" msgid "Finnish"
msgstr "Finlandese" msgstr "Finlandese"
#: paperless/settings.py:769 #: paperless/settings.py:788
msgid "French" msgid "French"
msgstr "Francese" msgstr "Francese"
#: paperless/settings.py:770 #: paperless/settings.py:789
msgid "Hungarian" msgid "Hungarian"
msgstr "Ungherese" msgstr "Ungherese"
#: paperless/settings.py:771 #: paperless/settings.py:790
msgid "Italian" msgid "Italian"
msgstr "Italiano" msgstr "Italiano"
#: paperless/settings.py:772 #: paperless/settings.py:791
msgid "Japanese" msgid "Japanese"
msgstr "Giapponese" msgstr "Giapponese"
#: paperless/settings.py:773 #: paperless/settings.py:792
msgid "Korean" msgid "Korean"
msgstr "Coreano" msgstr "Coreano"
#: paperless/settings.py:774 #: paperless/settings.py:793
msgid "Luxembourgish" msgid "Luxembourgish"
msgstr "Lussemburghese" msgstr "Lussemburghese"
#: paperless/settings.py:775 #: paperless/settings.py:794
msgid "Norwegian" msgid "Norwegian"
msgstr "Norvegese" msgstr "Norvegese"
#: paperless/settings.py:776 #: paperless/settings.py:795
msgid "Dutch" msgid "Dutch"
msgstr "Olandese" msgstr "Olandese"
#: paperless/settings.py:777 #: paperless/settings.py:796
msgid "Polish" msgid "Polish"
msgstr "Polacco" msgstr "Polacco"
#: paperless/settings.py:778 #: paperless/settings.py:797
msgid "Portuguese (Brazil)" msgid "Portuguese (Brazil)"
msgstr "Portoghese (Brasile)" msgstr "Portoghese (Brasile)"
#: paperless/settings.py:779 #: paperless/settings.py:798
msgid "Portuguese" msgid "Portuguese"
msgstr "Portoghese" msgstr "Portoghese"
#: paperless/settings.py:780 #: paperless/settings.py:799
msgid "Romanian" msgid "Romanian"
msgstr "Rumeno" msgstr "Rumeno"
#: paperless/settings.py:781 #: paperless/settings.py:800
msgid "Russian" msgid "Russian"
msgstr "Russo" msgstr "Russo"
#: paperless/settings.py:782 #: paperless/settings.py:801
msgid "Slovak" msgid "Slovak"
msgstr "Slovacco" msgstr "Slovacco"
#: paperless/settings.py:783 #: paperless/settings.py:802
msgid "Slovenian" msgid "Slovenian"
msgstr "Sloveno" msgstr "Sloveno"
#: paperless/settings.py:784 #: paperless/settings.py:803
msgid "Serbian" msgid "Serbian"
msgstr "Serbo" msgstr "Serbo"
#: paperless/settings.py:785 #: paperless/settings.py:804
msgid "Swedish" msgid "Swedish"
msgstr "Svedese" msgstr "Svedese"
#: paperless/settings.py:786 #: paperless/settings.py:805
msgid "Turkish" msgid "Turkish"
msgstr "Turco" msgstr "Turco"
#: paperless/settings.py:787 #: paperless/settings.py:806
msgid "Ukrainian" msgid "Ukrainian"
msgstr "Ucraino" msgstr "Ucraino"
#: paperless/settings.py:788 #: paperless/settings.py:807
msgid "Vietnamese"
msgstr "Vietnamita"
#: paperless/settings.py:808
msgid "Chinese Simplified" msgid "Chinese Simplified"
msgstr "Cinese semplificato" msgstr "Cinese semplificato"
#: paperless/settings.py:789 #: paperless/settings.py:809
msgid "Chinese Traditional" msgid "Chinese Traditional"
msgstr "" msgstr "Cinese Tradizionale"
#: paperless/urls.py:374 #: paperless/urls.py:368
msgid "Paperless-ngx administration" msgid "Paperless-ngx administration"
msgstr "Amministrazione di Paperless-ngx" msgstr "Amministrazione di Paperless-ngx"
@ -1825,11 +1829,11 @@ msgstr "IMAP"
#: paperless_mail/models.py:20 #: paperless_mail/models.py:20
msgid "Gmail OAuth" msgid "Gmail OAuth"
msgstr "" msgstr "Gmail OAuth"
#: paperless_mail/models.py:21 #: paperless_mail/models.py:21
msgid "Outlook OAuth" msgid "Outlook OAuth"
msgstr "" msgstr "Outlook OAuth"
#: paperless_mail/models.py:25 #: paperless_mail/models.py:25
msgid "IMAP server" msgid "IMAP server"
@ -1877,7 +1881,7 @@ msgstr "Aggiorna token"
#: paperless_mail/models.py:70 #: paperless_mail/models.py:70
msgid "The refresh token to use for token authentication e.g. with oauth2." msgid "The refresh token to use for token authentication e.g. with oauth2."
msgstr "" msgstr "Il token di aggiornamento da utilizzare per l'autenticazione del token, ad esempio con oauth2."
#: paperless_mail/models.py:79 #: paperless_mail/models.py:79
msgid "The expiration date of the refresh token. " msgid "The expiration date of the refresh token. "
@ -1909,23 +1913,23 @@ msgstr "Elabora tutti i file, inclusi gli allegati nel corpo."
#: paperless_mail/models.py:119 #: paperless_mail/models.py:119
msgid "System default" msgid "System default"
msgstr "" msgstr "Predefinito di sistema"
#: paperless_mail/models.py:120 #: paperless_mail/models.py:120
msgid "Text, then HTML" msgid "Text, then HTML"
msgstr "" msgstr "Testo, poi HTML"
#: paperless_mail/models.py:121 #: paperless_mail/models.py:121
msgid "HTML, then text" msgid "HTML, then text"
msgstr "" msgstr "HTML, poi testo"
#: paperless_mail/models.py:122 #: paperless_mail/models.py:122
msgid "HTML only" msgid "HTML only"
msgstr "" msgstr "Solo HTML"
#: paperless_mail/models.py:123 #: paperless_mail/models.py:123
msgid "Text only" msgid "Text only"
msgstr "" msgstr "Solo testo"
#: paperless_mail/models.py:126 #: paperless_mail/models.py:126
msgid "Delete" msgid "Delete"
@ -2037,7 +2041,7 @@ msgstr "ambito di applicazione"
#: paperless_mail/models.py:241 #: paperless_mail/models.py:241
msgid "pdf layout" msgid "pdf layout"
msgstr "" msgstr "layout PDF"
#: paperless_mail/models.py:247 #: paperless_mail/models.py:247
msgid "action" msgid "action"

View File

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-19 18:51+0000\n" "POT-Creation-Date: 2025-08-16 14:34+0000\n"
"PO-Revision-Date: 2025-06-19 18:52\n" "PO-Revision-Date: 2025-08-16 14:36\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Japanese\n" "Language-Team: Japanese\n"
"Language: ja_JP\n" "Language: ja_JP\n"
@ -1164,21 +1164,21 @@ msgstr "ワークフローの実行"
msgid "workflow runs" msgid "workflow runs"
msgstr "ワークフローの実行" msgstr "ワークフローの実行"
#: documents/serialisers.py:135 #: documents/serialisers.py:139
#, python-format #, python-format
msgid "Invalid regular expression: %(error)s" msgid "Invalid regular expression: %(error)s"
msgstr "不正な正規表現: %(error)s" msgstr "不正な正規表現: %(error)s"
#: documents/serialisers.py:561 #: documents/serialisers.py:565
msgid "Invalid color." msgid "Invalid color."
msgstr "無効な色" msgstr "無効な色"
#: documents/serialisers.py:1645 #: documents/serialisers.py:1700
#, python-format #, python-format
msgid "File type %(type)s not supported" msgid "File type %(type)s not supported"
msgstr "ファイルタイプ %(type)s はサポートされていません" msgstr "ファイルタイプ %(type)s はサポートされていません"
#: documents/serialisers.py:1739 #: documents/serialisers.py:1794
msgid "Invalid variable detected." msgid "Invalid variable detected."
msgstr "無効な変数を検出しました" msgstr "無効な変数を検出しました"
@ -1619,147 +1619,151 @@ msgstr ""
msgid "paperless application settings" msgid "paperless application settings"
msgstr "Paperless アプリケーションの設定" msgstr "Paperless アプリケーションの設定"
#: paperless/settings.py:755 #: paperless/settings.py:774
msgid "English (US)" msgid "English (US)"
msgstr "英語 (米国)" msgstr "英語 (米国)"
#: paperless/settings.py:756 #: paperless/settings.py:775
msgid "Arabic" msgid "Arabic"
msgstr "アラビア語" msgstr "アラビア語"
#: paperless/settings.py:757 #: paperless/settings.py:776
msgid "Afrikaans" msgid "Afrikaans"
msgstr "アフリカーンス語" msgstr "アフリカーンス語"
#: paperless/settings.py:758 #: paperless/settings.py:777
msgid "Belarusian" msgid "Belarusian"
msgstr "ベラルーシ語" msgstr "ベラルーシ語"
#: paperless/settings.py:759 #: paperless/settings.py:778
msgid "Bulgarian" msgid "Bulgarian"
msgstr "ブルガリア語" msgstr "ブルガリア語"
#: paperless/settings.py:760 #: paperless/settings.py:779
msgid "Catalan" msgid "Catalan"
msgstr "カタロニア語" msgstr "カタロニア語"
#: paperless/settings.py:761 #: paperless/settings.py:780
msgid "Czech" msgid "Czech"
msgstr "チェコ語" msgstr "チェコ語"
#: paperless/settings.py:762 #: paperless/settings.py:781
msgid "Danish" msgid "Danish"
msgstr "デンマーク語" msgstr "デンマーク語"
#: paperless/settings.py:763 #: paperless/settings.py:782
msgid "German" msgid "German"
msgstr "ドイツ語" msgstr "ドイツ語"
#: paperless/settings.py:764 #: paperless/settings.py:783
msgid "Greek" msgid "Greek"
msgstr "ギリシャ語" msgstr "ギリシャ語"
#: paperless/settings.py:765 #: paperless/settings.py:784
msgid "English (GB)" msgid "English (GB)"
msgstr "英語 (英国)" msgstr "英語 (英国)"
#: paperless/settings.py:766 #: paperless/settings.py:785
msgid "Spanish" msgid "Spanish"
msgstr "スペイン語" msgstr "スペイン語"
#: paperless/settings.py:767 #: paperless/settings.py:786
msgid "Persian" msgid "Persian"
msgstr "" msgstr ""
#: paperless/settings.py:768 #: paperless/settings.py:787
msgid "Finnish" msgid "Finnish"
msgstr "フィンランド語" msgstr "フィンランド語"
#: paperless/settings.py:769 #: paperless/settings.py:788
msgid "French" msgid "French"
msgstr "フランス語" msgstr "フランス語"
#: paperless/settings.py:770 #: paperless/settings.py:789
msgid "Hungarian" msgid "Hungarian"
msgstr "ハンガリー語" msgstr "ハンガリー語"
#: paperless/settings.py:771 #: paperless/settings.py:790
msgid "Italian" msgid "Italian"
msgstr "イタリア語" msgstr "イタリア語"
#: paperless/settings.py:772 #: paperless/settings.py:791
msgid "Japanese" msgid "Japanese"
msgstr "日本語" msgstr "日本語"
#: paperless/settings.py:773 #: paperless/settings.py:792
msgid "Korean" msgid "Korean"
msgstr "韓国語" msgstr "韓国語"
#: paperless/settings.py:774 #: paperless/settings.py:793
msgid "Luxembourgish" msgid "Luxembourgish"
msgstr "ルクセンブルク語" msgstr "ルクセンブルク語"
#: paperless/settings.py:775 #: paperless/settings.py:794
msgid "Norwegian" msgid "Norwegian"
msgstr "ノルウェー語" msgstr "ノルウェー語"
#: paperless/settings.py:776 #: paperless/settings.py:795
msgid "Dutch" msgid "Dutch"
msgstr "オランダ語" msgstr "オランダ語"
#: paperless/settings.py:777 #: paperless/settings.py:796
msgid "Polish" msgid "Polish"
msgstr "ポーランド語" msgstr "ポーランド語"
#: paperless/settings.py:778 #: paperless/settings.py:797
msgid "Portuguese (Brazil)" msgid "Portuguese (Brazil)"
msgstr "ポルトガル語 (ブラジル)" msgstr "ポルトガル語 (ブラジル)"
#: paperless/settings.py:779 #: paperless/settings.py:798
msgid "Portuguese" msgid "Portuguese"
msgstr "ポルトガル語" msgstr "ポルトガル語"
#: paperless/settings.py:780 #: paperless/settings.py:799
msgid "Romanian" msgid "Romanian"
msgstr "ルーマニア語" msgstr "ルーマニア語"
#: paperless/settings.py:781 #: paperless/settings.py:800
msgid "Russian" msgid "Russian"
msgstr "ロシア語" msgstr "ロシア語"
#: paperless/settings.py:782 #: paperless/settings.py:801
msgid "Slovak" msgid "Slovak"
msgstr "スロバキア語" msgstr "スロバキア語"
#: paperless/settings.py:783 #: paperless/settings.py:802
msgid "Slovenian" msgid "Slovenian"
msgstr "スロベニア語" msgstr "スロベニア語"
#: paperless/settings.py:784 #: paperless/settings.py:803
msgid "Serbian" msgid "Serbian"
msgstr "セルビア語" msgstr "セルビア語"
#: paperless/settings.py:785 #: paperless/settings.py:804
msgid "Swedish" msgid "Swedish"
msgstr "スウェーデン語" msgstr "スウェーデン語"
#: paperless/settings.py:786 #: paperless/settings.py:805
msgid "Turkish" msgid "Turkish"
msgstr "トルコ語" msgstr "トルコ語"
#: paperless/settings.py:787 #: paperless/settings.py:806
msgid "Ukrainian" msgid "Ukrainian"
msgstr "ウクライナ語" msgstr "ウクライナ語"
#: paperless/settings.py:788 #: paperless/settings.py:807
msgid "Vietnamese"
msgstr ""
#: paperless/settings.py:808
msgid "Chinese Simplified" msgid "Chinese Simplified"
msgstr "中国語 (簡体字)" msgstr "中国語 (簡体字)"
#: paperless/settings.py:789 #: paperless/settings.py:809
msgid "Chinese Traditional" msgid "Chinese Traditional"
msgstr "中国語 (繁体)" msgstr "中国語 (繁体)"
#: paperless/urls.py:374 #: paperless/urls.py:368
msgid "Paperless-ngx administration" msgid "Paperless-ngx administration"
msgstr "Paperless-ngx の管理" msgstr "Paperless-ngx の管理"

View File

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-19 18:51+0000\n" "POT-Creation-Date: 2025-08-16 14:34+0000\n"
"PO-Revision-Date: 2025-06-19 18:52\n" "PO-Revision-Date: 2025-08-16 14:36\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Korean\n" "Language-Team: Korean\n"
"Language: ko_KR\n" "Language: ko_KR\n"
@ -1164,21 +1164,21 @@ msgstr "워크플로 실행"
msgid "workflow runs" msgid "workflow runs"
msgstr "워크플로우 실행" msgstr "워크플로우 실행"
#: documents/serialisers.py:135 #: documents/serialisers.py:139
#, python-format #, python-format
msgid "Invalid regular expression: %(error)s" msgid "Invalid regular expression: %(error)s"
msgstr "잘못된 정규식: %(error)s" msgstr "잘못된 정규식: %(error)s"
#: documents/serialisers.py:561 #: documents/serialisers.py:565
msgid "Invalid color." msgid "Invalid color."
msgstr "" msgstr ""
#: documents/serialisers.py:1645 #: documents/serialisers.py:1700
#, python-format #, python-format
msgid "File type %(type)s not supported" msgid "File type %(type)s not supported"
msgstr "" msgstr ""
#: documents/serialisers.py:1739 #: documents/serialisers.py:1794
msgid "Invalid variable detected." msgid "Invalid variable detected."
msgstr "잘못된 변수가 감지되었습니다." msgstr "잘못된 변수가 감지되었습니다."
@ -1411,21 +1411,21 @@ msgstr "마지막 단계로 다음 양식을 작성해 주세요:"
#: documents/validators.py:24 #: documents/validators.py:24
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}, missing scheme" msgid "Unable to parse URI {value}, missing scheme"
msgstr "URI {value}를 분석할 수 없습니다. 스킴이 누락되었습니다." msgstr ""
#: documents/validators.py:29 #: documents/validators.py:29
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path" msgid "Unable to parse URI {value}, missing net location or path"
msgstr "URI {value}를 분석할 수 없습니다. 네트워크 위치 또는 경로가 누락되었습니다." msgstr ""
#: documents/validators.py:36 #: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}" msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "URI 스킴 '{parts.scheme}'는 허용되지 않습니다. 허용된 스킴: {', '.join(allowed_schemes)}" msgstr ""
#: documents/validators.py:45 #: documents/validators.py:45
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}" msgid "Unable to parse URI {value}"
msgstr "URI {value}를 분석할 수 없습니다." msgstr ""
#: paperless/apps.py:11 #: paperless/apps.py:11
msgid "Paperless" msgid "Paperless"
@ -1573,193 +1573,197 @@ msgstr "애플리케이션 로고"
#: paperless/models.py:197 #: paperless/models.py:197
msgid "Enables barcode scanning" msgid "Enables barcode scanning"
msgstr "" msgstr "바코드 스캔 사용"
#: paperless/models.py:203 #: paperless/models.py:203
msgid "Enables barcode TIFF support" msgid "Enables barcode TIFF support"
msgstr "" msgstr "바코드 TIFF 지원 활성화"
#: paperless/models.py:209 #: paperless/models.py:209
msgid "Sets the barcode string" msgid "Sets the barcode string"
msgstr "" msgstr "바코드 문자열을 설정합니다."
#: paperless/models.py:217 #: paperless/models.py:217
msgid "Retains split pages" msgid "Retains split pages"
msgstr "" msgstr "분할 페이지 유지"
#: paperless/models.py:223 #: paperless/models.py:223
msgid "Enables ASN barcode" msgid "Enables ASN barcode"
msgstr "" msgstr "ASN 바코드 사용"
#: paperless/models.py:229 #: paperless/models.py:229
msgid "Sets the ASN barcode prefix" msgid "Sets the ASN barcode prefix"
msgstr "" msgstr "ASN 바코드 접두사를 설정합니다."
#: paperless/models.py:237 #: paperless/models.py:237
msgid "Sets the barcode upscale factor" msgid "Sets the barcode upscale factor"
msgstr "" msgstr "바코드 업스케일 계수 설정"
#: paperless/models.py:244 #: paperless/models.py:244
msgid "Sets the barcode DPI" msgid "Sets the barcode DPI"
msgstr "" msgstr "바코드 DPI 설정"
#: paperless/models.py:251 #: paperless/models.py:251
msgid "Sets the maximum pages for barcode" msgid "Sets the maximum pages for barcode"
msgstr "" msgstr "바코드 최대 페이지 설정"
#: paperless/models.py:258 #: paperless/models.py:258
msgid "Enables tag barcode" msgid "Enables tag barcode"
msgstr "" msgstr "태그 바코드 사용"
#: paperless/models.py:264 #: paperless/models.py:264
msgid "Sets the tag barcode mapping" msgid "Sets the tag barcode mapping"
msgstr "" msgstr "태그 바코드 매핑 설정"
#: paperless/models.py:269 #: paperless/models.py:269
msgid "paperless application settings" msgid "paperless application settings"
msgstr "페이퍼리스 애플리케이션 설정" msgstr "페이퍼리스 애플리케이션 설정"
#: paperless/settings.py:755 #: paperless/settings.py:774
msgid "English (US)" msgid "English (US)"
msgstr "영어 (미국)" msgstr "영어 (미국)"
#: paperless/settings.py:756 #: paperless/settings.py:775
msgid "Arabic" msgid "Arabic"
msgstr "아랍어" msgstr "아랍어"
#: paperless/settings.py:757 #: paperless/settings.py:776
msgid "Afrikaans" msgid "Afrikaans"
msgstr "아프리칸스어" msgstr "아프리칸스어"
#: paperless/settings.py:758 #: paperless/settings.py:777
msgid "Belarusian" msgid "Belarusian"
msgstr "벨라루스어" msgstr "벨라루스어"
#: paperless/settings.py:759 #: paperless/settings.py:778
msgid "Bulgarian" msgid "Bulgarian"
msgstr "불가리어" msgstr "불가리어"
#: paperless/settings.py:760 #: paperless/settings.py:779
msgid "Catalan" msgid "Catalan"
msgstr "카탈로니아어" msgstr "카탈로니아어"
#: paperless/settings.py:761 #: paperless/settings.py:780
msgid "Czech" msgid "Czech"
msgstr "체코어" msgstr "체코어"
#: paperless/settings.py:762 #: paperless/settings.py:781
msgid "Danish" msgid "Danish"
msgstr "덴마크어" msgstr "덴마크어"
#: paperless/settings.py:763 #: paperless/settings.py:782
msgid "German" msgid "German"
msgstr "독일어" msgstr "독일어"
#: paperless/settings.py:764 #: paperless/settings.py:783
msgid "Greek" msgid "Greek"
msgstr "그리스어" msgstr "그리스어"
#: paperless/settings.py:765 #: paperless/settings.py:784
msgid "English (GB)" msgid "English (GB)"
msgstr "영어 (영국)" msgstr "영어 (영국)"
#: paperless/settings.py:766 #: paperless/settings.py:785
msgid "Spanish" msgid "Spanish"
msgstr "스페인어" msgstr "스페인어"
#: paperless/settings.py:767 #: paperless/settings.py:786
msgid "Persian" msgid "Persian"
msgstr "" msgstr "페르시아어"
#: paperless/settings.py:768 #: paperless/settings.py:787
msgid "Finnish" msgid "Finnish"
msgstr "핀란드어" msgstr "핀란드어"
#: paperless/settings.py:769 #: paperless/settings.py:788
msgid "French" msgid "French"
msgstr "프랑스어" msgstr "프랑스어"
#: paperless/settings.py:770 #: paperless/settings.py:789
msgid "Hungarian" msgid "Hungarian"
msgstr "헝가리어" msgstr "헝가리어"
#: paperless/settings.py:771 #: paperless/settings.py:790
msgid "Italian" msgid "Italian"
msgstr "이탈리아어" msgstr "이탈리아어"
#: paperless/settings.py:772 #: paperless/settings.py:791
msgid "Japanese" msgid "Japanese"
msgstr "일본어" msgstr "일본어"
#: paperless/settings.py:773 #: paperless/settings.py:792
msgid "Korean" msgid "Korean"
msgstr "한국어" msgstr "한국어"
#: paperless/settings.py:774 #: paperless/settings.py:793
msgid "Luxembourgish" msgid "Luxembourgish"
msgstr "룩셈부르크어" msgstr "룩셈부르크어"
#: paperless/settings.py:775 #: paperless/settings.py:794
msgid "Norwegian" msgid "Norwegian"
msgstr "노르웨이어" msgstr "노르웨이어"
#: paperless/settings.py:776 #: paperless/settings.py:795
msgid "Dutch" msgid "Dutch"
msgstr "네덜란드어" msgstr "네덜란드어"
#: paperless/settings.py:777 #: paperless/settings.py:796
msgid "Polish" msgid "Polish"
msgstr "폴란드어" msgstr "폴란드어"
#: paperless/settings.py:778 #: paperless/settings.py:797
msgid "Portuguese (Brazil)" msgid "Portuguese (Brazil)"
msgstr "포르투갈어 (브라질)" msgstr "포르투갈어 (브라질)"
#: paperless/settings.py:779 #: paperless/settings.py:798
msgid "Portuguese" msgid "Portuguese"
msgstr "포르투갈어" msgstr "포르투갈어"
#: paperless/settings.py:780 #: paperless/settings.py:799
msgid "Romanian" msgid "Romanian"
msgstr "루마니아어" msgstr "루마니아어"
#: paperless/settings.py:781 #: paperless/settings.py:800
msgid "Russian" msgid "Russian"
msgstr "러시아어" msgstr "러시아어"
#: paperless/settings.py:782 #: paperless/settings.py:801
msgid "Slovak" msgid "Slovak"
msgstr "슬로바키아어" msgstr "슬로바키아어"
#: paperless/settings.py:783 #: paperless/settings.py:802
msgid "Slovenian" msgid "Slovenian"
msgstr "슬로베니아어" msgstr "슬로베니아어"
#: paperless/settings.py:784 #: paperless/settings.py:803
msgid "Serbian" msgid "Serbian"
msgstr "세르비아어" msgstr "세르비아어"
#: paperless/settings.py:785 #: paperless/settings.py:804
msgid "Swedish" msgid "Swedish"
msgstr "스웨덴어" msgstr "스웨덴어"
#: paperless/settings.py:786 #: paperless/settings.py:805
msgid "Turkish" msgid "Turkish"
msgstr "튀르키예어" msgstr "튀르키예어"
#: paperless/settings.py:787 #: paperless/settings.py:806
msgid "Ukrainian" msgid "Ukrainian"
msgstr "우크라이나어" msgstr "우크라이나어"
#: paperless/settings.py:788 #: paperless/settings.py:807
msgid "Vietnamese"
msgstr ""
#: paperless/settings.py:808
msgid "Chinese Simplified" msgid "Chinese Simplified"
msgstr "중국어 간체" msgstr "중국어 간체"
#: paperless/settings.py:789 #: paperless/settings.py:809
msgid "Chinese Traditional" msgid "Chinese Traditional"
msgstr "중국어 번체" msgstr "중국어 번체"
#: paperless/urls.py:374 #: paperless/urls.py:368
msgid "Paperless-ngx administration" msgid "Paperless-ngx administration"
msgstr "Paperless-ngx 관리" msgstr "Paperless-ngx 관리"

View File

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-19 18:51+0000\n" "POT-Creation-Date: 2025-08-16 14:34+0000\n"
"PO-Revision-Date: 2025-06-19 18:52\n" "PO-Revision-Date: 2025-08-16 14:36\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Luxembourgish\n" "Language-Team: Luxembourgish\n"
"Language: lb_LU\n" "Language: lb_LU\n"
@ -63,7 +63,7 @@ msgstr "Besëtzer"
#: documents/models.py:53 documents/models.py:924 #: documents/models.py:53 documents/models.py:924
msgid "None" msgid "None"
msgstr "" msgstr "Keng"
#: documents/models.py:54 documents/models.py:925 #: documents/models.py:54 documents/models.py:925
msgid "Any word" msgid "Any word"
@ -196,11 +196,11 @@ msgstr "D'Préifzomm vum archivéierten Dokument."
#: documents/models.py:205 #: documents/models.py:205
msgid "page count" msgid "page count"
msgstr "" msgstr "saiten unnzuel"
#: documents/models.py:212 #: documents/models.py:212
msgid "The number of pages of the document." msgid "The number of pages of the document."
msgstr "" msgstr "Weivill Saiten d' Dokument huet."
#: documents/models.py:217 documents/models.py:633 documents/models.py:671 #: documents/models.py:217 documents/models.py:633 documents/models.py:671
#: documents/models.py:742 documents/models.py:800 #: documents/models.py:742 documents/models.py:800
@ -1164,21 +1164,21 @@ msgstr ""
msgid "workflow runs" msgid "workflow runs"
msgstr "" msgstr ""
#: documents/serialisers.py:135 #: documents/serialisers.py:139
#, python-format #, python-format
msgid "Invalid regular expression: %(error)s" msgid "Invalid regular expression: %(error)s"
msgstr "Ongëltege regulären Ausdrock: %(error)s" msgstr "Ongëltege regulären Ausdrock: %(error)s"
#: documents/serialisers.py:561 #: documents/serialisers.py:565
msgid "Invalid color." msgid "Invalid color."
msgstr "Ongëlteg Faarf." msgstr "Ongëlteg Faarf."
#: documents/serialisers.py:1645 #: documents/serialisers.py:1700
#, python-format #, python-format
msgid "File type %(type)s not supported" msgid "File type %(type)s not supported"
msgstr "Fichierstyp %(type)s net ënnerstëtzt" msgstr "Fichierstyp %(type)s net ënnerstëtzt"
#: documents/serialisers.py:1739 #: documents/serialisers.py:1794
msgid "Invalid variable detected." msgid "Invalid variable detected."
msgstr "Ongëlteg Zeechen detektéiert." msgstr "Ongëlteg Zeechen detektéiert."
@ -1618,147 +1618,151 @@ msgstr ""
msgid "paperless application settings" msgid "paperless application settings"
msgstr "" msgstr ""
#: paperless/settings.py:755 #: paperless/settings.py:774
msgid "English (US)" msgid "English (US)"
msgstr "Englesch (USA)" msgstr "Englesch (USA)"
#: paperless/settings.py:756 #: paperless/settings.py:775
msgid "Arabic" msgid "Arabic"
msgstr "" msgstr ""
#: paperless/settings.py:757 #: paperless/settings.py:776
msgid "Afrikaans" msgid "Afrikaans"
msgstr "" msgstr ""
#: paperless/settings.py:758 #: paperless/settings.py:777
msgid "Belarusian" msgid "Belarusian"
msgstr "Belarusesch" msgstr "Belarusesch"
#: paperless/settings.py:759 #: paperless/settings.py:778
msgid "Bulgarian" msgid "Bulgarian"
msgstr "" msgstr ""
#: paperless/settings.py:760 #: paperless/settings.py:779
msgid "Catalan" msgid "Catalan"
msgstr "" msgstr ""
#: paperless/settings.py:761 #: paperless/settings.py:780
msgid "Czech" msgid "Czech"
msgstr "Tschechesch" msgstr "Tschechesch"
#: paperless/settings.py:762 #: paperless/settings.py:781
msgid "Danish" msgid "Danish"
msgstr "Dänesch" msgstr "Dänesch"
#: paperless/settings.py:763 #: paperless/settings.py:782
msgid "German" msgid "German"
msgstr "Däitsch" msgstr "Däitsch"
#: paperless/settings.py:764 #: paperless/settings.py:783
msgid "Greek" msgid "Greek"
msgstr "" msgstr ""
#: paperless/settings.py:765 #: paperless/settings.py:784
msgid "English (GB)" msgid "English (GB)"
msgstr "Englesch (GB)" msgstr "Englesch (GB)"
#: paperless/settings.py:766 #: paperless/settings.py:785
msgid "Spanish" msgid "Spanish"
msgstr "Spuenesch" msgstr "Spuenesch"
#: paperless/settings.py:767 #: paperless/settings.py:786
msgid "Persian" msgid "Persian"
msgstr "" msgstr ""
#: paperless/settings.py:768 #: paperless/settings.py:787
msgid "Finnish" msgid "Finnish"
msgstr "" msgstr ""
#: paperless/settings.py:769 #: paperless/settings.py:788
msgid "French" msgid "French"
msgstr "Franséisch" msgstr "Franséisch"
#: paperless/settings.py:770 #: paperless/settings.py:789
msgid "Hungarian" msgid "Hungarian"
msgstr "" msgstr ""
#: paperless/settings.py:771 #: paperless/settings.py:790
msgid "Italian" msgid "Italian"
msgstr "Italienesch" msgstr "Italienesch"
#: paperless/settings.py:772 #: paperless/settings.py:791
msgid "Japanese" msgid "Japanese"
msgstr "" msgstr ""
#: paperless/settings.py:773 #: paperless/settings.py:792
msgid "Korean" msgid "Korean"
msgstr "" msgstr ""
#: paperless/settings.py:774 #: paperless/settings.py:793
msgid "Luxembourgish" msgid "Luxembourgish"
msgstr "Lëtzebuergesch" msgstr "Lëtzebuergesch"
#: paperless/settings.py:775 #: paperless/settings.py:794
msgid "Norwegian" msgid "Norwegian"
msgstr "" msgstr ""
#: paperless/settings.py:776 #: paperless/settings.py:795
msgid "Dutch" msgid "Dutch"
msgstr "Hollännesch" msgstr "Hollännesch"
#: paperless/settings.py:777 #: paperless/settings.py:796
msgid "Polish" msgid "Polish"
msgstr "Polnesch" msgstr "Polnesch"
#: paperless/settings.py:778 #: paperless/settings.py:797
msgid "Portuguese (Brazil)" msgid "Portuguese (Brazil)"
msgstr "Portugisesch (Brasilien)" msgstr "Portugisesch (Brasilien)"
#: paperless/settings.py:779 #: paperless/settings.py:798
msgid "Portuguese" msgid "Portuguese"
msgstr "Portugisesch" msgstr "Portugisesch"
#: paperless/settings.py:780 #: paperless/settings.py:799
msgid "Romanian" msgid "Romanian"
msgstr "Rumänesch" msgstr "Rumänesch"
#: paperless/settings.py:781 #: paperless/settings.py:800
msgid "Russian" msgid "Russian"
msgstr "Russesch" msgstr "Russesch"
#: paperless/settings.py:782 #: paperless/settings.py:801
msgid "Slovak" msgid "Slovak"
msgstr "" msgstr ""
#: paperless/settings.py:783 #: paperless/settings.py:802
msgid "Slovenian" msgid "Slovenian"
msgstr "Slowenesch" msgstr "Slowenesch"
#: paperless/settings.py:784 #: paperless/settings.py:803
msgid "Serbian" msgid "Serbian"
msgstr "Serbesch" msgstr "Serbesch"
#: paperless/settings.py:785 #: paperless/settings.py:804
msgid "Swedish" msgid "Swedish"
msgstr "Schwedesch" msgstr "Schwedesch"
#: paperless/settings.py:786 #: paperless/settings.py:805
msgid "Turkish" msgid "Turkish"
msgstr "Tierkesch" msgstr "Tierkesch"
#: paperless/settings.py:787 #: paperless/settings.py:806
msgid "Ukrainian" msgid "Ukrainian"
msgstr "" msgstr ""
#: paperless/settings.py:788 #: paperless/settings.py:807
msgid "Vietnamese"
msgstr ""
#: paperless/settings.py:808
msgid "Chinese Simplified" msgid "Chinese Simplified"
msgstr "Chinesesch (Vereinfacht)" msgstr "Chinesesch (Vereinfacht)"
#: paperless/settings.py:789 #: paperless/settings.py:809
msgid "Chinese Traditional" msgid "Chinese Traditional"
msgstr "" msgstr ""
#: paperless/urls.py:374 #: paperless/urls.py:368
msgid "Paperless-ngx administration" msgid "Paperless-ngx administration"
msgstr "Paperless-ngx-Administratioun" msgstr "Paperless-ngx-Administratioun"

View File

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-19 18:51+0000\n" "POT-Creation-Date: 2025-08-16 14:34+0000\n"
"PO-Revision-Date: 2025-06-19 18:52\n" "PO-Revision-Date: 2025-08-16 14:36\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Lithuanian\n" "Language-Team: Lithuanian\n"
"Language: lt_LT\n" "Language: lt_LT\n"
@ -1164,21 +1164,21 @@ msgstr ""
msgid "workflow runs" msgid "workflow runs"
msgstr "" msgstr ""
#: documents/serialisers.py:135 #: documents/serialisers.py:139
#, python-format #, python-format
msgid "Invalid regular expression: %(error)s" msgid "Invalid regular expression: %(error)s"
msgstr "" msgstr ""
#: documents/serialisers.py:561 #: documents/serialisers.py:565
msgid "Invalid color." msgid "Invalid color."
msgstr "" msgstr ""
#: documents/serialisers.py:1645 #: documents/serialisers.py:1700
#, python-format #, python-format
msgid "File type %(type)s not supported" msgid "File type %(type)s not supported"
msgstr "" msgstr ""
#: documents/serialisers.py:1739 #: documents/serialisers.py:1794
msgid "Invalid variable detected." msgid "Invalid variable detected."
msgstr "" msgstr ""
@ -1618,147 +1618,151 @@ msgstr ""
msgid "paperless application settings" msgid "paperless application settings"
msgstr "" msgstr ""
#: paperless/settings.py:755 #: paperless/settings.py:774
msgid "English (US)" msgid "English (US)"
msgstr "" msgstr ""
#: paperless/settings.py:756 #: paperless/settings.py:775
msgid "Arabic" msgid "Arabic"
msgstr "" msgstr ""
#: paperless/settings.py:757 #: paperless/settings.py:776
msgid "Afrikaans" msgid "Afrikaans"
msgstr "" msgstr ""
#: paperless/settings.py:758 #: paperless/settings.py:777
msgid "Belarusian" msgid "Belarusian"
msgstr "" msgstr ""
#: paperless/settings.py:759 #: paperless/settings.py:778
msgid "Bulgarian" msgid "Bulgarian"
msgstr "" msgstr ""
#: paperless/settings.py:760 #: paperless/settings.py:779
msgid "Catalan" msgid "Catalan"
msgstr "" msgstr ""
#: paperless/settings.py:761 #: paperless/settings.py:780
msgid "Czech" msgid "Czech"
msgstr "" msgstr ""
#: paperless/settings.py:762 #: paperless/settings.py:781
msgid "Danish" msgid "Danish"
msgstr "" msgstr ""
#: paperless/settings.py:763 #: paperless/settings.py:782
msgid "German" msgid "German"
msgstr "" msgstr ""
#: paperless/settings.py:764 #: paperless/settings.py:783
msgid "Greek" msgid "Greek"
msgstr "" msgstr ""
#: paperless/settings.py:765 #: paperless/settings.py:784
msgid "English (GB)" msgid "English (GB)"
msgstr "" msgstr ""
#: paperless/settings.py:766 #: paperless/settings.py:785
msgid "Spanish" msgid "Spanish"
msgstr "" msgstr ""
#: paperless/settings.py:767 #: paperless/settings.py:786
msgid "Persian" msgid "Persian"
msgstr "" msgstr ""
#: paperless/settings.py:768 #: paperless/settings.py:787
msgid "Finnish" msgid "Finnish"
msgstr "" msgstr ""
#: paperless/settings.py:769 #: paperless/settings.py:788
msgid "French" msgid "French"
msgstr "" msgstr ""
#: paperless/settings.py:770 #: paperless/settings.py:789
msgid "Hungarian" msgid "Hungarian"
msgstr "" msgstr ""
#: paperless/settings.py:771 #: paperless/settings.py:790
msgid "Italian" msgid "Italian"
msgstr "" msgstr ""
#: paperless/settings.py:772 #: paperless/settings.py:791
msgid "Japanese" msgid "Japanese"
msgstr "" msgstr ""
#: paperless/settings.py:773 #: paperless/settings.py:792
msgid "Korean" msgid "Korean"
msgstr "" msgstr ""
#: paperless/settings.py:774 #: paperless/settings.py:793
msgid "Luxembourgish" msgid "Luxembourgish"
msgstr "" msgstr ""
#: paperless/settings.py:775 #: paperless/settings.py:794
msgid "Norwegian" msgid "Norwegian"
msgstr "" msgstr ""
#: paperless/settings.py:776 #: paperless/settings.py:795
msgid "Dutch" msgid "Dutch"
msgstr "" msgstr ""
#: paperless/settings.py:777 #: paperless/settings.py:796
msgid "Polish" msgid "Polish"
msgstr "" msgstr ""
#: paperless/settings.py:778 #: paperless/settings.py:797
msgid "Portuguese (Brazil)" msgid "Portuguese (Brazil)"
msgstr "" msgstr ""
#: paperless/settings.py:779 #: paperless/settings.py:798
msgid "Portuguese" msgid "Portuguese"
msgstr "" msgstr ""
#: paperless/settings.py:780 #: paperless/settings.py:799
msgid "Romanian" msgid "Romanian"
msgstr "" msgstr ""
#: paperless/settings.py:781 #: paperless/settings.py:800
msgid "Russian" msgid "Russian"
msgstr "" msgstr ""
#: paperless/settings.py:782 #: paperless/settings.py:801
msgid "Slovak" msgid "Slovak"
msgstr "" msgstr ""
#: paperless/settings.py:783 #: paperless/settings.py:802
msgid "Slovenian" msgid "Slovenian"
msgstr "" msgstr ""
#: paperless/settings.py:784 #: paperless/settings.py:803
msgid "Serbian" msgid "Serbian"
msgstr "" msgstr ""
#: paperless/settings.py:785 #: paperless/settings.py:804
msgid "Swedish" msgid "Swedish"
msgstr "" msgstr ""
#: paperless/settings.py:786 #: paperless/settings.py:805
msgid "Turkish" msgid "Turkish"
msgstr "" msgstr ""
#: paperless/settings.py:787 #: paperless/settings.py:806
msgid "Ukrainian" msgid "Ukrainian"
msgstr "" msgstr ""
#: paperless/settings.py:788 #: paperless/settings.py:807
msgid "Vietnamese"
msgstr ""
#: paperless/settings.py:808
msgid "Chinese Simplified" msgid "Chinese Simplified"
msgstr "" msgstr ""
#: paperless/settings.py:789 #: paperless/settings.py:809
msgid "Chinese Traditional" msgid "Chinese Traditional"
msgstr "" msgstr ""
#: paperless/urls.py:374 #: paperless/urls.py:368
msgid "Paperless-ngx administration" msgid "Paperless-ngx administration"
msgstr "" msgstr ""

View File

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-19 18:51+0000\n" "POT-Creation-Date: 2025-08-16 14:34+0000\n"
"PO-Revision-Date: 2025-06-19 18:52\n" "PO-Revision-Date: 2025-08-16 14:36\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Latvian\n" "Language-Team: Latvian\n"
"Language: lv_LV\n" "Language: lv_LV\n"
@ -1164,21 +1164,21 @@ msgstr ""
msgid "workflow runs" msgid "workflow runs"
msgstr "" msgstr ""
#: documents/serialisers.py:135 #: documents/serialisers.py:139
#, python-format #, python-format
msgid "Invalid regular expression: %(error)s" msgid "Invalid regular expression: %(error)s"
msgstr "" msgstr ""
#: documents/serialisers.py:561 #: documents/serialisers.py:565
msgid "Invalid color." msgid "Invalid color."
msgstr "" msgstr ""
#: documents/serialisers.py:1645 #: documents/serialisers.py:1700
#, python-format #, python-format
msgid "File type %(type)s not supported" msgid "File type %(type)s not supported"
msgstr "" msgstr ""
#: documents/serialisers.py:1739 #: documents/serialisers.py:1794
msgid "Invalid variable detected." msgid "Invalid variable detected."
msgstr "" msgstr ""
@ -1618,147 +1618,151 @@ msgstr ""
msgid "paperless application settings" msgid "paperless application settings"
msgstr "" msgstr ""
#: paperless/settings.py:755 #: paperless/settings.py:774
msgid "English (US)" msgid "English (US)"
msgstr "Angļu (ASV)" msgstr "Angļu (ASV)"
#: paperless/settings.py:756 #: paperless/settings.py:775
msgid "Arabic" msgid "Arabic"
msgstr "Arābu" msgstr "Arābu"
#: paperless/settings.py:757 #: paperless/settings.py:776
msgid "Afrikaans" msgid "Afrikaans"
msgstr "Āfrikāņu" msgstr "Āfrikāņu"
#: paperless/settings.py:758 #: paperless/settings.py:777
msgid "Belarusian" msgid "Belarusian"
msgstr "Baltkrievu" msgstr "Baltkrievu"
#: paperless/settings.py:759 #: paperless/settings.py:778
msgid "Bulgarian" msgid "Bulgarian"
msgstr "Bulgāru" msgstr "Bulgāru"
#: paperless/settings.py:760 #: paperless/settings.py:779
msgid "Catalan" msgid "Catalan"
msgstr "Kataloniešu" msgstr "Kataloniešu"
#: paperless/settings.py:761 #: paperless/settings.py:780
msgid "Czech" msgid "Czech"
msgstr "Čehu" msgstr "Čehu"
#: paperless/settings.py:762 #: paperless/settings.py:781
msgid "Danish" msgid "Danish"
msgstr "Dāņu" msgstr "Dāņu"
#: paperless/settings.py:763 #: paperless/settings.py:782
msgid "German" msgid "German"
msgstr "Vācu" msgstr "Vācu"
#: paperless/settings.py:764 #: paperless/settings.py:783
msgid "Greek" msgid "Greek"
msgstr "Grieķu" msgstr "Grieķu"
#: paperless/settings.py:765 #: paperless/settings.py:784
msgid "English (GB)" msgid "English (GB)"
msgstr "Angļu (ASV)" msgstr "Angļu (ASV)"
#: paperless/settings.py:766 #: paperless/settings.py:785
msgid "Spanish" msgid "Spanish"
msgstr "Spāņu" msgstr "Spāņu"
#: paperless/settings.py:767 #: paperless/settings.py:786
msgid "Persian" msgid "Persian"
msgstr "" msgstr ""
#: paperless/settings.py:768 #: paperless/settings.py:787
msgid "Finnish" msgid "Finnish"
msgstr "Somu" msgstr "Somu"
#: paperless/settings.py:769 #: paperless/settings.py:788
msgid "French" msgid "French"
msgstr "Franču" msgstr "Franču"
#: paperless/settings.py:770 #: paperless/settings.py:789
msgid "Hungarian" msgid "Hungarian"
msgstr "Ungāru" msgstr "Ungāru"
#: paperless/settings.py:771 #: paperless/settings.py:790
msgid "Italian" msgid "Italian"
msgstr "Itāļu" msgstr "Itāļu"
#: paperless/settings.py:772 #: paperless/settings.py:791
msgid "Japanese" msgid "Japanese"
msgstr "Japāņu" msgstr "Japāņu"
#: paperless/settings.py:773 #: paperless/settings.py:792
msgid "Korean" msgid "Korean"
msgstr "" msgstr ""
#: paperless/settings.py:774 #: paperless/settings.py:793
msgid "Luxembourgish" msgid "Luxembourgish"
msgstr "Luksemburgiešu" msgstr "Luksemburgiešu"
#: paperless/settings.py:775 #: paperless/settings.py:794
msgid "Norwegian" msgid "Norwegian"
msgstr "Norvēģu" msgstr "Norvēģu"
#: paperless/settings.py:776 #: paperless/settings.py:795
msgid "Dutch" msgid "Dutch"
msgstr "Holandiešu" msgstr "Holandiešu"
#: paperless/settings.py:777 #: paperless/settings.py:796
msgid "Polish" msgid "Polish"
msgstr "Poļu" msgstr "Poļu"
#: paperless/settings.py:778 #: paperless/settings.py:797
msgid "Portuguese (Brazil)" msgid "Portuguese (Brazil)"
msgstr "Portugāļu (Brazīlija)" msgstr "Portugāļu (Brazīlija)"
#: paperless/settings.py:779 #: paperless/settings.py:798
msgid "Portuguese" msgid "Portuguese"
msgstr "Portugāļu" msgstr "Portugāļu"
#: paperless/settings.py:780 #: paperless/settings.py:799
msgid "Romanian" msgid "Romanian"
msgstr "Rumāņu" msgstr "Rumāņu"
#: paperless/settings.py:781 #: paperless/settings.py:800
msgid "Russian" msgid "Russian"
msgstr "Krievu" msgstr "Krievu"
#: paperless/settings.py:782 #: paperless/settings.py:801
msgid "Slovak" msgid "Slovak"
msgstr "Slovāku" msgstr "Slovāku"
#: paperless/settings.py:783 #: paperless/settings.py:802
msgid "Slovenian" msgid "Slovenian"
msgstr "Slovēņu" msgstr "Slovēņu"
#: paperless/settings.py:784 #: paperless/settings.py:803
msgid "Serbian" msgid "Serbian"
msgstr "Sērbu" msgstr "Sērbu"
#: paperless/settings.py:785 #: paperless/settings.py:804
msgid "Swedish" msgid "Swedish"
msgstr "Zviedru" msgstr "Zviedru"
#: paperless/settings.py:786 #: paperless/settings.py:805
msgid "Turkish" msgid "Turkish"
msgstr "Turku" msgstr "Turku"
#: paperless/settings.py:787 #: paperless/settings.py:806
msgid "Ukrainian" msgid "Ukrainian"
msgstr "Ukraiņu" msgstr "Ukraiņu"
#: paperless/settings.py:788 #: paperless/settings.py:807
msgid "Vietnamese"
msgstr ""
#: paperless/settings.py:808
msgid "Chinese Simplified" msgid "Chinese Simplified"
msgstr "Ķīniešu (vienkāršota)" msgstr "Ķīniešu (vienkāršota)"
#: paperless/settings.py:789 #: paperless/settings.py:809
msgid "Chinese Traditional" msgid "Chinese Traditional"
msgstr "" msgstr ""
#: paperless/urls.py:374 #: paperless/urls.py:368
msgid "Paperless-ngx administration" msgid "Paperless-ngx administration"
msgstr "" msgstr ""

View File

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-19 18:51+0000\n" "POT-Creation-Date: 2025-08-16 14:34+0000\n"
"PO-Revision-Date: 2025-06-19 18:52\n" "PO-Revision-Date: 2025-08-16 14:36\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Malay\n" "Language-Team: Malay\n"
"Language: ms_MY\n" "Language: ms_MY\n"
@ -1164,21 +1164,21 @@ msgstr ""
msgid "workflow runs" msgid "workflow runs"
msgstr "" msgstr ""
#: documents/serialisers.py:135 #: documents/serialisers.py:139
#, python-format #, python-format
msgid "Invalid regular expression: %(error)s" msgid "Invalid regular expression: %(error)s"
msgstr "" msgstr ""
#: documents/serialisers.py:561 #: documents/serialisers.py:565
msgid "Invalid color." msgid "Invalid color."
msgstr "" msgstr ""
#: documents/serialisers.py:1645 #: documents/serialisers.py:1700
#, python-format #, python-format
msgid "File type %(type)s not supported" msgid "File type %(type)s not supported"
msgstr "" msgstr ""
#: documents/serialisers.py:1739 #: documents/serialisers.py:1794
msgid "Invalid variable detected." msgid "Invalid variable detected."
msgstr "" msgstr ""
@ -1618,147 +1618,151 @@ msgstr ""
msgid "paperless application settings" msgid "paperless application settings"
msgstr "" msgstr ""
#: paperless/settings.py:755 #: paperless/settings.py:774
msgid "English (US)" msgid "English (US)"
msgstr "" msgstr ""
#: paperless/settings.py:756 #: paperless/settings.py:775
msgid "Arabic" msgid "Arabic"
msgstr "" msgstr ""
#: paperless/settings.py:757 #: paperless/settings.py:776
msgid "Afrikaans" msgid "Afrikaans"
msgstr "" msgstr ""
#: paperless/settings.py:758 #: paperless/settings.py:777
msgid "Belarusian" msgid "Belarusian"
msgstr "" msgstr ""
#: paperless/settings.py:759 #: paperless/settings.py:778
msgid "Bulgarian" msgid "Bulgarian"
msgstr "" msgstr ""
#: paperless/settings.py:760 #: paperless/settings.py:779
msgid "Catalan" msgid "Catalan"
msgstr "" msgstr ""
#: paperless/settings.py:761 #: paperless/settings.py:780
msgid "Czech" msgid "Czech"
msgstr "" msgstr ""
#: paperless/settings.py:762 #: paperless/settings.py:781
msgid "Danish" msgid "Danish"
msgstr "" msgstr ""
#: paperless/settings.py:763 #: paperless/settings.py:782
msgid "German" msgid "German"
msgstr "" msgstr ""
#: paperless/settings.py:764 #: paperless/settings.py:783
msgid "Greek" msgid "Greek"
msgstr "" msgstr ""
#: paperless/settings.py:765 #: paperless/settings.py:784
msgid "English (GB)" msgid "English (GB)"
msgstr "" msgstr ""
#: paperless/settings.py:766 #: paperless/settings.py:785
msgid "Spanish" msgid "Spanish"
msgstr "" msgstr ""
#: paperless/settings.py:767 #: paperless/settings.py:786
msgid "Persian" msgid "Persian"
msgstr "" msgstr ""
#: paperless/settings.py:768 #: paperless/settings.py:787
msgid "Finnish" msgid "Finnish"
msgstr "" msgstr ""
#: paperless/settings.py:769 #: paperless/settings.py:788
msgid "French" msgid "French"
msgstr "" msgstr ""
#: paperless/settings.py:770 #: paperless/settings.py:789
msgid "Hungarian" msgid "Hungarian"
msgstr "" msgstr ""
#: paperless/settings.py:771 #: paperless/settings.py:790
msgid "Italian" msgid "Italian"
msgstr "" msgstr ""
#: paperless/settings.py:772 #: paperless/settings.py:791
msgid "Japanese" msgid "Japanese"
msgstr "" msgstr ""
#: paperless/settings.py:773 #: paperless/settings.py:792
msgid "Korean" msgid "Korean"
msgstr "" msgstr ""
#: paperless/settings.py:774 #: paperless/settings.py:793
msgid "Luxembourgish" msgid "Luxembourgish"
msgstr "" msgstr ""
#: paperless/settings.py:775 #: paperless/settings.py:794
msgid "Norwegian" msgid "Norwegian"
msgstr "" msgstr ""
#: paperless/settings.py:776 #: paperless/settings.py:795
msgid "Dutch" msgid "Dutch"
msgstr "" msgstr ""
#: paperless/settings.py:777 #: paperless/settings.py:796
msgid "Polish" msgid "Polish"
msgstr "" msgstr ""
#: paperless/settings.py:778 #: paperless/settings.py:797
msgid "Portuguese (Brazil)" msgid "Portuguese (Brazil)"
msgstr "" msgstr ""
#: paperless/settings.py:779 #: paperless/settings.py:798
msgid "Portuguese" msgid "Portuguese"
msgstr "" msgstr ""
#: paperless/settings.py:780 #: paperless/settings.py:799
msgid "Romanian" msgid "Romanian"
msgstr "" msgstr ""
#: paperless/settings.py:781 #: paperless/settings.py:800
msgid "Russian" msgid "Russian"
msgstr "" msgstr ""
#: paperless/settings.py:782 #: paperless/settings.py:801
msgid "Slovak" msgid "Slovak"
msgstr "" msgstr ""
#: paperless/settings.py:783 #: paperless/settings.py:802
msgid "Slovenian" msgid "Slovenian"
msgstr "" msgstr ""
#: paperless/settings.py:784 #: paperless/settings.py:803
msgid "Serbian" msgid "Serbian"
msgstr "" msgstr ""
#: paperless/settings.py:785 #: paperless/settings.py:804
msgid "Swedish" msgid "Swedish"
msgstr "" msgstr ""
#: paperless/settings.py:786 #: paperless/settings.py:805
msgid "Turkish" msgid "Turkish"
msgstr "" msgstr ""
#: paperless/settings.py:787 #: paperless/settings.py:806
msgid "Ukrainian" msgid "Ukrainian"
msgstr "" msgstr ""
#: paperless/settings.py:788 #: paperless/settings.py:807
msgid "Vietnamese"
msgstr ""
#: paperless/settings.py:808
msgid "Chinese Simplified" msgid "Chinese Simplified"
msgstr "" msgstr ""
#: paperless/settings.py:789 #: paperless/settings.py:809
msgid "Chinese Traditional" msgid "Chinese Traditional"
msgstr "" msgstr ""
#: paperless/urls.py:374 #: paperless/urls.py:368
msgid "Paperless-ngx administration" msgid "Paperless-ngx administration"
msgstr "" msgstr ""

View File

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-19 18:51+0000\n" "POT-Creation-Date: 2025-08-16 14:34+0000\n"
"PO-Revision-Date: 2025-06-19 18:52\n" "PO-Revision-Date: 2025-08-16 14:36\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Dutch\n" "Language-Team: Dutch\n"
"Language: nl_NL\n" "Language: nl_NL\n"
@ -1164,21 +1164,21 @@ msgstr ""
msgid "workflow runs" msgid "workflow runs"
msgstr "" msgstr ""
#: documents/serialisers.py:135 #: documents/serialisers.py:139
#, python-format #, python-format
msgid "Invalid regular expression: %(error)s" msgid "Invalid regular expression: %(error)s"
msgstr "Ongeldige reguliere expressie: %(error)s" msgstr "Ongeldige reguliere expressie: %(error)s"
#: documents/serialisers.py:561 #: documents/serialisers.py:565
msgid "Invalid color." msgid "Invalid color."
msgstr "Ongeldig kleur." msgstr "Ongeldig kleur."
#: documents/serialisers.py:1645 #: documents/serialisers.py:1700
#, python-format #, python-format
msgid "File type %(type)s not supported" msgid "File type %(type)s not supported"
msgstr "Bestandstype %(type)s niet ondersteund" msgstr "Bestandstype %(type)s niet ondersteund"
#: documents/serialisers.py:1739 #: documents/serialisers.py:1794
msgid "Invalid variable detected." msgid "Invalid variable detected."
msgstr "Ongeldige variabele ontdekt." msgstr "Ongeldige variabele ontdekt."
@ -1619,147 +1619,151 @@ msgstr ""
msgid "paperless application settings" msgid "paperless application settings"
msgstr "paperless applicatie instellingen" msgstr "paperless applicatie instellingen"
#: paperless/settings.py:755 #: paperless/settings.py:774
msgid "English (US)" msgid "English (US)"
msgstr "Engels (US)" msgstr "Engels (US)"
#: paperless/settings.py:756 #: paperless/settings.py:775
msgid "Arabic" msgid "Arabic"
msgstr "Arabisch" msgstr "Arabisch"
#: paperless/settings.py:757 #: paperless/settings.py:776
msgid "Afrikaans" msgid "Afrikaans"
msgstr "Afrikaans" msgstr "Afrikaans"
#: paperless/settings.py:758 #: paperless/settings.py:777
msgid "Belarusian" msgid "Belarusian"
msgstr "Wit-Russisch" msgstr "Wit-Russisch"
#: paperless/settings.py:759 #: paperless/settings.py:778
msgid "Bulgarian" msgid "Bulgarian"
msgstr "Bulgaars" msgstr "Bulgaars"
#: paperless/settings.py:760 #: paperless/settings.py:779
msgid "Catalan" msgid "Catalan"
msgstr "Catalaans" msgstr "Catalaans"
#: paperless/settings.py:761 #: paperless/settings.py:780
msgid "Czech" msgid "Czech"
msgstr "Tsjechisch" msgstr "Tsjechisch"
#: paperless/settings.py:762 #: paperless/settings.py:781
msgid "Danish" msgid "Danish"
msgstr "Deens" msgstr "Deens"
#: paperless/settings.py:763 #: paperless/settings.py:782
msgid "German" msgid "German"
msgstr "Duits" msgstr "Duits"
#: paperless/settings.py:764 #: paperless/settings.py:783
msgid "Greek" msgid "Greek"
msgstr "Grieks" msgstr "Grieks"
#: paperless/settings.py:765 #: paperless/settings.py:784
msgid "English (GB)" msgid "English (GB)"
msgstr "Engels (Brits)" msgstr "Engels (Brits)"
#: paperless/settings.py:766 #: paperless/settings.py:785
msgid "Spanish" msgid "Spanish"
msgstr "Spaans" msgstr "Spaans"
#: paperless/settings.py:767 #: paperless/settings.py:786
msgid "Persian" msgid "Persian"
msgstr "" msgstr ""
#: paperless/settings.py:768 #: paperless/settings.py:787
msgid "Finnish" msgid "Finnish"
msgstr "Fins" msgstr "Fins"
#: paperless/settings.py:769 #: paperless/settings.py:788
msgid "French" msgid "French"
msgstr "Frans" msgstr "Frans"
#: paperless/settings.py:770 #: paperless/settings.py:789
msgid "Hungarian" msgid "Hungarian"
msgstr "Hongaars" msgstr "Hongaars"
#: paperless/settings.py:771 #: paperless/settings.py:790
msgid "Italian" msgid "Italian"
msgstr "Italiaans" msgstr "Italiaans"
#: paperless/settings.py:772 #: paperless/settings.py:791
msgid "Japanese" msgid "Japanese"
msgstr "Japans" msgstr "Japans"
#: paperless/settings.py:773 #: paperless/settings.py:792
msgid "Korean" msgid "Korean"
msgstr "" msgstr ""
#: paperless/settings.py:774 #: paperless/settings.py:793
msgid "Luxembourgish" msgid "Luxembourgish"
msgstr "Luxemburgs" msgstr "Luxemburgs"
#: paperless/settings.py:775 #: paperless/settings.py:794
msgid "Norwegian" msgid "Norwegian"
msgstr "Noors" msgstr "Noors"
#: paperless/settings.py:776 #: paperless/settings.py:795
msgid "Dutch" msgid "Dutch"
msgstr "Nederlands" msgstr "Nederlands"
#: paperless/settings.py:777 #: paperless/settings.py:796
msgid "Polish" msgid "Polish"
msgstr "Pools" msgstr "Pools"
#: paperless/settings.py:778 #: paperless/settings.py:797
msgid "Portuguese (Brazil)" msgid "Portuguese (Brazil)"
msgstr "Portugees (Brazilië)" msgstr "Portugees (Brazilië)"
#: paperless/settings.py:779 #: paperless/settings.py:798
msgid "Portuguese" msgid "Portuguese"
msgstr "Portugees" msgstr "Portugees"
#: paperless/settings.py:780 #: paperless/settings.py:799
msgid "Romanian" msgid "Romanian"
msgstr "Roemeens" msgstr "Roemeens"
#: paperless/settings.py:781 #: paperless/settings.py:800
msgid "Russian" msgid "Russian"
msgstr "Russisch" msgstr "Russisch"
#: paperless/settings.py:782 #: paperless/settings.py:801
msgid "Slovak" msgid "Slovak"
msgstr "Slowaaks" msgstr "Slowaaks"
#: paperless/settings.py:783 #: paperless/settings.py:802
msgid "Slovenian" msgid "Slovenian"
msgstr "Sloveens" msgstr "Sloveens"
#: paperless/settings.py:784 #: paperless/settings.py:803
msgid "Serbian" msgid "Serbian"
msgstr "Servisch" msgstr "Servisch"
#: paperless/settings.py:785 #: paperless/settings.py:804
msgid "Swedish" msgid "Swedish"
msgstr "Zweeds" msgstr "Zweeds"
#: paperless/settings.py:786 #: paperless/settings.py:805
msgid "Turkish" msgid "Turkish"
msgstr "Turks" msgstr "Turks"
#: paperless/settings.py:787 #: paperless/settings.py:806
msgid "Ukrainian" msgid "Ukrainian"
msgstr "Oekraïens" msgstr "Oekraïens"
#: paperless/settings.py:788 #: paperless/settings.py:807
msgid "Vietnamese"
msgstr ""
#: paperless/settings.py:808
msgid "Chinese Simplified" msgid "Chinese Simplified"
msgstr "Chinees (vereenvoudigd)" msgstr "Chinees (vereenvoudigd)"
#: paperless/settings.py:789 #: paperless/settings.py:809
msgid "Chinese Traditional" msgid "Chinese Traditional"
msgstr "" msgstr ""
#: paperless/urls.py:374 #: paperless/urls.py:368
msgid "Paperless-ngx administration" msgid "Paperless-ngx administration"
msgstr "Paperless-ngx administratie" msgstr "Paperless-ngx administratie"

View File

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-19 18:51+0000\n" "POT-Creation-Date: 2025-08-16 14:34+0000\n"
"PO-Revision-Date: 2025-06-19 18:52\n" "PO-Revision-Date: 2025-08-16 14:36\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Norwegian\n" "Language-Team: Norwegian\n"
"Language: no_NO\n" "Language: no_NO\n"
@ -1164,21 +1164,21 @@ msgstr ""
msgid "workflow runs" msgid "workflow runs"
msgstr "" msgstr ""
#: documents/serialisers.py:135 #: documents/serialisers.py:139
#, python-format #, python-format
msgid "Invalid regular expression: %(error)s" msgid "Invalid regular expression: %(error)s"
msgstr "Ugyldig regulært uttrykk: %(error)s" msgstr "Ugyldig regulært uttrykk: %(error)s"
#: documents/serialisers.py:561 #: documents/serialisers.py:565
msgid "Invalid color." msgid "Invalid color."
msgstr "Ugyldig farge." msgstr "Ugyldig farge."
#: documents/serialisers.py:1645 #: documents/serialisers.py:1700
#, python-format #, python-format
msgid "File type %(type)s not supported" msgid "File type %(type)s not supported"
msgstr "Filtype %(type)s støttes ikke" msgstr "Filtype %(type)s støttes ikke"
#: documents/serialisers.py:1739 #: documents/serialisers.py:1794
msgid "Invalid variable detected." msgid "Invalid variable detected."
msgstr "Ugyldig variabel oppdaget." msgstr "Ugyldig variabel oppdaget."
@ -1618,147 +1618,151 @@ msgstr ""
msgid "paperless application settings" msgid "paperless application settings"
msgstr "" msgstr ""
#: paperless/settings.py:755 #: paperless/settings.py:774
msgid "English (US)" msgid "English (US)"
msgstr "Engelsk (US)" msgstr "Engelsk (US)"
#: paperless/settings.py:756 #: paperless/settings.py:775
msgid "Arabic" msgid "Arabic"
msgstr "Arabisk" msgstr "Arabisk"
#: paperless/settings.py:757 #: paperless/settings.py:776
msgid "Afrikaans" msgid "Afrikaans"
msgstr "Afrikansk" msgstr "Afrikansk"
#: paperless/settings.py:758 #: paperless/settings.py:777
msgid "Belarusian" msgid "Belarusian"
msgstr "Hviterussisk" msgstr "Hviterussisk"
#: paperless/settings.py:759 #: paperless/settings.py:778
msgid "Bulgarian" msgid "Bulgarian"
msgstr "" msgstr ""
#: paperless/settings.py:760 #: paperless/settings.py:779
msgid "Catalan" msgid "Catalan"
msgstr "Katalansk" msgstr "Katalansk"
#: paperless/settings.py:761 #: paperless/settings.py:780
msgid "Czech" msgid "Czech"
msgstr "Tsjekkisk" msgstr "Tsjekkisk"
#: paperless/settings.py:762 #: paperless/settings.py:781
msgid "Danish" msgid "Danish"
msgstr "Dansk" msgstr "Dansk"
#: paperless/settings.py:763 #: paperless/settings.py:782
msgid "German" msgid "German"
msgstr "Tysk" msgstr "Tysk"
#: paperless/settings.py:764 #: paperless/settings.py:783
msgid "Greek" msgid "Greek"
msgstr "Gresk" msgstr "Gresk"
#: paperless/settings.py:765 #: paperless/settings.py:784
msgid "English (GB)" msgid "English (GB)"
msgstr "Engelsk (GB)" msgstr "Engelsk (GB)"
#: paperless/settings.py:766 #: paperless/settings.py:785
msgid "Spanish" msgid "Spanish"
msgstr "Spansk" msgstr "Spansk"
#: paperless/settings.py:767 #: paperless/settings.py:786
msgid "Persian" msgid "Persian"
msgstr "" msgstr ""
#: paperless/settings.py:768 #: paperless/settings.py:787
msgid "Finnish" msgid "Finnish"
msgstr "Finsk" msgstr "Finsk"
#: paperless/settings.py:769 #: paperless/settings.py:788
msgid "French" msgid "French"
msgstr "Fransk" msgstr "Fransk"
#: paperless/settings.py:770 #: paperless/settings.py:789
msgid "Hungarian" msgid "Hungarian"
msgstr "" msgstr ""
#: paperless/settings.py:771 #: paperless/settings.py:790
msgid "Italian" msgid "Italian"
msgstr "Italiensk" msgstr "Italiensk"
#: paperless/settings.py:772 #: paperless/settings.py:791
msgid "Japanese" msgid "Japanese"
msgstr "" msgstr ""
#: paperless/settings.py:773 #: paperless/settings.py:792
msgid "Korean" msgid "Korean"
msgstr "" msgstr ""
#: paperless/settings.py:774 #: paperless/settings.py:793
msgid "Luxembourgish" msgid "Luxembourgish"
msgstr "Luxembourgsk" msgstr "Luxembourgsk"
#: paperless/settings.py:775 #: paperless/settings.py:794
msgid "Norwegian" msgid "Norwegian"
msgstr "Norsk" msgstr "Norsk"
#: paperless/settings.py:776 #: paperless/settings.py:795
msgid "Dutch" msgid "Dutch"
msgstr "Nederlandsk" msgstr "Nederlandsk"
#: paperless/settings.py:777 #: paperless/settings.py:796
msgid "Polish" msgid "Polish"
msgstr "Polsk" msgstr "Polsk"
#: paperless/settings.py:778 #: paperless/settings.py:797
msgid "Portuguese (Brazil)" msgid "Portuguese (Brazil)"
msgstr "Portugisisk (Brasil)" msgstr "Portugisisk (Brasil)"
#: paperless/settings.py:779 #: paperless/settings.py:798
msgid "Portuguese" msgid "Portuguese"
msgstr "Portugisisk" msgstr "Portugisisk"
#: paperless/settings.py:780 #: paperless/settings.py:799
msgid "Romanian" msgid "Romanian"
msgstr "Rumensk" msgstr "Rumensk"
#: paperless/settings.py:781 #: paperless/settings.py:800
msgid "Russian" msgid "Russian"
msgstr "Russisk" msgstr "Russisk"
#: paperless/settings.py:782 #: paperless/settings.py:801
msgid "Slovak" msgid "Slovak"
msgstr "Slovakisk" msgstr "Slovakisk"
#: paperless/settings.py:783 #: paperless/settings.py:802
msgid "Slovenian" msgid "Slovenian"
msgstr "Slovenian" msgstr "Slovenian"
#: paperless/settings.py:784 #: paperless/settings.py:803
msgid "Serbian" msgid "Serbian"
msgstr "Serbisk" msgstr "Serbisk"
#: paperless/settings.py:785 #: paperless/settings.py:804
msgid "Swedish" msgid "Swedish"
msgstr "Svensk" msgstr "Svensk"
#: paperless/settings.py:786 #: paperless/settings.py:805
msgid "Turkish" msgid "Turkish"
msgstr "Tyrkisk" msgstr "Tyrkisk"
#: paperless/settings.py:787 #: paperless/settings.py:806
msgid "Ukrainian" msgid "Ukrainian"
msgstr "Ukrainsk" msgstr "Ukrainsk"
#: paperless/settings.py:788 #: paperless/settings.py:807
msgid "Vietnamese"
msgstr ""
#: paperless/settings.py:808
msgid "Chinese Simplified" msgid "Chinese Simplified"
msgstr "Kinesisk forenklet" msgstr "Kinesisk forenklet"
#: paperless/settings.py:789 #: paperless/settings.py:809
msgid "Chinese Traditional" msgid "Chinese Traditional"
msgstr "" msgstr ""
#: paperless/urls.py:374 #: paperless/urls.py:368
msgid "Paperless-ngx administration" msgid "Paperless-ngx administration"
msgstr "Paperless-ngx-administrasjon" msgstr "Paperless-ngx-administrasjon"

View File

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-19 18:51+0000\n" "POT-Creation-Date: 2025-08-16 14:34+0000\n"
"PO-Revision-Date: 2025-06-19 18:52\n" "PO-Revision-Date: 2025-08-16 14:36\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Polish\n" "Language-Team: Polish\n"
"Language: pl_PL\n" "Language: pl_PL\n"
@ -1164,21 +1164,21 @@ msgstr "uruchomienie przepływu pracy"
msgid "workflow runs" msgid "workflow runs"
msgstr "uruchomienia przepływu pracy" msgstr "uruchomienia przepływu pracy"
#: documents/serialisers.py:135 #: documents/serialisers.py:139
#, python-format #, python-format
msgid "Invalid regular expression: %(error)s" msgid "Invalid regular expression: %(error)s"
msgstr "Nieprawidłowe wyrażenie regularne: %(error)s" msgstr "Nieprawidłowe wyrażenie regularne: %(error)s"
#: documents/serialisers.py:561 #: documents/serialisers.py:565
msgid "Invalid color." msgid "Invalid color."
msgstr "Nieprawidłowy kolor." msgstr "Nieprawidłowy kolor."
#: documents/serialisers.py:1645 #: documents/serialisers.py:1700
#, python-format #, python-format
msgid "File type %(type)s not supported" msgid "File type %(type)s not supported"
msgstr "Typ pliku %(type)s nie jest obsługiwany" msgstr "Typ pliku %(type)s nie jest obsługiwany"
#: documents/serialisers.py:1739 #: documents/serialisers.py:1794
msgid "Invalid variable detected." msgid "Invalid variable detected."
msgstr "Wykryto nieprawidłową zmienną." msgstr "Wykryto nieprawidłową zmienną."
@ -1411,21 +1411,21 @@ msgstr "Na koniec należy wypełnić poniższy formularz:"
#: documents/validators.py:24 #: documents/validators.py:24
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}, missing scheme" msgid "Unable to parse URI {value}, missing scheme"
msgstr "Nie można przeanalizować URI {value}, brak schematu." msgstr ""
#: documents/validators.py:29 #: documents/validators.py:29
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path" msgid "Unable to parse URI {value}, missing net location or path"
msgstr "Nie można przeanalizować URI {value}, brak lokalizacji sieciowej lub ścieżki" msgstr ""
#: documents/validators.py:36 #: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}" msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "Schemat URI '{parts.scheme}' jest niedozwolony. Dozwolone schematy: {', '.join(allowed_schemes)}." msgstr ""
#: documents/validators.py:45 #: documents/validators.py:45
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}" msgid "Unable to parse URI {value}"
msgstr "Nie można przeanalizować URI {value}." msgstr ""
#: paperless/apps.py:11 #: paperless/apps.py:11
msgid "Paperless" msgid "Paperless"
@ -1619,147 +1619,151 @@ msgstr "Ustawia mapowanie kodu kreskowego tagu"
msgid "paperless application settings" msgid "paperless application settings"
msgstr "paperless ustawienia aplikacji" msgstr "paperless ustawienia aplikacji"
#: paperless/settings.py:755 #: paperless/settings.py:774
msgid "English (US)" msgid "English (US)"
msgstr "Angielski (USA)" msgstr "Angielski (USA)"
#: paperless/settings.py:756 #: paperless/settings.py:775
msgid "Arabic" msgid "Arabic"
msgstr "arabski" msgstr "arabski"
#: paperless/settings.py:757 #: paperless/settings.py:776
msgid "Afrikaans" msgid "Afrikaans"
msgstr "Afrykanerski" msgstr "Afrykanerski"
#: paperless/settings.py:758 #: paperless/settings.py:777
msgid "Belarusian" msgid "Belarusian"
msgstr "Białoruski" msgstr "Białoruski"
#: paperless/settings.py:759 #: paperless/settings.py:778
msgid "Bulgarian" msgid "Bulgarian"
msgstr "Bułgarski" msgstr "Bułgarski"
#: paperless/settings.py:760 #: paperless/settings.py:779
msgid "Catalan" msgid "Catalan"
msgstr "Kataloński" msgstr "Kataloński"
#: paperless/settings.py:761 #: paperless/settings.py:780
msgid "Czech" msgid "Czech"
msgstr "Czeski" msgstr "Czeski"
#: paperless/settings.py:762 #: paperless/settings.py:781
msgid "Danish" msgid "Danish"
msgstr "Duński" msgstr "Duński"
#: paperless/settings.py:763 #: paperless/settings.py:782
msgid "German" msgid "German"
msgstr "Niemiecki" msgstr "Niemiecki"
#: paperless/settings.py:764 #: paperless/settings.py:783
msgid "Greek" msgid "Greek"
msgstr "Grecki" msgstr "Grecki"
#: paperless/settings.py:765 #: paperless/settings.py:784
msgid "English (GB)" msgid "English (GB)"
msgstr "Angielski (Wielka Brytania)" msgstr "Angielski (Wielka Brytania)"
#: paperless/settings.py:766 #: paperless/settings.py:785
msgid "Spanish" msgid "Spanish"
msgstr "Hiszpański" msgstr "Hiszpański"
#: paperless/settings.py:767 #: paperless/settings.py:786
msgid "Persian" msgid "Persian"
msgstr "perski" msgstr "perski"
#: paperless/settings.py:768 #: paperless/settings.py:787
msgid "Finnish" msgid "Finnish"
msgstr "Fiński" msgstr "Fiński"
#: paperless/settings.py:769 #: paperless/settings.py:788
msgid "French" msgid "French"
msgstr "Francuski" msgstr "Francuski"
#: paperless/settings.py:770 #: paperless/settings.py:789
msgid "Hungarian" msgid "Hungarian"
msgstr "Węgierski" msgstr "Węgierski"
#: paperless/settings.py:771 #: paperless/settings.py:790
msgid "Italian" msgid "Italian"
msgstr "Włoski" msgstr "Włoski"
#: paperless/settings.py:772 #: paperless/settings.py:791
msgid "Japanese" msgid "Japanese"
msgstr "Japoński" msgstr "Japoński"
#: paperless/settings.py:773 #: paperless/settings.py:792
msgid "Korean" msgid "Korean"
msgstr "Koreański" msgstr "Koreański"
#: paperless/settings.py:774 #: paperless/settings.py:793
msgid "Luxembourgish" msgid "Luxembourgish"
msgstr "Luksemburski" msgstr "Luksemburski"
#: paperless/settings.py:775 #: paperless/settings.py:794
msgid "Norwegian" msgid "Norwegian"
msgstr "Norweski" msgstr "Norweski"
#: paperless/settings.py:776 #: paperless/settings.py:795
msgid "Dutch" msgid "Dutch"
msgstr "Holenderski" msgstr "Holenderski"
#: paperless/settings.py:777 #: paperless/settings.py:796
msgid "Polish" msgid "Polish"
msgstr "Polski" msgstr "Polski"
#: paperless/settings.py:778 #: paperless/settings.py:797
msgid "Portuguese (Brazil)" msgid "Portuguese (Brazil)"
msgstr "Portugalski (Brazylia)" msgstr "Portugalski (Brazylia)"
#: paperless/settings.py:779 #: paperless/settings.py:798
msgid "Portuguese" msgid "Portuguese"
msgstr "Portugalski" msgstr "Portugalski"
#: paperless/settings.py:780 #: paperless/settings.py:799
msgid "Romanian" msgid "Romanian"
msgstr "Rumuński" msgstr "Rumuński"
#: paperless/settings.py:781 #: paperless/settings.py:800
msgid "Russian" msgid "Russian"
msgstr "Rosyjski" msgstr "Rosyjski"
#: paperless/settings.py:782 #: paperless/settings.py:801
msgid "Slovak" msgid "Slovak"
msgstr "Słowacki" msgstr "Słowacki"
#: paperless/settings.py:783 #: paperless/settings.py:802
msgid "Slovenian" msgid "Slovenian"
msgstr "Słoweński" msgstr "Słoweński"
#: paperless/settings.py:784 #: paperless/settings.py:803
msgid "Serbian" msgid "Serbian"
msgstr "Serbski" msgstr "Serbski"
#: paperless/settings.py:785 #: paperless/settings.py:804
msgid "Swedish" msgid "Swedish"
msgstr "Szwedzki" msgstr "Szwedzki"
#: paperless/settings.py:786 #: paperless/settings.py:805
msgid "Turkish" msgid "Turkish"
msgstr "Turecki" msgstr "Turecki"
#: paperless/settings.py:787 #: paperless/settings.py:806
msgid "Ukrainian" msgid "Ukrainian"
msgstr "Ukraiński" msgstr "Ukraiński"
#: paperless/settings.py:788 #: paperless/settings.py:807
msgid "Vietnamese"
msgstr ""
#: paperless/settings.py:808
msgid "Chinese Simplified" msgid "Chinese Simplified"
msgstr "Chiński uproszczony" msgstr "Chiński uproszczony"
#: paperless/settings.py:789 #: paperless/settings.py:809
msgid "Chinese Traditional" msgid "Chinese Traditional"
msgstr "chiński tradycyjny" msgstr "chiński tradycyjny"
#: paperless/urls.py:374 #: paperless/urls.py:368
msgid "Paperless-ngx administration" msgid "Paperless-ngx administration"
msgstr "Administracja Paperless-ngx" msgstr "Administracja Paperless-ngx"

View File

@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: paperless-ngx\n" "Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-06-19 18:51+0000\n" "POT-Creation-Date: 2025-08-16 14:34+0000\n"
"PO-Revision-Date: 2025-06-19 18:52\n" "PO-Revision-Date: 2025-08-16 14:36\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Portuguese, Brazilian\n" "Language-Team: Portuguese, Brazilian\n"
"Language: pt_BR\n" "Language: pt_BR\n"
@ -1165,21 +1165,21 @@ msgstr "execução do fluxo de trabalho"
msgid "workflow runs" msgid "workflow runs"
msgstr "execução de fluxo de trabalho" msgstr "execução de fluxo de trabalho"
#: documents/serialisers.py:135 #: documents/serialisers.py:139
#, python-format #, python-format
msgid "Invalid regular expression: %(error)s" msgid "Invalid regular expression: %(error)s"
msgstr "Expressão regular inválida: %(error)s" msgstr "Expressão regular inválida: %(error)s"
#: documents/serialisers.py:561 #: documents/serialisers.py:565
msgid "Invalid color." msgid "Invalid color."
msgstr "Cor inválida." msgstr "Cor inválida."
#: documents/serialisers.py:1645 #: documents/serialisers.py:1700
#, python-format #, python-format
msgid "File type %(type)s not supported" msgid "File type %(type)s not supported"
msgstr "Tipo de arquivo %(type)s não suportado" msgstr "Tipo de arquivo %(type)s não suportado"
#: documents/serialisers.py:1739 #: documents/serialisers.py:1794
msgid "Invalid variable detected." msgid "Invalid variable detected."
msgstr "Variável inválida detectada." msgstr "Variável inválida detectada."
@ -1412,21 +1412,21 @@ msgstr "Como etapa final, por favor preencha o seguinte formulário:"
#: documents/validators.py:24 #: documents/validators.py:24
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}, missing scheme" msgid "Unable to parse URI {value}, missing scheme"
msgstr "Não foi possível analisar o URI {value}, faltando esquema" msgstr ""
#: documents/validators.py:29 #: documents/validators.py:29
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path" msgid "Unable to parse URI {value}, missing net location or path"
msgstr "Não foi possível analisar URI {value}, faltando local ou localização da rede" msgstr ""
#: documents/validators.py:36 #: documents/validators.py:36
msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}" msgid "URI scheme '{parts.scheme}' is not allowed. Allowed schemes: {', '.join(allowed_schemes)}"
msgstr "Esquema de URI '{parts.scheme}' não é permitido. Esquemas permitidos: {', '.join(allowed_schemes)}" msgstr ""
#: documents/validators.py:45 #: documents/validators.py:45
#, python-brace-format #, python-brace-format
msgid "Unable to parse URI {value}" msgid "Unable to parse URI {value}"
msgstr "Não foi possível analisar o URI {value}" msgstr ""
#: paperless/apps.py:11 #: paperless/apps.py:11
msgid "Paperless" msgid "Paperless"
@ -1620,147 +1620,151 @@ msgstr "Define o mapeamento de códigos de barras da tag"
msgid "paperless application settings" msgid "paperless application settings"
msgstr "configurações do aplicativo paperless" msgstr "configurações do aplicativo paperless"
#: paperless/settings.py:755 #: paperless/settings.py:774
msgid "English (US)" msgid "English (US)"
msgstr "Inglês (EUA)" msgstr "Inglês (EUA)"
#: paperless/settings.py:756 #: paperless/settings.py:775
msgid "Arabic" msgid "Arabic"
msgstr "Árabe" msgstr "Árabe"
#: paperless/settings.py:757 #: paperless/settings.py:776
msgid "Afrikaans" msgid "Afrikaans"
msgstr "Africanês" msgstr "Africanês"
#: paperless/settings.py:758 #: paperless/settings.py:777
msgid "Belarusian" msgid "Belarusian"
msgstr "Bielorrusso" msgstr "Bielorrusso"
#: paperless/settings.py:759 #: paperless/settings.py:778
msgid "Bulgarian" msgid "Bulgarian"
msgstr "Búlgaro" msgstr "Búlgaro"
#: paperless/settings.py:760 #: paperless/settings.py:779
msgid "Catalan" msgid "Catalan"
msgstr "Catalão" msgstr "Catalão"
#: paperless/settings.py:761 #: paperless/settings.py:780
msgid "Czech" msgid "Czech"
msgstr "Tcheco" msgstr "Tcheco"
#: paperless/settings.py:762 #: paperless/settings.py:781
msgid "Danish" msgid "Danish"
msgstr "Dinamarquês" msgstr "Dinamarquês"
#: paperless/settings.py:763 #: paperless/settings.py:782
msgid "German" msgid "German"
msgstr "Alemão" msgstr "Alemão"
#: paperless/settings.py:764 #: paperless/settings.py:783
msgid "Greek" msgid "Greek"
msgstr "Grego" msgstr "Grego"
#: paperless/settings.py:765 #: paperless/settings.py:784
msgid "English (GB)" msgid "English (GB)"
msgstr "Inglês (GB)" msgstr "Inglês (GB)"
#: paperless/settings.py:766 #: paperless/settings.py:785
msgid "Spanish" msgid "Spanish"
msgstr "Espanhol" msgstr "Espanhol"
#: paperless/settings.py:767 #: paperless/settings.py:786
msgid "Persian" msgid "Persian"
msgstr "" msgstr ""
#: paperless/settings.py:768 #: paperless/settings.py:787
msgid "Finnish" msgid "Finnish"
msgstr "Finlandês" msgstr "Finlandês"
#: paperless/settings.py:769 #: paperless/settings.py:788
msgid "French" msgid "French"
msgstr "Francês" msgstr "Francês"
#: paperless/settings.py:770 #: paperless/settings.py:789
msgid "Hungarian" msgid "Hungarian"
msgstr "Húngaro" msgstr "Húngaro"
#: paperless/settings.py:771 #: paperless/settings.py:790
msgid "Italian" msgid "Italian"
msgstr "Italiano" msgstr "Italiano"
#: paperless/settings.py:772 #: paperless/settings.py:791
msgid "Japanese" msgid "Japanese"
msgstr "Japonês" msgstr "Japonês"
#: paperless/settings.py:773 #: paperless/settings.py:792
msgid "Korean" msgid "Korean"
msgstr "Coreano" msgstr "Coreano"
#: paperless/settings.py:774 #: paperless/settings.py:793
msgid "Luxembourgish" msgid "Luxembourgish"
msgstr "Luxemburguês" msgstr "Luxemburguês"
#: paperless/settings.py:775 #: paperless/settings.py:794
msgid "Norwegian" msgid "Norwegian"
msgstr "Norueguês" msgstr "Norueguês"
#: paperless/settings.py:776 #: paperless/settings.py:795
msgid "Dutch" msgid "Dutch"
msgstr "Holandês" msgstr "Holandês"
#: paperless/settings.py:777 #: paperless/settings.py:796
msgid "Polish" msgid "Polish"
msgstr "Polonês" msgstr "Polonês"
#: paperless/settings.py:778 #: paperless/settings.py:797
msgid "Portuguese (Brazil)" msgid "Portuguese (Brazil)"
msgstr "Português (Brasil)" msgstr "Português (Brasil)"
#: paperless/settings.py:779 #: paperless/settings.py:798
msgid "Portuguese" msgid "Portuguese"
msgstr "Português" msgstr "Português"
#: paperless/settings.py:780 #: paperless/settings.py:799
msgid "Romanian" msgid "Romanian"
msgstr "Romeno" msgstr "Romeno"
#: paperless/settings.py:781 #: paperless/settings.py:800
msgid "Russian" msgid "Russian"
msgstr "Russo" msgstr "Russo"
#: paperless/settings.py:782 #: paperless/settings.py:801
msgid "Slovak" msgid "Slovak"
msgstr "Eslovaco" msgstr "Eslovaco"
#: paperless/settings.py:783 #: paperless/settings.py:802
msgid "Slovenian" msgid "Slovenian"
msgstr "Esloveno" msgstr "Esloveno"
#: paperless/settings.py:784 #: paperless/settings.py:803
msgid "Serbian" msgid "Serbian"
msgstr "Sérvio" msgstr "Sérvio"
#: paperless/settings.py:785 #: paperless/settings.py:804
msgid "Swedish" msgid "Swedish"
msgstr "Sueco" msgstr "Sueco"
#: paperless/settings.py:786 #: paperless/settings.py:805
msgid "Turkish" msgid "Turkish"
msgstr "Turco" msgstr "Turco"
#: paperless/settings.py:787 #: paperless/settings.py:806
msgid "Ukrainian" msgid "Ukrainian"
msgstr "Ucraniano" msgstr "Ucraniano"
#: paperless/settings.py:788 #: paperless/settings.py:807
msgid "Vietnamese"
msgstr ""
#: paperless/settings.py:808
msgid "Chinese Simplified" msgid "Chinese Simplified"
msgstr "Chinês Simplificado" msgstr "Chinês Simplificado"
#: paperless/settings.py:789 #: paperless/settings.py:809
msgid "Chinese Traditional" msgid "Chinese Traditional"
msgstr "Chinês Tradicional" msgstr "Chinês Tradicional"
#: paperless/urls.py:374 #: paperless/urls.py:368
msgid "Paperless-ngx administration" msgid "Paperless-ngx administration"
msgstr "Administração do Paperless-ngx" msgstr "Administração do Paperless-ngx"

Some files were not shown because too many files have changed in this diff Show More