Compare commits

...

12 Commits

Author SHA1 Message Date
Trenton H
01d919cf31 Bumps version to 2.5.1 2024-02-12 15:56:41 -08:00
Trenton H
8d5f331e63 Merge remote-tracking branch 'origin/dev' 2024-02-12 15:56:19 -08:00
github-actions[bot]
ed556ead6f New Crowdin translations by GitHub Action (#5714)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2024-02-12 23:50:25 +00:00
dependabot[bot]
e10a904f33 Chore(deps-dev): Bump the development group with 2 updates (#5737)
Bumps the development group with 2 updates: [black](https://github.com/psf/black) and [mkdocs-material](https://github.com/squidfunk/mkdocs-material).


Updates `black` from 24.1.1 to 24.2.0
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/24.1.1...24.2.0)

Updates `mkdocs-material` from 9.5.8 to 9.5.9
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.8...9.5.9)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development
- dependency-name: mkdocs-material
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-12 13:54:31 -08:00
dependabot[bot]
f2a05b61da Chore(deps): Bump the django group with 1 update (#5739)
Bumps the django group with 1 update: [django-allauth](https://github.com/pennersr/django-allauth).


Updates `django-allauth` from 0.61.0 to 0.61.1
- [Changelog](https://github.com/pennersr/django-allauth/blob/main/ChangeLog.rst)
- [Commits](https://github.com/pennersr/django-allauth/compare/0.61.0...0.61.1)

---
updated-dependencies:
- dependency-name: django-allauth
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: django
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-12 21:05:34 +00:00
Trenton H
21f96f0679 Fix: Splitting on ASN barcodes even if not enabled (#5740)
* Fixes the barcodes always splitting on ASNs, even if splitting was disabled
2024-02-12 12:58:37 -08:00
shamoon
2ffabd54e5 Documentation: add barcode tagging info 2024-02-12 12:51:52 -08:00
Dennis Gaida
1197437750 Documentation: explain PAPERLESS_APPS for external authentication (#5730) 2024-02-12 07:10:14 -08:00
shamoon
d1339374d0 Fix: add missing icon 2024-02-10 22:42:02 -08:00
Trenton Holmes
5ba4b9d6b2 Corrects the spelling 2024-02-10 18:53:03 -08:00
github-actions[bot]
b386ea9426 Changelog v2.5.0 - GHA (#5715)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-10 18:46:53 -08:00
Trenton H
197174f400 Resets -dev version string 2024-02-10 11:46:51 -08:00
18 changed files with 260 additions and 148 deletions

61
Pipfile.lock generated
View File

@@ -1,7 +1,7 @@
{
"_meta": {
"hash": {
"sha256": "3b7d7fbb271204d23f9cf66d0bdc9e77f5f995fccc2351816043d63b4dbec019"
"sha256": "f11be7db7651d097cd7b48b33570e88992c4c4d9819a66e56d6b1e578534c984"
},
"pipfile-spec": 6,
"requires": {},
@@ -471,11 +471,11 @@
},
"django-allauth": {
"hashes": [
"sha256:e449d2378e1f33803bcf6f1ecc28439ce383de9b5c128a66aa301c4a0e71806f"
"sha256:5b4ae515ea74f54f0041210692eee10c309ad15ddbbd03d3620693c75e3f7945"
],
"index": "pypi",
"markers": "python_version >= '3.7'",
"version": "==0.61.0"
"version": "==0.61.1"
},
"django-auditlog": {
"hashes": [
@@ -2496,32 +2496,32 @@
},
"black": {
"hashes": [
"sha256:0269dfdea12442022e88043d2910429bed717b2d04523867a85dacce535916b8",
"sha256:07204d078e25327aad9ed2c64790d681238686bce254c910de640c7cc4fc3aa6",
"sha256:08b34e85170d368c37ca7bf81cf67ac863c9d1963b2c1780c39102187ec8dd62",
"sha256:1a95915c98d6e32ca43809d46d932e2abc5f1f7d582ffbe65a5b4d1588af7445",
"sha256:2588021038bd5ada078de606f2a804cadd0a3cc6a79cb3e9bb3a8bf581325a4c",
"sha256:2fa6a0e965779c8f2afb286f9ef798df770ba2b6cee063c650b96adec22c056a",
"sha256:34afe9da5056aa123b8bfda1664bfe6fb4e9c6f311d8e4a6eb089da9a9173bf9",
"sha256:3897ae5a21ca132efa219c029cce5e6bfc9c3d34ed7e892113d199c0b1b444a2",
"sha256:40657e1b78212d582a0edecafef133cf1dd02e6677f539b669db4746150d38f6",
"sha256:48b5760dcbfe5cf97fd4fba23946681f3a81514c6ab8a45b50da67ac8fbc6c7b",
"sha256:5242ecd9e990aeb995b6d03dc3b2d112d4a78f2083e5a8e86d566340ae80fec4",
"sha256:5cdc2e2195212208fbcae579b931407c1fa9997584f0a415421748aeafff1168",
"sha256:5d7b06ea8816cbd4becfe5f70accae953c53c0e53aa98730ceccb0395520ee5d",
"sha256:7258c27115c1e3b5de9ac6c4f9957e3ee2c02c0b39222a24dc7aa03ba0e986f5",
"sha256:854c06fb86fd854140f37fb24dbf10621f5dab9e3b0c29a690ba595e3d543024",
"sha256:a21725862d0e855ae05da1dd25e3825ed712eaaccef6b03017fe0853a01aa45e",
"sha256:a83fe522d9698d8f9a101b860b1ee154c1d25f8a82ceb807d319f085b2627c5b",
"sha256:b3d64db762eae4a5ce04b6e3dd745dcca0fb9560eb931a5be97472e38652a161",
"sha256:e298d588744efda02379521a19639ebcd314fba7a49be22136204d7ed1782717",
"sha256:e2c8dfa14677f90d976f68e0c923947ae68fa3961d61ee30976c388adc0b02c8",
"sha256:ecba2a15dfb2d97105be74bbfe5128bc5e9fa8477d8c46766505c1dda5883aac",
"sha256:fc1ec9aa6f4d98d022101e015261c056ddebe3da6a8ccfc2c792cbe0349d48b7"
"sha256:057c3dc602eaa6fdc451069bd027a1b2635028b575a6c3acfd63193ced20d9c8",
"sha256:08654d0797e65f2423f850fc8e16a0ce50925f9337fb4a4a176a7aa4026e63f8",
"sha256:163baf4ef40e6897a2a9b83890e59141cc8c2a98f2dda5080dc15c00ee1e62cd",
"sha256:1e08fb9a15c914b81dd734ddd7fb10513016e5ce7e6704bdd5e1251ceee51ac9",
"sha256:4dd76e9468d5536abd40ffbc7a247f83b2324f0c050556d9c371c2b9a9a95e31",
"sha256:4f9de21bafcba9683853f6c96c2d515e364aee631b178eaa5145fc1c61a3cc92",
"sha256:61a0391772490ddfb8a693c067df1ef5227257e72b0e4108482b8d41b5aee13f",
"sha256:6981eae48b3b33399c8757036c7f5d48a535b962a7c2310d19361edeef64ce29",
"sha256:7e53a8c630f71db01b28cd9602a1ada68c937cbf2c333e6ed041390d6968faf4",
"sha256:810d445ae6069ce64030c78ff6127cd9cd178a9ac3361435708b907d8a04c693",
"sha256:93601c2deb321b4bad8f95df408e3fb3943d85012dddb6121336b8e24a0d1218",
"sha256:992e451b04667116680cb88f63449267c13e1ad134f30087dec8527242e9862a",
"sha256:9db528bccb9e8e20c08e716b3b09c6bdd64da0dd129b11e160bf082d4642ac23",
"sha256:a0057f800de6acc4407fe75bb147b0c2b5cbb7c3ed110d3e5999cd01184d53b0",
"sha256:ba15742a13de85e9b8f3239c8f807723991fbfae24bad92d34a2b12e81904982",
"sha256:bce4f25c27c3435e4dace4815bcb2008b87e167e3bf4ee47ccdc5ce906eb4894",
"sha256:ca610d29415ee1a30a3f30fab7a8f4144e9d34c89a235d81292a1edb2b55f540",
"sha256:d533d5e3259720fdbc1b37444491b024003e012c5173f7d06825a77508085430",
"sha256:d84f29eb3ee44859052073b7636533ec995bd0f64e2fb43aeceefc70090e752b",
"sha256:e37c99f89929af50ffaf912454b3e3b47fd64109659026b678c091a4cd450fb2",
"sha256:e8a6ae970537e67830776488bca52000eaa37fa63b9988e8c487458d9cd5ace6",
"sha256:faf2ee02e6612577ba0181f4347bcbcf591eb122f7841ae5ba233d12c39dcb4d"
],
"index": "pypi",
"markers": "python_version >= '3.8'",
"version": "==24.1.1"
"version": "==24.2.0"
},
"certifi": {
"hashes": [
@@ -3070,12 +3070,12 @@
},
"mkdocs-material": {
"hashes": [
"sha256:14563314bbf97da4bfafc69053772341babfaeb3329cde01d3e63cec03997af8",
"sha256:2a429213e83f84eda7a588e2b186316d806aac602b7f93990042f7a1f3d3cf65"
"sha256:635df543c01c25c412d6c22991872267723737d5a2f062490f33b2da1c013c6d",
"sha256:a5d62b73b3b74349e45472bfadc129c871dd2d4add68d84819580597b2f50d5d"
],
"index": "pypi",
"markers": "python_version >= '3.8'",
"version": "==9.5.8"
"version": "==9.5.9"
},
"mkdocs-material-extensions": {
"hashes": [
@@ -3386,7 +3386,6 @@
"sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86",
"sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"
],
"index": "pypi",
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
"version": "==2.8.2"
},
@@ -3475,6 +3474,7 @@
"sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d",
"sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"
],
"markers": "python_version >= '3.6'",
"version": "==6.0.1"
},
"pyyaml-env-tag": {
@@ -3767,7 +3767,6 @@
"sha256:d00e6be486affb5781468457b21a6cbe848c33ef43f9ea4a73b4882e5f188a44",
"sha256:d429c2430c93b7903914e4db9a966c7f2b068dd2ebdd2fa9b9ce094c7d459f33"
],
"index": "pypi",
"markers": "python_version >= '3.7'",
"version": "==3.0.0"
},

View File

@@ -569,6 +569,14 @@ barcode is located. However, differing from the splitting, the page with the
barcode _will_ be retained. This allows application of a barcode to any page, including
one which holds data to keep in the document.
### Tag Assignment
When enabled, Paperless will parse barcodes and attempt to interpret and assign tags.
See the relevant settings [`PAPERLESS_CONSUMER_ENABLE_TAG_BARCODE`](configuration.md#PAPERLESS_CONSUMER_ENABLE_TAG_BARCODE)
and [`PAPERLESS_CONSUMER_TAG_BARCODE_MAPPING`](configuration.md#PAPERLESS_CONSUMER_TAG_BARCODE_MAPPING)
for more information.
## Automatic collation of double-sided documents {#collate}
!!! note

View File

@@ -1,5 +1,100 @@
# Changelog
## paperless-ngx 2.5.0
### Breaking Changes
- Enhancement: bulk delete objects [@shamoon](https://github.com/shamoon) ([#5688](https://github.com/paperless-ngx/paperless-ngx/pull/5688))
### Notable Changes
- Feature: OIDC \& social authentication [@mpflanzer](https://github.com/mpflanzer) ([#5190](https://github.com/paperless-ngx/paperless-ngx/pull/5190))
### Features
- Enhancement: confirm buttons [@shamoon](https://github.com/shamoon) ([#5680](https://github.com/paperless-ngx/paperless-ngx/pull/5680))
- Enhancement: bulk delete objects [@shamoon](https://github.com/shamoon) ([#5688](https://github.com/paperless-ngx/paperless-ngx/pull/5688))
- Feature: allow create objects from bulk edit [@shamoon](https://github.com/shamoon) ([#5667](https://github.com/paperless-ngx/paperless-ngx/pull/5667))
- Feature: Allow tagging by putting barcodes on documents [@pkrahmer](https://github.com/pkrahmer) ([#5580](https://github.com/paperless-ngx/paperless-ngx/pull/5580))
- Feature: Cache metadata and suggestions in Redis [@stumpylog](https://github.com/stumpylog) ([#5638](https://github.com/paperless-ngx/paperless-ngx/pull/5638))
- Feature: Japanese translation [@shamoon](https://github.com/shamoon) ([#5641](https://github.com/paperless-ngx/paperless-ngx/pull/5641))
- Feature: option for auto-remove inbox tags on save [@shamoon](https://github.com/shamoon) ([#5562](https://github.com/paperless-ngx/paperless-ngx/pull/5562))
- Enhancement: allow paperless to run in read-only filesystem [@hegerdes](https://github.com/hegerdes) ([#5596](https://github.com/paperless-ngx/paperless-ngx/pull/5596))
- Enhancement: mergeable bulk edit permissions [@shamoon](https://github.com/shamoon) ([#5508](https://github.com/paperless-ngx/paperless-ngx/pull/5508))
- Enhancement: re-implement remote user auth for unsafe API requests as opt-in [@shamoon](https://github.com/shamoon) ([#5561](https://github.com/paperless-ngx/paperless-ngx/pull/5561))
- Enhancement: Respect PDF cropbox for thumbnail generation [@henningBunk](https://github.com/henningBunk) ([#5531](https://github.com/paperless-ngx/paperless-ngx/pull/5531))
### Bug Fixes
- Fix: Test metadata items for Unicode issues [@stumpylog](https://github.com/stumpylog) ([#5707](https://github.com/paperless-ngx/paperless-ngx/pull/5707))
- Change: try to show preview even if metadata fails [@shamoon](https://github.com/shamoon) ([#5706](https://github.com/paperless-ngx/paperless-ngx/pull/5706))
- Fix: only check workflow trigger source if not empty [@shamoon](https://github.com/shamoon) ([#5701](https://github.com/paperless-ngx/paperless-ngx/pull/5701))
- Fix: frontend validation of number fields fails upon save [@shamoon](https://github.com/shamoon) ([#5646](https://github.com/paperless-ngx/paperless-ngx/pull/5646))
- Fix: Explicit validation of custom field name unique constraint [@shamoon](https://github.com/shamoon) ([#5647](https://github.com/paperless-ngx/paperless-ngx/pull/5647))
- Fix: Don't attempt to retrieve object types user doesn't have permissions to [@shamoon](https://github.com/shamoon) ([#5612](https://github.com/paperless-ngx/paperless-ngx/pull/5612))
### Documentation
- Documentation: add detail about consumer polling behavior [@silmaril42](https://github.com/silmaril42) ([#5674](https://github.com/paperless-ngx/paperless-ngx/pull/5674))
- Paperless-ngx Demo: new and improved [@shamoon](https://github.com/shamoon) ([#5639](https://github.com/paperless-ngx/paperless-ngx/pull/5639))
- Documentation: Add docs about missing timezones in MySQL/MariaDB [@Programie](https://github.com/Programie) ([#5583](https://github.com/paperless-ngx/paperless-ngx/pull/5583))
### Maintenance
- Chore(deps): Bump the actions group with 1 update [@dependabot](https://github.com/dependabot) ([#5629](https://github.com/paperless-ngx/paperless-ngx/pull/5629))
- Chore(deps): Bump the actions group with 1 update [@dependabot](https://github.com/dependabot) ([#5597](https://github.com/paperless-ngx/paperless-ngx/pull/5597))
### Dependencies
<details>
<summary>9 changes</summary>
- Chore: Backend dependencies update [@stumpylog](https://github.com/stumpylog) ([#5676](https://github.com/paperless-ngx/paperless-ngx/pull/5676))
- Chore(deps-dev): Bump [@<!---->playwright/test from 1.40.1 to 1.41.2 in /src-ui @dependabot](https://github.com/<!---->playwright/test from 1.40.1 to 1.41.2 in /src-ui @dependabot) ([#5634](https://github.com/paperless-ngx/paperless-ngx/pull/5634))
- Chore(deps): Bump the frontend-angular-dependencies group in /src-ui with 19 updates [@dependabot](https://github.com/dependabot) ([#5630](https://github.com/paperless-ngx/paperless-ngx/pull/5630))
- Chore(deps-dev): Bump the frontend-jest-dependencies group in /src-ui with 2 updates [@dependabot](https://github.com/dependabot) ([#5631](https://github.com/paperless-ngx/paperless-ngx/pull/5631))
- Chore(deps-dev): Bump the frontend-eslint-dependencies group in /src-ui with 2 updates [@dependabot](https://github.com/dependabot) ([#5632](https://github.com/paperless-ngx/paperless-ngx/pull/5632))
- Chore(deps): Bump zone.js from 0.14.2 to 0.14.3 in /src-ui [@dependabot](https://github.com/dependabot) ([#5633](https://github.com/paperless-ngx/paperless-ngx/pull/5633))
- Chore(deps-dev): Bump [@<!---->types/node from 20.10.6 to 20.11.16 in /src-ui @dependabot](https://github.com/<!---->types/node from 20.10.6 to 20.11.16 in /src-ui @dependabot) ([#5635](https://github.com/paperless-ngx/paperless-ngx/pull/5635))
- Chore(deps): Bump the actions group with 1 update [@dependabot](https://github.com/dependabot) ([#5629](https://github.com/paperless-ngx/paperless-ngx/pull/5629))
- Chore(deps): Bump the actions group with 1 update [@dependabot](https://github.com/dependabot) ([#5597](https://github.com/paperless-ngx/paperless-ngx/pull/5597))
</details>
### All App Changes
<details>
<summary>28 changes</summary>
- Chore: Ensure all creations of directories create the parents too [@stumpylog](https://github.com/stumpylog) ([#5711](https://github.com/paperless-ngx/paperless-ngx/pull/5711))
- Fix: Test metadata items for Unicode issues [@stumpylog](https://github.com/stumpylog) ([#5707](https://github.com/paperless-ngx/paperless-ngx/pull/5707))
- Change: try to show preview even if metadata fails [@shamoon](https://github.com/shamoon) ([#5706](https://github.com/paperless-ngx/paperless-ngx/pull/5706))
- Fix: only check workflow trigger source if not empty [@shamoon](https://github.com/shamoon) ([#5701](https://github.com/paperless-ngx/paperless-ngx/pull/5701))
- Enhancement: confirm buttons [@shamoon](https://github.com/shamoon) ([#5680](https://github.com/paperless-ngx/paperless-ngx/pull/5680))
- Enhancement: bulk delete objects [@shamoon](https://github.com/shamoon) ([#5688](https://github.com/paperless-ngx/paperless-ngx/pull/5688))
- Chore: Backend dependencies update [@stumpylog](https://github.com/stumpylog) ([#5676](https://github.com/paperless-ngx/paperless-ngx/pull/5676))
- Feature: OIDC \& social authentication [@mpflanzer](https://github.com/mpflanzer) ([#5190](https://github.com/paperless-ngx/paperless-ngx/pull/5190))
- Chore: Don't write Python bytecode in the Docker image [@stumpylog](https://github.com/stumpylog) ([#5677](https://github.com/paperless-ngx/paperless-ngx/pull/5677))
- Feature: allow create objects from bulk edit [@shamoon](https://github.com/shamoon) ([#5667](https://github.com/paperless-ngx/paperless-ngx/pull/5667))
- Chore: Use memory cache backend in debug mode [@shamoon](https://github.com/shamoon) ([#5666](https://github.com/paperless-ngx/paperless-ngx/pull/5666))
- Chore: Adds additional rules for Ruff linter [@stumpylog](https://github.com/stumpylog) ([#5660](https://github.com/paperless-ngx/paperless-ngx/pull/5660))
- Feature: Allow tagging by putting barcodes on documents [@pkrahmer](https://github.com/pkrahmer) ([#5580](https://github.com/paperless-ngx/paperless-ngx/pull/5580))
- Feature: Cache metadata and suggestions in Redis [@stumpylog](https://github.com/stumpylog) ([#5638](https://github.com/paperless-ngx/paperless-ngx/pull/5638))
- Fix: frontend validation of number fields fails upon save [@shamoon](https://github.com/shamoon) ([#5646](https://github.com/paperless-ngx/paperless-ngx/pull/5646))
- Fix: Explicit validation of custom field name unique constraint [@shamoon](https://github.com/shamoon) ([#5647](https://github.com/paperless-ngx/paperless-ngx/pull/5647))
- Feature: Japanese translation [@shamoon](https://github.com/shamoon) ([#5641](https://github.com/paperless-ngx/paperless-ngx/pull/5641))
- Chore(deps-dev): Bump [@<!---->playwright/test from 1.40.1 to 1.41.2 in /src-ui @dependabot](https://github.com/<!---->playwright/test from 1.40.1 to 1.41.2 in /src-ui @dependabot) ([#5634](https://github.com/paperless-ngx/paperless-ngx/pull/5634))
- Feature: option for auto-remove inbox tags on save [@shamoon](https://github.com/shamoon) ([#5562](https://github.com/paperless-ngx/paperless-ngx/pull/5562))
- Chore(deps): Bump the frontend-angular-dependencies group in /src-ui with 19 updates [@dependabot](https://github.com/dependabot) ([#5630](https://github.com/paperless-ngx/paperless-ngx/pull/5630))
- Chore(deps-dev): Bump the frontend-jest-dependencies group in /src-ui with 2 updates [@dependabot](https://github.com/dependabot) ([#5631](https://github.com/paperless-ngx/paperless-ngx/pull/5631))
- Chore(deps-dev): Bump the frontend-eslint-dependencies group in /src-ui with 2 updates [@dependabot](https://github.com/dependabot) ([#5632](https://github.com/paperless-ngx/paperless-ngx/pull/5632))
- Chore(deps): Bump zone.js from 0.14.2 to 0.14.3 in /src-ui [@dependabot](https://github.com/dependabot) ([#5633](https://github.com/paperless-ngx/paperless-ngx/pull/5633))
- Chore(deps-dev): Bump [@<!---->types/node from 20.10.6 to 20.11.16 in /src-ui @dependabot](https://github.com/<!---->types/node from 20.10.6 to 20.11.16 in /src-ui @dependabot) ([#5635](https://github.com/paperless-ngx/paperless-ngx/pull/5635))
- Enhancement: mergeable bulk edit permissions [@shamoon](https://github.com/shamoon) ([#5508](https://github.com/paperless-ngx/paperless-ngx/pull/5508))
- Enhancement: re-implement remote user auth for unsafe API requests as opt-in [@shamoon](https://github.com/shamoon) ([#5561](https://github.com/paperless-ngx/paperless-ngx/pull/5561))
- Enhancement: Respect PDF cropbox for thumbnail generation [@henningBunk](https://github.com/henningBunk) ([#5531](https://github.com/paperless-ngx/paperless-ngx/pull/5531))
- Fix: Don't attempt to retrieve object types user doesn't have permissions to [@shamoon](https://github.com/shamoon) ([#5612](https://github.com/paperless-ngx/paperless-ngx/pull/5612))
</details>
## paperless-ngx 2.4.3
### Bug Fixes

View File

@@ -540,8 +540,8 @@ This is for use with self-signed certificates against local IMAP servers.
: This variable is used to setup login and signup via social account providers which are compatible with django-allauth.
See the corresponding [django-allauth documentation](https://docs.allauth.org/en/0.60.0/socialaccount/providers/index.html)
for a list of provider configurations. You will also likely need to include the relevant Django 'application' inside the
[PAPERLESS_APPS](#PAPERLESS_APPS) setting.
for a list of provider configurations. You will also need to include the relevant Django 'application' inside the
[PAPERLESS_APPS](#PAPERLESS_APPS) setting to activate that specific authentication provider (e.g. `allauth.socialaccount.providers.openid_connect` for the [OIDC Connect provider](https://docs.allauth.org/en/latest/socialaccount/providers/openid_connect.html)).
Defaults to None, which does not enable any third party authentication systems.

View File

@@ -138,6 +138,7 @@ import {
chevronDoubleLeft,
chevronDoubleRight,
clipboard,
clipboardCheck,
clipboardCheckFill,
clipboardFill,
dash,
@@ -222,6 +223,7 @@ const icons = {
chevronDoubleLeft,
chevronDoubleRight,
clipboard,
clipboardCheck,
clipboardCheckFill,
clipboardFill,
dash,

View File

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

View File

@@ -2505,7 +2505,7 @@
<context context-type="sourcefile">src/app/components/dashboard/widgets/statistics-widget/statistics-widget.component.html</context>
<context context-type="linenumber">74</context>
</context-group>
<target state="translated">ドキュメント種別</target>
<target state="translated">ドキュメントタイプ</target>
</trans-unit>
<trans-unit id="5421255270838137624" datatype="html">
<source>Storage Paths</source>

View File

@@ -455,7 +455,7 @@
<context context-type="sourcefile">src/app/components/admin/config/config.component.html</context>
<context context-type="linenumber">2</context>
</context-group>
<target state="needs-translation">Application Configuration</target>
<target state="translated">Konfiguracija aplikacije</target>
</trans-unit>
<trans-unit id="8528041182664173532" datatype="html">
<source>Global app configuration options which apply to &lt;strong&gt;every&lt;/strong&gt; user of this install of Paperless-ngx. Options can also be set using environment variables or the configuration file but the value here will always take precedence.</source>
@@ -497,7 +497,7 @@
<context context-type="sourcefile">src/app/components/admin/config/config.component.html</context>
<context context-type="linenumber">34</context>
</context-group>
<target state="needs-translation">Enable</target>
<target state="translated">Omogoči</target>
</trans-unit>
<trans-unit id="3823219296477075982" datatype="html">
<source>Discard</source>
@@ -581,7 +581,7 @@
<context context-type="sourcefile">src/app/components/admin/config/config.component.ts</context>
<context context-type="linenumber">81</context>
</context-group>
<target state="needs-translation">Error retrieving config</target>
<target state="translated">Napaka pri pridobivanju konfiguracije</target>
</trans-unit>
<trans-unit id="1172622527269118932" datatype="html">
<source>Invalid JSON</source>
@@ -589,7 +589,7 @@
<context context-type="sourcefile">src/app/components/admin/config/config.component.ts</context>
<context context-type="linenumber">107</context>
</context-group>
<target state="needs-translation">Invalid JSON</target>
<target state="translated">Neveljaven JSON</target>
</trans-unit>
<trans-unit id="5103146006962696736" datatype="html">
<source>Configuration updated</source>
@@ -597,7 +597,7 @@
<context context-type="sourcefile">src/app/components/admin/config/config.component.ts</context>
<context context-type="linenumber">151</context>
</context-group>
<target state="needs-translation">Configuration updated</target>
<target state="translated">Konfiguracija posodobljena</target>
</trans-unit>
<trans-unit id="1664963291286452273" datatype="html">
<source>An error occurred updating configuration</source>
@@ -657,7 +657,7 @@
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.html</context>
<context context-type="linenumber">16</context>
</context-group>
<target state="needs-translation">Auto refresh</target>
<target state="translated">Samodejno osveži</target>
</trans-unit>
<trans-unit id="3894950702316166331" datatype="html">
<source>Loading...</source>
@@ -2341,7 +2341,7 @@
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
<context context-type="linenumber">55</context>
</context-group>
<target state="needs-translation">My Profile</target>
<target state="translated">Moj profil</target>
</trans-unit>
<trans-unit id="3797778920049399855" datatype="html">
<source>Logout</source>
@@ -2589,7 +2589,7 @@
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
<context context-type="linenumber">242</context>
</context-group>
<target state="needs-translation">Configuration</target>
<target state="translated">Konfiguracija</target>
</trans-unit>
<trans-unit id="1534029177398918729" datatype="html">
<source>GitHub</source>
@@ -2685,7 +2685,7 @@
<context context-type="sourcefile">src/app/components/common/confirm-button/confirm-button.component.ts</context>
<context context-type="linenumber">20</context>
</context-group>
<target state="needs-translation">Are you sure?</target>
<target state="translated">Ste prepričani?</target>
</trans-unit>
<trans-unit id="1234709746630139322" datatype="html">
<source>Confirmation</source>
@@ -3765,7 +3765,7 @@
<context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.html</context>
<context context-type="linenumber">30</context>
</context-group>
<target state="needs-translation">Enabled</target>
<target state="translated">Omogočeno</target>
</trans-unit>
<trans-unit id="1586840222182376783" datatype="html">
<source>Triggers</source>
@@ -3777,7 +3777,7 @@
<context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.html</context>
<context context-type="linenumber">20</context>
</context-group>
<target state="needs-translation">Triggers</target>
<target state="translated">Sprožilci</target>
</trans-unit>
<trans-unit id="2033923486957762916" datatype="html">
<source>Trigger Workflow On:</source>
@@ -3793,7 +3793,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">30</context>
</context-group>
<target state="needs-translation">Add Trigger</target>
<target state="translated">Dodaj sprožilec</target>
</trans-unit>
<trans-unit id="6882912390704300247" datatype="html">
<source>Apply Actions:</source>
@@ -3809,7 +3809,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">72</context>
</context-group>
<target state="needs-translation">Add Action</target>
<target state="translated">Dodaj akcijo</target>
</trans-unit>
<trans-unit id="6417103744331194518" datatype="html">
<source>Action type</source>
@@ -3817,7 +3817,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">94</context>
</context-group>
<target state="needs-translation">Action type</target>
<target state="translated">Tip akcije</target>
</trans-unit>
<trans-unit id="6019822389883736115" datatype="html">
<source>Assign title</source>
@@ -3977,7 +3977,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">196</context>
</context-group>
<target state="needs-translation">Has tags</target>
<target state="translated">Ima oznake</target>
</trans-unit>
<trans-unit id="5281365940563983618" datatype="html">
<source>Has correspondent</source>
@@ -4379,7 +4379,7 @@
<context context-type="sourcefile">src/app/components/common/page-header/page-header.component.html</context>
<context context-type="linenumber">9</context>
</context-group>
<target state="needs-translation">What's this?</target>
<target state="translated">Kaj je to?</target>
</trans-unit>
<trans-unit id="2827984212740060090" datatype="html">
<source>Read more</source>
@@ -4387,7 +4387,7 @@
<context context-type="sourcefile">src/app/components/common/page-header/page-header.component.html</context>
<context context-type="linenumber">15</context>
</context-group>
<target state="needs-translation">Read more</target>
<target state="translated">Preberite več</target>
</trans-unit>
<trans-unit id="7940755769131903278" datatype="html">
<source>Merge with existing permissions</source>
@@ -4523,7 +4523,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html</context>
<context context-type="linenumber">23</context>
</context-group>
<target state="needs-translation">Confirm Password</target>
<target state="translated">Potrdite geslo</target>
</trans-unit>
<trans-unit id="7554924397178347823" datatype="html">
<source>API Auth Token</source>
@@ -4599,7 +4599,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html</context>
<context context-type="linenumber">69</context>
</context-group>
<target state="needs-translation">Disconnect</target>
<target state="translated">Prekini povezavo</target>
</trans-unit>
<trans-unit id="5322995394400578831" datatype="html">
<source>Disconnect <x id="INTERPOLATION" equiv-text="{{ account.name }}"/> social account</source>
@@ -5174,7 +5174,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context>
<context context-type="linenumber">9</context>
</context-group>
<target state="needs-translation">-</target>
<target state="translated">-</target>
</trans-unit>
<trans-unit id="8479257185772414452" datatype="html">
<source>+</source>
@@ -5182,7 +5182,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context>
<context context-type="linenumber">17</context>
</context-group>
<target state="needs-translation">+</target>
<target state="translated">+</target>
</trans-unit>
<trans-unit id="8659635229098859487" datatype="html">
<source>Download original</source>
@@ -5498,7 +5498,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">352</context>
</context-group>
<target state="needs-translation">Ok</target>
<target state="translated">V redu</target>
</trans-unit>
<trans-unit id="5758784066858623886" datatype="html">
<source>Error retrieving metadata</source>
@@ -7152,7 +7152,7 @@
<context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.html</context>
<context context-type="linenumber">30</context>
</context-group>
<target state="needs-translation">Disabled</target>
<target state="translated">Onemogočeno</target>
</trans-unit>
<trans-unit id="1624023882313260402" datatype="html">
<source>No workflows defined.</source>
@@ -7392,7 +7392,7 @@
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">50</context>
</context-group>
<target state="needs-translation">General Settings</target>
<target state="translated">Splošne nastavitve</target>
</trans-unit>
<trans-unit id="2762851116637676072" datatype="html">
<source>OCR Settings</source>
@@ -7416,7 +7416,7 @@
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">83</context>
</context-group>
<target state="needs-translation">Language</target>
<target state="translated">Jezik</target>
</trans-unit>
<trans-unit id="3817498941817715969" datatype="html">
<source>Pages</source>
@@ -7424,7 +7424,7 @@
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
<context context-type="linenumber">90</context>
</context-group>
<target state="needs-translation">Pages</target>
<target state="translated">Strani</target>
</trans-unit>
<trans-unit id="1713271461473302108" datatype="html">
<source>Mode</source>

View File

@@ -4379,7 +4379,7 @@
<context context-type="sourcefile">src/app/components/common/page-header/page-header.component.html</context>
<context context-type="linenumber">9</context>
</context-group>
<target state="needs-translation">What's this?</target>
<target state="translated">Šta je ovo?</target>
</trans-unit>
<trans-unit id="2827984212740060090" datatype="html">
<source>Read more</source>
@@ -5498,7 +5498,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">352</context>
</context-group>
<target state="needs-translation">Ok</target>
<target state="translated">Ok</target>
</trans-unit>
<trans-unit id="5758784066858623886" datatype="html">
<source>Error retrieving metadata</source>

View File

@@ -88,64 +88,71 @@ class BarcodePlugin(ConsumeTaskPlugin):
self.detect()
# Update/overwrite an ASN if possible
located_asn = self.asn
if located_asn is not None:
if (
settings.CONSUMER_ENABLE_ASN_BARCODE
and (located_asn := self.asn) is not None
):
logger.info(f"Found ASN in barcode: {located_asn}")
self.metadata.asn = located_asn
# try reading tags from barcodes
if settings.CONSUMER_ENABLE_TAG_BARCODE:
tags = self.tags
if tags is not None and len(tags) > 0:
if self.metadata.tag_ids:
self.metadata.tag_ids += tags
else:
self.metadata.tag_ids = tags
logger.info(f"Found tags in barcode: {tags}")
if (
settings.CONSUMER_ENABLE_TAG_BARCODE
and (tags := self.tags) is not None
and len(tags) > 0
):
if self.metadata.tag_ids:
self.metadata.tag_ids += tags
else:
self.metadata.tag_ids = tags
logger.info(f"Found tags in barcode: {tags}")
separator_pages = self.get_separation_pages()
if not separator_pages:
return "No pages to split on!"
# Lastly attempt to split documents
if settings.CONSUMER_ENABLE_BARCODES:
# We have pages to split against
separator_pages = self.get_separation_pages()
if not separator_pages:
return "No pages to split on!"
# Note this does NOT use the base_temp_dir, as that will be removed
tmp_dir = Path(
tempfile.mkdtemp(
dir=settings.SCRATCH_DIR,
prefix="paperless-barcode-split-",
),
).resolve()
# We have pages to split against
from documents import tasks
# Create the split document tasks
for new_document in self.separate_pages(separator_pages):
copy_file_with_basic_stats(new_document, tmp_dir / new_document.name)
task = tasks.consume_file.delay(
ConsumableDocument(
# Same source, for templates
source=self.input_doc.source,
mailrule_id=self.input_doc.mailrule_id,
# Can't use same folder or the consume might grab it again
original_file=(tmp_dir / new_document.name).resolve(),
# Note this does NOT use the base_temp_dir, as that will be removed
tmp_dir = Path(
tempfile.mkdtemp(
dir=settings.SCRATCH_DIR,
prefix="paperless-barcode-split-",
),
# All the same metadata
self.metadata,
)
logger.info(f"Created new task {task.id} for {new_document.name}")
).resolve()
# This file is now two or more files
self.input_doc.original_file.unlink()
from documents import tasks
msg = "Barcode splitting complete!"
# Create the split document tasks
for new_document in self.separate_pages(separator_pages):
copy_file_with_basic_stats(new_document, tmp_dir / new_document.name)
# Update the progress to complete
self.status_mgr.send_progress(ProgressStatusOptions.SUCCESS, msg, 100, 100)
task = tasks.consume_file.delay(
ConsumableDocument(
# Same source, for templates
source=self.input_doc.source,
mailrule_id=self.input_doc.mailrule_id,
# Can't use same folder or the consume might grab it again
original_file=(tmp_dir / new_document.name).resolve(),
),
# All the same metadata
self.metadata,
)
logger.info(f"Created new task {task.id} for {new_document.name}")
# Request the consume task stops
raise StopConsumeTaskError(msg)
# This file is now two or more files
self.input_doc.original_file.unlink()
msg = "Barcode splitting complete!"
# Update the progress to complete
self.status_mgr.send_progress(ProgressStatusOptions.SUCCESS, msg, 100, 100)
# Request the consume task stops
raise StopConsumeTaskError(msg)
def cleanup(self) -> None:
self.temp_dir.cleanup()

View File

@@ -402,6 +402,7 @@ class TestBarcode(
self.assertEqual(len(documents), 2)
@override_settings(CONSUMER_ENABLE_BARCODES=True)
def test_separate_pages_no_list(self):
"""
GIVEN:

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-08 11:56-0800\n"
"PO-Revision-Date: 2024-02-09 12:08\n"
"PO-Revision-Date: 2024-02-11 12:08\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Language: de_DE\n"
@@ -912,7 +912,7 @@ msgstr "Paperless-ngx Drittanbieterkonto-Anmeldung"
#: documents/templates/socialaccount/authentication_error.html:43
#, python-format
msgid "An error occurred while attempting to login via your social network account. Back to the <a href=\"%(login_url)s\">login page</a>"
msgstr "Beim Versuch, sich über Ihren Social-Media-Account anzumelden, ist ein Fehler aufgetreten. Zurück zur <a href=\"%(login_url)s\">Login-Seite</a>"
msgstr "Fehler beim Anmelden über Ihr Drittanbieterkonto. Zurück zur <a href=\"%(login_url)s\">Anmeldeseite</a>"
#: documents/templates/socialaccount/login.html:44
#, python-format

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-08 11:56-0800\n"
"PO-Revision-Date: 2024-02-08 19:57\n"
"PO-Revision-Date: 2024-02-10 19:44\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
"Language: es_ES\n"
@@ -673,7 +673,7 @@ msgstr "tiene este interlocutor"
#: documents/models.py:991
msgid "workflow trigger"
msgstr ""
msgstr "disparador de flujo de trabajo"
#: documents/models.py:992
msgid "workflow triggers"
@@ -737,7 +737,7 @@ msgstr "asignar estos campos personalizados"
#: documents/models.py:1094
msgid "workflow action"
msgstr ""
msgstr "acción de flujo de trabajo"
#: documents/models.py:1095
msgid "workflow actions"
@@ -816,19 +816,19 @@ msgstr "¿Olvidaste tu contraseña?"
#: documents/templates/account/login.html:83
msgid "or sign in via"
msgstr ""
msgstr "o inicie sesión vía"
#: documents/templates/account/password_reset.html:15
msgid "Paperless-ngx reset password request"
msgstr ""
msgstr "Solicitud para restablecer contraseña de Paperless-ngx"
#: documents/templates/account/password_reset.html:43
msgid "Enter your email address below, and we'll email instructions for setting a new one."
msgstr ""
msgstr "Introduzca su dirección de correo electrónico a continuación y le enviaremos instrucciones para establecer una nueva."
#: documents/templates/account/password_reset.html:46
msgid "An error occurred. Please try again."
msgstr ""
msgstr "Se ha producido un error. Por favor, inténtelo de nuevo."
#: documents/templates/account/password_reset.html:49
#: documents/templates/socialaccount/signup.html:57
@@ -837,7 +837,7 @@ msgstr "E-mail"
#: documents/templates/account/password_reset.html:56
msgid "Send me instructions!"
msgstr ""
msgstr "¡Envíeme instrucciones!"
#: documents/templates/account/password_reset_done.html:14
msgid "Paperless-ngx reset password sent"
@@ -849,7 +849,7 @@ msgstr "Revise su bandeja de entrada."
#: documents/templates/account/password_reset_done.html:41
msgid "We've emailed you instructions for setting your password. You should receive the email shortly!"
msgstr ""
msgstr "Te hemos enviado instrucciones para configurar tu contraseña. ¡Deberías recibir el correo electrónico en breve!"
#: documents/templates/account/password_reset_from_key.html:15
msgid "Paperless-ngx reset password confirmation"
@@ -907,50 +907,50 @@ msgstr "Aquí hay un enlace a la documentación."
#: documents/templates/socialaccount/authentication_error.html:15
#: documents/templates/socialaccount/login.html:15
msgid "Paperless-ngx social account sign in"
msgstr ""
msgstr "Acceso a Paperless-ngx con cuenta social"
#: documents/templates/socialaccount/authentication_error.html:43
#, python-format
msgid "An error occurred while attempting to login via your social network account. Back to the <a href=\"%(login_url)s\">login page</a>"
msgstr ""
msgstr "Se ha producido un error al intentar iniciar sesión a través de su cuenta de red social. Volver a la página <a href=\"%(login_url)s\">de inicio de sesión</a>"
#: documents/templates/socialaccount/login.html:44
#, python-format
msgid "You are about to connect a new third-party account from %(provider)s."
msgstr ""
msgstr "Estás a punto de conectar una nueva cuenta de terceros de %(provider)s."
#: documents/templates/socialaccount/login.html:47
msgid "Continue"
msgstr ""
msgstr "Continuar"
#: documents/templates/socialaccount/signup.html:14
msgid "Paperless-ngx social account sign up"
msgstr ""
msgstr "Acceso a Paperless-ngx con cuenta social"
#: documents/templates/socialaccount/signup.html:53
#, python-format
msgid "You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s. As a final step, please complete the following form:"
msgstr ""
msgstr "Está a punto de utilizar tu cuenta %(provider_name)s para iniciar sesión en %(site_name)s. Para finalizar, por favor completa el siguiente formulario:"
#: documents/templates/socialaccount/signup.html:72
msgid "Sign up"
msgstr ""
msgstr "Registrarse"
#: documents/validators.py:17
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr ""
msgstr "No se puede analizar la URI {value}, falta el esquema"
#: documents/validators.py:22
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr ""
msgstr "No se puede analizar la URI {value}, falta la ubicación de la red o la ruta"
#: documents/validators.py:27
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr ""
msgstr "No se puede analizar la URI {value}"
#: paperless/apps.py:10
msgid "Paperless"
@@ -970,19 +970,19 @@ msgstr "pdfa-1"
#: paperless/models.py:29
msgid "pdfa-2"
msgstr ""
msgstr "pdfa-2"
#: paperless/models.py:30
msgid "pdfa-3"
msgstr ""
msgstr "pdfa-3"
#: paperless/models.py:39
msgid "skip"
msgstr ""
msgstr "omitir"
#: paperless/models.py:40
msgid "redo"
msgstr ""
msgstr "rehacer"
#: paperless/models.py:41
msgid "force"

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-08 11:56-0800\n"
"PO-Revision-Date: 2024-02-09 12:08\n"
"PO-Revision-Date: 2024-02-12 12:09\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Language: fr_FR\n"
@@ -907,7 +907,7 @@ msgstr "Voici un lien vers la documentation."
#: documents/templates/socialaccount/authentication_error.html:15
#: documents/templates/socialaccount/login.html:15
msgid "Paperless-ngx social account sign in"
msgstr ""
msgstr "Connexion à Paperless-ngx avec un compte externe"
#: documents/templates/socialaccount/authentication_error.html:43
#, python-format
@@ -925,7 +925,7 @@ msgstr "Continuer"
#: documents/templates/socialaccount/signup.html:14
msgid "Paperless-ngx social account sign up"
msgstr ""
msgstr "Inscription à Paperless-ngx avec un compte externe"
#: documents/templates/socialaccount/signup.html:53
#, python-format

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-08 11:56-0800\n"
"PO-Revision-Date: 2024-02-09 12:08\n"
"PO-Revision-Date: 2024-02-12 00:23\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
"Language: ja_JP\n"

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-08 11:56-0800\n"
"PO-Revision-Date: 2024-02-08 19:57\n"
"PO-Revision-Date: 2024-02-10 19:44\n"
"Last-Translator: \n"
"Language-Team: Slovenian\n"
"Language: sl_SI\n"
@@ -757,7 +757,7 @@ msgstr ""
#: documents/models.py:1120
msgid "enabled"
msgstr ""
msgstr "omogočeno"
#: documents/serialisers.py:113
#, python-format
@@ -958,7 +958,7 @@ msgstr "Paperless"
#: paperless/models.py:26
msgid "pdf"
msgstr ""
msgstr "pdf"
#: paperless/models.py:27
msgid "pdfa"
@@ -994,7 +994,7 @@ msgstr ""
#: paperless/models.py:50
msgid "never"
msgstr ""
msgstr "nikoli"
#: paperless/models.py:51
msgid "with_text"
@@ -1002,7 +1002,7 @@ msgstr ""
#: paperless/models.py:52
msgid "always"
msgstr ""
msgstr "vedno"
#: paperless/models.py:60
msgid "clean"
@@ -1030,7 +1030,7 @@ msgstr ""
#: paperless/models.py:73
msgid "Gray"
msgstr ""
msgstr "Siva"
#: paperless/models.py:74
msgid "CMYK"
@@ -1090,11 +1090,11 @@ msgstr ""
#: paperless/models.py:171
msgid "Application title"
msgstr ""
msgstr "Naslov aplikacije"
#: paperless/models.py:178
msgid "Application logo"
msgstr ""
msgstr "Logotip aplikacije"
#: paperless/models.py:188
msgid "paperless application settings"
@@ -1166,7 +1166,7 @@ msgstr "Italijanščina"
#: paperless/settings.py:658
msgid "Japanese"
msgstr ""
msgstr "japonščina"
#: paperless/settings.py:659
msgid "Luxembourgish"

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-08 11:56-0800\n"
"PO-Revision-Date: 2024-02-08 19:57\n"
"PO-Revision-Date: 2024-02-11 00:25\n"
"Last-Translator: \n"
"Language-Team: Serbian (Latin)\n"
"Language: sr_CS\n"

View File

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