Compare commits

..

32 Commits

Author SHA1 Message Date
shamoon
9f045f4494 Bump version to 2.5.3 2024-02-15 17:34:22 -08:00
shamoon
4fdb28c8d6 Merge branch 'dev' 2024-02-15 17:33:54 -08:00
shamoon
f1049cf889 Fix: dont allow allauth redirects to any host (#5783)
---------

Co-authored-by: Trenton H <797416+stumpylog@users.noreply.github.com>
2024-02-15 16:37:34 -08:00
Trenton H
8d664fad56 Fixes the interaction when both splitting and ASN are enabled (#5779) 2024-02-15 17:33:26 +00:00
MaciejSzczurek
f6ddcfa839 Moved ssl_mode parameter for mysql backend engine (#5771) 2024-02-15 07:59:33 -08:00
github-actions[bot]
ce59f2ad5e Changelog v2.5.2 - GHA (#5769)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-14 17:40:10 -08:00
Trenton H
0de00a4ac1 Resets develop versioning 2024-02-14 17:14:33 -08:00
Trenton H
bec72dffeb Sets the version to 2.5.2 2024-02-14 17:10:37 -08:00
Trenton H
463e95367c Merge remote-tracking branch 'origin/dev' 2024-02-14 17:08:49 -08:00
github-actions[bot]
1739de2694 New Crowdin translations by GitHub Action (#5768)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2024-02-14 16:53:28 -08:00
shamoon
fd8db27a88 Fix signup form html, translation string 2024-02-14 16:51:47 -08:00
github-actions[bot]
9ddf14bebe New Crowdin translations by GitHub Action (#5748)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2024-02-14 16:24:24 -08:00
trs
1cf8ea3aba Fix: Generated secret key may include single or double quotes (#5767) 2024-02-14 23:06:54 +00:00
shamoon
134993fce6 Fix: consumer status alerts container blocks elements (#5762) 2024-02-14 08:25:58 -08:00
shamoon
ff1955e014 Documentation: small updates to sso docs 2024-02-14 00:02:55 -08:00
shamoon
d83bbdc50b Fix: handle document notes user format api change (#5751) 2024-02-13 17:25:35 +00:00
Trenton H
907b6d1294 Handle the ASN assignment last, after the splitting (#5745) 2024-02-13 16:26:13 +00:00
github-actions[bot]
4e7bb1c8da Changelog v2.5.1 - GHA (#5744)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-13 06:07:31 -08:00
dependabot[bot]
09ab694d05 Chore(deps): Bump the major-versions group with 1 update (#5741)
Bumps the major-versions group with 1 update: [watchdog](https://github.com/gorakhargosh/watchdog).


Updates `watchdog` from 3.0.0 to 4.0.0
- [Release notes](https://github.com/gorakhargosh/watchdog/releases)
- [Changelog](https://github.com/gorakhargosh/watchdog/blob/master/changelog.rst)
- [Commits](https://github.com/gorakhargosh/watchdog/compare/v3.0.0...v4.0.0)

---
updated-dependencies:
- dependency-name: watchdog
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: major-versions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-13 09:30:55 +00:00
Trenton H
03ced65d5f Resets version string 2024-02-12 15:58:10 -08:00
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
66 changed files with 998 additions and 644 deletions

View File

@@ -51,7 +51,7 @@ setproctitle = "*"
tika-client = "*"
tqdm = "*"
uvicorn = {extras = ["standard"], version = "==0.25.0"}
watchdog = "~=3.0"
watchdog = "~=4.0"
whitenoise = "~=6.6"
whoosh="~=2.7"
zxing-cpp = {version = "*", platform_machine = "== 'x86_64'"}

121
Pipfile.lock generated
View File

@@ -1,7 +1,7 @@
{
"_meta": {
"hash": {
"sha256": "3b7d7fbb271204d23f9cf66d0bdc9e77f5f995fccc2351816043d63b4dbec019"
"sha256": "cdd620926150607295aa42447d26c89d2a372309e3229c4f8f711ebe0ed19670"
},
"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": [
@@ -2065,37 +2065,39 @@
},
"watchdog": {
"hashes": [
"sha256:0e06ab8858a76e1219e68c7573dfeba9dd1c0219476c5a44d5333b01d7e1743a",
"sha256:13bbbb462ee42ec3c5723e1205be8ced776f05b100e4737518c67c8325cf6100",
"sha256:233b5817932685d39a7896b1090353fc8efc1ef99c9c054e46c8002561252fb8",
"sha256:25f70b4aa53bd743729c7475d7ec41093a580528b100e9a8c5b5efe8899592fc",
"sha256:2b57a1e730af3156d13b7fdddfc23dea6487fceca29fc75c5a868beed29177ae",
"sha256:336adfc6f5cc4e037d52db31194f7581ff744b67382eb6021c868322e32eef41",
"sha256:3aa7f6a12e831ddfe78cdd4f8996af9cf334fd6346531b16cec61c3b3c0d8da0",
"sha256:3ed7c71a9dccfe838c2f0b6314ed0d9b22e77d268c67e015450a29036a81f60f",
"sha256:4c9956d27be0bb08fc5f30d9d0179a855436e655f046d288e2bcc11adfae893c",
"sha256:4d98a320595da7a7c5a18fc48cb633c2e73cda78f93cac2ef42d42bf609a33f9",
"sha256:4f94069eb16657d2c6faada4624c39464f65c05606af50bb7902e036e3219be3",
"sha256:5113334cf8cf0ac8cd45e1f8309a603291b614191c9add34d33075727a967709",
"sha256:51f90f73b4697bac9c9a78394c3acbbd331ccd3655c11be1a15ae6fe289a8c83",
"sha256:5d9f3a10e02d7371cd929b5d8f11e87d4bad890212ed3901f9b4d68767bee759",
"sha256:7ade88d0d778b1b222adebcc0927428f883db07017618a5e684fd03b83342bd9",
"sha256:7c5f84b5194c24dd573fa6472685b2a27cc5a17fe5f7b6fd40345378ca6812e3",
"sha256:7e447d172af52ad204d19982739aa2346245cc5ba6f579d16dac4bfec226d2e7",
"sha256:8ae9cda41fa114e28faf86cb137d751a17ffd0316d1c34ccf2235e8a84365c7f",
"sha256:8f3ceecd20d71067c7fd4c9e832d4e22584318983cabc013dbf3f70ea95de346",
"sha256:9fac43a7466eb73e64a9940ac9ed6369baa39b3bf221ae23493a9ec4d0022674",
"sha256:a70a8dcde91be523c35b2bf96196edc5730edb347e374c7de7cd20c43ed95397",
"sha256:adfdeab2da79ea2f76f87eb42a3ab1966a5313e5a69a0213a3cc06ef692b0e96",
"sha256:ba07e92756c97e3aca0912b5cbc4e5ad802f4557212788e72a72a47ff376950d",
"sha256:c07253088265c363d1ddf4b3cdb808d59a0468ecd017770ed716991620b8f77a",
"sha256:c9d8c8ec7efb887333cf71e328e39cffbf771d8f8f95d308ea4125bf5f90ba64",
"sha256:d00e6be486affb5781468457b21a6cbe848c33ef43f9ea4a73b4882e5f188a44",
"sha256:d429c2430c93b7903914e4db9a966c7f2b068dd2ebdd2fa9b9ce094c7d459f33"
"sha256:11e12fafb13372e18ca1bbf12d50f593e7280646687463dd47730fd4f4d5d257",
"sha256:2895bf0518361a9728773083908801a376743bcc37dfa252b801af8fd281b1ca",
"sha256:39cb34b1f1afbf23e9562501673e7146777efe95da24fab5707b88f7fb11649b",
"sha256:45cc09cc4c3b43fb10b59ef4d07318d9a3ecdbff03abd2e36e77b6dd9f9a5c85",
"sha256:4986db5e8880b0e6b7cd52ba36255d4793bf5cdc95bd6264806c233173b1ec0b",
"sha256:5369136a6474678e02426bd984466343924d1df8e2fd94a9b443cb7e3aa20d19",
"sha256:557ba04c816d23ce98a06e70af6abaa0485f6d94994ec78a42b05d1c03dcbd50",
"sha256:6a4db54edea37d1058b08947c789a2354ee02972ed5d1e0dca9b0b820f4c7f92",
"sha256:6a80d5cae8c265842c7419c560b9961561556c4361b297b4c431903f8c33b269",
"sha256:6a9c71a0b02985b4b0b6d14b875a6c86ddea2fdbebd0c9a720a806a8bbffc69f",
"sha256:6c47bdd680009b11c9ac382163e05ca43baf4127954c5f6d0250e7d772d2b80c",
"sha256:6e949a8a94186bced05b6508faa61b7adacc911115664ccb1923b9ad1f1ccf7b",
"sha256:73c7a935e62033bd5e8f0da33a4dcb763da2361921a69a5a95aaf6c93aa03a87",
"sha256:76ad8484379695f3fe46228962017a7e1337e9acadafed67eb20aabb175df98b",
"sha256:8350d4055505412a426b6ad8c521bc7d367d1637a762c70fdd93a3a0d595990b",
"sha256:87e9df830022488e235dd601478c15ad73a0389628588ba0b028cb74eb72fed8",
"sha256:8f9a542c979df62098ae9c58b19e03ad3df1c9d8c6895d96c0d51da17b243b1c",
"sha256:8fec441f5adcf81dd240a5fe78e3d83767999771630b5ddfc5867827a34fa3d3",
"sha256:9a03e16e55465177d416699331b0f3564138f1807ecc5f2de9d55d8f188d08c7",
"sha256:ba30a896166f0fee83183cec913298151b73164160d965af2e93a20bbd2ab605",
"sha256:c17d98799f32e3f55f181f19dd2021d762eb38fdd381b4a748b9f5a36738e935",
"sha256:c522392acc5e962bcac3b22b9592493ffd06d1fc5d755954e6be9f4990de932b",
"sha256:d0f9bd1fd919134d459d8abf954f63886745f4660ef66480b9d753a7c9d40927",
"sha256:d18d7f18a47de6863cd480734613502904611730f8def45fc52a5d97503e5101",
"sha256:d31481ccf4694a8416b681544c23bd271f5a123162ab603c7d7d2dd7dd901a07",
"sha256:e3e7065cbdabe6183ab82199d7a4f6b3ba0a438c5a512a68559846ccb76a78ec",
"sha256:eed82cdf79cd7f0232e2fdc1ad05b06a5e102a43e331f7d041e5f0e0a34a51c4",
"sha256:f970663fa4f7e80401a7b0cbeec00fa801bf0287d93d48368fc3e6fa32716245",
"sha256:f9b2fdca47dc855516b2d66eef3c39f2672cbf7e7a42e7e67ad2cbfcd6ba107d"
],
"index": "pypi",
"markers": "python_version >= '3.7'",
"version": "==3.0.0"
"markers": "python_version >= '3.8'",
"version": "==4.0.0"
},
"watchfiles": {
"hashes": [
@@ -2496,32 +2498,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 +3072,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 +3388,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 +3476,7 @@
"sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d",
"sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"
],
"markers": "python_version >= '3.6'",
"version": "==6.0.1"
},
"pyyaml-env-tag": {
@@ -3767,7 +3769,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
@@ -662,6 +670,11 @@ relevant [configuration settings](configuration.md#PAPERLESS_SOCIALACCOUNT_PROVI
[django-allauth docs](https://docs.allauth.org/en/latest/socialaccount/configuration.html)
for more information.
To associate an existing Paperless-ngx account with a social account, first login with your
regular credentials and then choose "My Profile" from the user dropdown in the app and you
will see options to connect social account(s). If enabled, signup options will be available
on the login page.
As an example, to set up login via Github, the following environment variables would need to be
set:
@@ -678,4 +691,4 @@ PAPERLESS_SOCIALACCOUNT_PROVIDERS='
{"openid_connect": {"APPS": [{"provider_id": "keycloak","name": "Keycloak","client_id": "paperless","secret": "<CLIENT_SECRET>","settings": { "server_url": "https://<KEYCLOAK_SERVER>/realms/<REALM>/.well-known/openid-configuration"}}]}}'
```
More details about configuration option for various providers can be found in the allauth documentation: https://docs.allauth.org/en/latest/socialaccount/providers/index.html#provider-specifics
More details about configuration option for various providers can be found in the [allauth documentation](https://docs.allauth.org/en/latest/socialaccount/providers/index.html#provider-specifics).

View File

@@ -1,5 +1,145 @@
# Changelog
## paperless-ngx 2.5.2
### Bug Fixes
- Fix: Generated secret key may include single or double quotes [@schmidtnz](https://github.com/schmidtnz) ([#5767](https://github.com/paperless-ngx/paperless-ngx/pull/5767))
- Fix: consumer status alerts container blocks elements [@shamoon](https://github.com/shamoon) ([#5762](https://github.com/paperless-ngx/paperless-ngx/pull/5762))
- Fix: handle document notes user format api change [@shamoon](https://github.com/shamoon) ([#5751](https://github.com/paperless-ngx/paperless-ngx/pull/5751))
- Fix: Assign ASN from barcode only after any splitting [@stumpylog](https://github.com/stumpylog) ([#5745](https://github.com/paperless-ngx/paperless-ngx/pull/5745))
### Dependencies
- Chore(deps): Bump the major-versions group with 1 update [@dependabot](https://github.com/dependabot) ([#5741](https://github.com/paperless-ngx/paperless-ngx/pull/5741))
### All App Changes
<details>
<summary>4 changes</summary>
- Fix: consumer status alerts container blocks elements [@shamoon](https://github.com/shamoon) ([#5762](https://github.com/paperless-ngx/paperless-ngx/pull/5762))
- Fix: handle document notes user format api change [@shamoon](https://github.com/shamoon) ([#5751](https://github.com/paperless-ngx/paperless-ngx/pull/5751))
- Fix: Assign ASN from barcode only after any splitting [@stumpylog](https://github.com/stumpylog) ([#5745](https://github.com/paperless-ngx/paperless-ngx/pull/5745))
- Chore(deps): Bump the major-versions group with 1 update [@dependabot](https://github.com/dependabot) ([#5741](https://github.com/paperless-ngx/paperless-ngx/pull/5741))
</details>
## paperless-ngx 2.5.1
### Bug Fixes
- Fix: Splitting on ASN barcodes even if not enabled [@stumpylog](https://github.com/stumpylog) ([#5740](https://github.com/paperless-ngx/paperless-ngx/pull/5740))
### Dependencies
- Chore(deps-dev): Bump the development group with 2 updates [@dependabot](https://github.com/dependabot) ([#5737](https://github.com/paperless-ngx/paperless-ngx/pull/5737))
- Chore(deps): Bump the django group with 1 update [@dependabot](https://github.com/dependabot) ([#5739](https://github.com/paperless-ngx/paperless-ngx/pull/5739))
### All App Changes
<details>
<summary>3 changes</summary>
- Chore(deps-dev): Bump the development group with 2 updates [@dependabot](https://github.com/dependabot) ([#5737](https://github.com/paperless-ngx/paperless-ngx/pull/5737))
- Chore(deps): Bump the django group with 1 update [@dependabot](https://github.com/dependabot) ([#5739](https://github.com/paperless-ngx/paperless-ngx/pull/5739))
- Fix: Splitting on ASN barcodes even if not enabled [@stumpylog](https://github.com/stumpylog) ([#5740](https://github.com/paperless-ngx/paperless-ngx/pull/5740))
</details>
## 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

@@ -315,7 +315,7 @@ fi
wget "https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/docker/compose/docker-compose.$DOCKER_COMPOSE_VERSION.yml" -O docker-compose.yml
wget "https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/docker/compose/.env" -O .env
SECRET_KEY=$(LC_ALL=C tr -dc 'a-zA-Z0-9!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' < /dev/urandom | dd bs=1 count=64 2>/dev/null)
SECRET_KEY=$(LC_ALL=C tr -dc 'a-zA-Z0-9!#$%&()*+,-./:;<=>?@[\]^_`{|}~' < /dev/urandom | dd bs=1 count=64 2>/dev/null)
DEFAULT_LANGUAGES=("deu eng fra ita spa")

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

@@ -6,8 +6,8 @@
<input type="file" class="visually-hidden" (change)="onFileSelected($event)" multiple #fileUpload>
</form>
@if (getStatus().length > 0) {
<div class="fixed-bottom p-2 p-md-4 d-flex justify-content-end" [ngClass]="slimSidebarEnabled ? 'col-slim' : 'offset-md-3 offset-lg-2'">
<div class="col col-lg-4 col-xl-3 ps-0 pe-0 ps-lg-3 pe-lg-0">
<div class="fixed-bottom p-2 p-md-4 d-flex justify-content-end pe-none" [ngClass]="slimSidebarEnabled ? 'col-slim' : 'offset-md-3 offset-lg-2'">
<div class="col col-lg-4 col-xl-3 ps-0 pe-0 ps-lg-3 pe-lg-0 pe-auto">
<div class="card shadow-sm consumer-status-card">
<div class="card-body">
<div class="row">

View File

@@ -95,12 +95,12 @@ const doc: Document = {
{
created: new Date(),
note: 'note 1',
user: 1,
user: { id: 1, username: 'user1' },
},
{
created: new Date(),
note: 'note 2',
user: 2,
user: { id: 2, username: 'user2' },
},
],
custom_fields: [

View File

@@ -19,22 +19,32 @@ const notes: DocumentNote[] = [
{
id: 23,
note: 'Note 23',
user: 1,
user: {
id: 1,
username: 'user1',
first_name: 'User1',
last_name: 'Lastname1',
},
},
{
id: 24,
note: 'Note 24',
user: 1,
user: {
id: 1,
username: 'user1',
first_name: 'User1',
last_name: 'Lastname1',
},
},
{
id: 25,
note: 'Note 25',
user: 2,
user: { id: 2, username: 'user2' },
},
{
id: 30,
note: 'Note 30',
user: 3,
user: { id: 3, username: 'user3' },
},
]
@@ -123,11 +133,24 @@ describe('DocumentNotesComponent', () => {
})
it('should handle note user display in all situations', () => {
expect(component.displayName({ id: 1, user: 1 })).toEqual(
'User1 Lastname1 (user1)'
)
expect(component.displayName({ id: 1, user: 2 })).toEqual('user2')
expect(component.displayName({ id: 1, user: 4 })).toEqual('')
expect(
component.displayName({
id: 1,
user: {
id: 1,
username: 'user1',
first_name: 'User1',
last_name: 'Lastname1',
},
})
).toEqual('User1 Lastname1 (user1)')
expect(
component.displayName({ id: 1, user: { id: 2, username: 'user2' } })
).toEqual('user2')
expect(component.displayName({ id: 1, user: 2 } as any)).toEqual('user2')
expect(
component.displayName({ id: 1, user: { id: 4, username: 'user4' } })
).toEqual('')
expect(component.displayName({ id: 1 })).toEqual('')
})
@@ -146,7 +169,9 @@ describe('DocumentNotesComponent', () => {
expect(addSpy).toHaveBeenCalledWith(12, note)
expect(toastsSpy).toHaveBeenCalled()
addSpy.mockReturnValueOnce(of([...notes, { id: 31, note, user: 1 }]))
addSpy.mockReturnValueOnce(
of([...notes, { id: 31, note, user: { id: 1 } }])
)
addButton.triggerEventHandler('click')
fixture.detectChanges()
expect(fixture.debugElement.nativeElement.textContent).toContain(note)

View File

@@ -84,7 +84,8 @@ export class DocumentNotesComponent extends ComponentWithPermissions {
displayName(note: DocumentNote): string {
if (!note.user) return ''
const user = this.users?.find((u) => u.id === note.user)
const user_id = typeof note.user === 'number' ? note.user : note.user.id
const user = this.users?.find((u) => u.id === user_id)
if (!user) return ''
const nameComponents = []
if (user.first_name) nameComponents.push(user.first_name)

View File

@@ -1,7 +1,8 @@
import { ObjectWithId } from './object-with-id'
import { User } from './user'
export interface DocumentNote extends ObjectWithId {
created?: Date
note?: string
user?: number // User
user?: User
}

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.3',
webSocketHost: window.location.host,
webSocketProtocol: window.location.protocol == 'https:' ? 'wss:' : 'ws:',
webSocketBaseUrl: base_url.pathname + 'ws/',

View File

@@ -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">Estàs segur?</target>
</trans-unit>
<trans-unit id="1234709746630139322" datatype="html">
<source>Confirmation</source>
@@ -4583,7 +4583,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html</context>
<context context-type="linenumber">59</context>
</context-group>
<target state="needs-translation">Connected social accounts</target>
<target state="translated">Comptes socials connectats</target>
</trans-unit>
<trans-unit id="8383227756109993898" datatype="html">
<source>Set a password before disconnecting social account.</source>
@@ -4591,7 +4591,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html</context>
<context context-type="linenumber">63</context>
</context-group>
<target state="needs-translation">Set a password before disconnecting social account.</target>
<target state="translated">Estableix contrasenya abans de desconnextar compte social.</target>
</trans-unit>
<trans-unit id="2907016025519254862" datatype="html">
<source>Disconnect</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">Desconnectar</target>
</trans-unit>
<trans-unit id="5322995394400578831" datatype="html">
<source>Disconnect <x id="INTERPOLATION" equiv-text="{{ account.name }}"/> social account</source>
@@ -4607,7 +4607,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html</context>
<context context-type="linenumber">71</context>
</context-group>
<target state="needs-translation">Disconnect <x id="INTERPOLATION" equiv-text="{{ account.name }}"/> social account</target>
<target state="translated">Desconnectat <x id="INTERPOLATION" equiv-text="{{ account.name }}"/> compte social</target>
</trans-unit>
<trans-unit id="649824314893051979" datatype="html">
<source>Warning: disconnecting social accounts cannot be undone</source>
@@ -4615,7 +4615,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html</context>
<context context-type="linenumber">81</context>
</context-group>
<target state="needs-translation">Warning: disconnecting social accounts cannot be undone</target>
<target state="translated">Compte: desconnectar comptes socials no es pot desfer</target>
</trans-unit>
<trans-unit id="1375396510511350122" datatype="html">
<source>Connect new social account</source>
@@ -4623,7 +4623,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html</context>
<context context-type="linenumber">86</context>
</context-group>
<target state="needs-translation">Connect new social account</target>
<target state="translated">Connecta nou compte social</target>
</trans-unit>
<trans-unit id="6141884091799403188" datatype="html">
<source>Emails must match</source>
@@ -4671,7 +4671,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts</context>
<context context-type="linenumber">210</context>
</context-group>
<target state="needs-translation">Error disconnecting social account</target>
<target state="translated">Error desconnectant compte social</target>
</trans-unit>
<trans-unit id="3797570084942068182" datatype="html">
<source>Select</source>
@@ -7064,7 +7064,7 @@
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context>
<context context-type="linenumber">303</context>
</context-group>
<target state="needs-translation">This operation will permanently delete all objects.</target>
<target state="translated">Aquesta operació esborrarà tots els objectes.</target>
</trans-unit>
<trans-unit id="5897787932098828336" datatype="html">
<source>Objects deleted successfully</source>
@@ -7072,7 +7072,7 @@
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context>
<context context-type="linenumber">317</context>
</context-group>
<target state="needs-translation">Objects deleted successfully</target>
<target state="translated">Objecte esborrat correctament</target>
</trans-unit>
<trans-unit id="8273353839648035634" datatype="html">
<source>Error deleting objects</source>
@@ -7080,7 +7080,7 @@
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context>
<context context-type="linenumber">323</context>
</context-group>
<target state="needs-translation">Error deleting objects</target>
<target state="translated">Error esborrant objectes</target>
</trans-unit>
<trans-unit id="5101757640976222639" datatype="html">
<source>storage path</source>

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

@@ -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">Czy jesteś pewien?</target>
</trans-unit>
<trans-unit id="1234709746630139322" datatype="html" approved="yes">
<source>Confirmation</source>
@@ -4583,7 +4583,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html</context>
<context context-type="linenumber">59</context>
</context-group>
<target state="needs-translation">Connected social accounts</target>
<target state="translated">Połączone konta społecznościowe</target>
</trans-unit>
<trans-unit id="8383227756109993898" datatype="html">
<source>Set a password before disconnecting social account.</source>
@@ -4591,7 +4591,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html</context>
<context context-type="linenumber">63</context>
</context-group>
<target state="needs-translation">Set a password before disconnecting social account.</target>
<target state="translated">Ustaw hasło przed odłączeniem konta społecznościowego.</target>
</trans-unit>
<trans-unit id="2907016025519254862" datatype="html">
<source>Disconnect</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">Rozłącz</target>
</trans-unit>
<trans-unit id="5322995394400578831" datatype="html">
<source>Disconnect <x id="INTERPOLATION" equiv-text="{{ account.name }}"/> social account</source>
@@ -4607,7 +4607,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html</context>
<context context-type="linenumber">71</context>
</context-group>
<target state="needs-translation">Disconnect <x id="INTERPOLATION" equiv-text="{{ account.name }}"/> social account</target>
<target state="translated">Odłącz <x id="INTERPOLATION" equiv-text="{{ account.name }}"/> konto społecznościowe</target>
</trans-unit>
<trans-unit id="649824314893051979" datatype="html">
<source>Warning: disconnecting social accounts cannot be undone</source>
@@ -4615,7 +4615,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html</context>
<context context-type="linenumber">81</context>
</context-group>
<target state="needs-translation">Warning: disconnecting social accounts cannot be undone</target>
<target state="translated">Ostrzeżenie: rozłączanie kont społecznościowych nie może być cofnięte</target>
</trans-unit>
<trans-unit id="1375396510511350122" datatype="html">
<source>Connect new social account</source>
@@ -4623,7 +4623,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html</context>
<context context-type="linenumber">86</context>
</context-group>
<target state="needs-translation">Connect new social account</target>
<target state="translated">Podłącz nowe konto społecznościowe</target>
</trans-unit>
<trans-unit id="6141884091799403188" datatype="html">
<source>Emails must match</source>
@@ -4671,7 +4671,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts</context>
<context context-type="linenumber">210</context>
</context-group>
<target state="needs-translation">Error disconnecting social account</target>
<target state="translated">Błąd rozłączania konta społecznościowego</target>
</trans-unit>
<trans-unit id="3797570084942068182" datatype="html" approved="yes">
<source>Select</source>
@@ -7064,7 +7064,7 @@
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context>
<context context-type="linenumber">303</context>
</context-group>
<target state="needs-translation">This operation will permanently delete all objects.</target>
<target state="translated">Ta operacja spowoduje trwałe usunięcie wszystkich obiektów.</target>
</trans-unit>
<trans-unit id="5897787932098828336" datatype="html">
<source>Objects deleted successfully</source>
@@ -7072,7 +7072,7 @@
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context>
<context context-type="linenumber">317</context>
</context-group>
<target state="needs-translation">Objects deleted successfully</target>
<target state="translated">Obiekty usunięte pomyślnie</target>
</trans-unit>
<trans-unit id="8273353839648035634" datatype="html">
<source>Error deleting objects</source>
@@ -7080,7 +7080,7 @@
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context>
<context context-type="linenumber">323</context>
</context-group>
<target state="needs-translation">Error deleting objects</target>
<target state="translated">Błąd usuwania obiektów</target>
</trans-unit>
<trans-unit id="5101757640976222639" datatype="html">
<source>storage path</source>

View File

@@ -279,7 +279,7 @@
<context context-type="sourcefile">src/app/app.component.ts</context>
<context context-type="linenumber">90</context>
</context-group>
<target state="needs-translation">Document <x id="PH" equiv-text="status.filename"/> was added to Paperless-ngx.</target>
<target state="translated">Документ <x id="PH" equiv-text="status.filename"/> был добавлен в paperless.</target>
</trans-unit>
<trans-unit id="1931214133925051574" datatype="html" approved="yes">
<source>Open document</source>
@@ -307,7 +307,7 @@
<context context-type="sourcefile">src/app/app.component.ts</context>
<context context-type="linenumber">120</context>
</context-group>
<target state="needs-translation">Document <x id="PH" equiv-text="status.filename"/> is being processed by Paperless-ngx.</target>
<target state="translated">Документ <x id="PH" equiv-text="status.filename"/> обрабатывается в Paperless-ngx.</target>
</trans-unit>
<trans-unit id="2501522447884928778" datatype="html">
<source>Prev</source>
@@ -395,7 +395,7 @@
<context context-type="sourcefile">src/app/components/manage/mail/mail.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
<target state="needs-translation">Manage e-mail accounts and rules for automatically importing documents.</target>
<target state="translated">Управление учётными записями электронной почты и правилами для автоматического импорта документов.</target>
</trans-unit>
<trans-unit id="2258659358902319601" datatype="html">
<source>Workflows give you more control over the document pipeline.</source>
@@ -403,7 +403,7 @@
<context context-type="sourcefile">src/app/app.component.ts</context>
<context context-type="linenumber">180</context>
</context-group>
<target state="needs-translation">Workflows give you more control over the document pipeline.</target>
<target state="translated">Автоматизации дают вам больше контроля над обработкой документов.</target>
</trans-unit>
<trans-unit id="4680387114119209483" datatype="html">
<source>File Tasks shows you documents that have been consumed, are waiting to be, or may have failed during the process.</source>
@@ -423,7 +423,7 @@
<context context-type="sourcefile">src/app/app.component.ts</context>
<context context-type="linenumber">196</context>
</context-group>
<target state="needs-translation">Check out the settings for various tweaks to the web app and toggle settings for saved views.</target>
<target state="translated">Просматривайте различные настройки приложения и настраивайте сохранённые представления.</target>
</trans-unit>
<trans-unit id="7172877665285340082" datatype="html">
<source>Thank you! 🙏</source>
@@ -463,7 +463,7 @@
<context context-type="sourcefile">src/app/components/admin/config/config.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
<target state="needs-translation">Global app configuration options which apply to &lt;strong&gt;every&lt;/strong&gt; user of this install of Paperless-ngx. Options can also be set using environment variables or the configuration file but the value here will always take precedence.</target>
<target state="translated">Глобальные параметры конфигурации приложения, которые применяются к &lt;strong&gt;каждому&lt;strong&gt; пользователю данной установки Paperless-ngx. Параметры также могут быть заданы с помощью переменных окружения или конфигурационного файла, но значение, указанное здесь, всегда будет иметь приоритет.</target>
</trans-unit>
<trans-unit id="187187500641108332" datatype="html">
<source>
@@ -481,7 +481,7 @@
<context context-type="sourcefile">src/app/components/common/permissions-select/permissions-select.component.html</context>
<context context-type="linenumber">22</context>
</context-group>
<target state="needs-translation"><x id="INTERPOLATION" equiv-text="ategory}}"/></target>
<target state="translated"><x id="INTERPOLATION" equiv-text="ategory}}"/></target>
</trans-unit>
<trans-unit id="7991430199894172363" datatype="html">
<source>Read the documentation about this setting</source>
@@ -497,7 +497,7 @@
<context context-type="sourcefile">src/app/components/admin/config/config.component.html</context>
<context context-type="linenumber">34</context>
</context-group>
<target state="needs-translation">Enable</target>
<target state="translated">Включить</target>
</trans-unit>
<trans-unit id="3823219296477075982" datatype="html" approved="yes">
<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">Ошибка при загрузки конфигурации</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">Неверный JSON</target>
</trans-unit>
<trans-unit id="5103146006962696736" datatype="html">
<source>Configuration updated</source>
@@ -613,7 +613,7 @@
<context context-type="sourcefile">src/app/components/admin/config/config.component.ts</context>
<context context-type="linenumber">178</context>
</context-group>
<target state="needs-translation">File successfully updated</target>
<target state="translated">Файл успешно обновлён</target>
</trans-unit>
<trans-unit id="5902783625859504265" datatype="html">
<source>An error occurred uploading file</source>
@@ -621,7 +621,7 @@
<context context-type="sourcefile">src/app/components/admin/config/config.component.ts</context>
<context context-type="linenumber">183</context>
</context-group>
<target state="needs-translation">An error occurred uploading file</target>
<target state="translated">Произошла ошибка при загрузке файла</target>
</trans-unit>
<trans-unit id="4804785061014590286" datatype="html" approved="yes">
<source>Logs</source>
@@ -645,7 +645,7 @@
<context context-type="sourcefile">src/app/components/admin/logs/logs.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
<target state="needs-translation">Review the log files for the application and for email checking.</target>
<target state="translated">Просмотрите файлы журналов для приложения и для проверки электронной почты.</target>
</trans-unit>
<trans-unit id="8838884664569764142" datatype="html">
<source>Auto refresh</source>
@@ -761,7 +761,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
<target state="needs-translation">Options to customize appearance, notifications, saved views and more. Settings apply to the &lt;strong&gt;current user only&lt;/strong&gt;.</target>
<target state="translated">Настройки внешнего вида, уведомлений, сохраненных представлений и многого другого. Настройки применяются &lt;strong&gt;только к текущему пользователю&lt;/strong&gt;.</target>
</trans-unit>
<trans-unit id="1685061484835793745" datatype="html">
<source>Start tour</source>
@@ -961,7 +961,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">150,153</context>
</context-group>
<target state="needs-translation"> Update checking works by pinging the public <x id="START_LINK" ctype="x-a" equiv-text="&lt;a href=&quot;https://api.github.com/repos/paperless-ngx/paperless-ngx/releases/latest&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;"/>GitHub API<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a&gt;"/> for the latest release to determine whether a new version is available.<x id="LINE_BREAK" ctype="lb" equiv-text="&lt;br/&gt;"/> Actual updating of the app must still be performed manually. </target>
<target state="translated"> Проверка обновлений работает путем обращения к публичному <x id="START_LINK" ctype="x-a" equiv-text="&lt;a href=&quot;https://api.github.com/repos/paperless-ngx/paperless-ngx/releases/latest&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;"/>GitHub API<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a&gt;"/> для определения новой версии.<x id="LINE_BREAK" ctype="lb" equiv-text="&lt;br/&gt;"/> Фактическое обновление приложения по-прежнему должно выполняться вручную. </target>
</trans-unit>
<trans-unit id="5489945693955857309" datatype="html">
<source><x id="START_EMPHASISED_TEXT" ctype="x-em" equiv-text="&gt;"/>No tracking data is collected by the app in any way.<x id="CLOSE_EMPHASISED_TEXT" ctype="x-em" equiv-text="&lt;/em&gt;"/></source>
@@ -985,7 +985,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">161</context>
</context-group>
<target state="needs-translation">Document editing</target>
<target state="translated">Редактирование документа</target>
</trans-unit>
<trans-unit id="2959590948110714366" datatype="html">
<source>Automatically remove inbox tag(s) on save</source>
@@ -993,7 +993,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">165</context>
</context-group>
<target state="needs-translation">Automatically remove inbox tag(s) on save</target>
<target state="translated">Автоматически удалять входящие этикетки при сохранении</target>
</trans-unit>
<trans-unit id="8508424367627989968" datatype="html" approved="yes">
<source>Bulk editing</source>
@@ -1129,7 +1129,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">204</context>
</context-group>
<target state="needs-translation">Default Owner</target>
<target state="translated">Владелец по умолчанию</target>
</trans-unit>
<trans-unit id="734147282056744882" datatype="html">
<source>Objects without an owner can be viewed and edited by all users</source>
@@ -1149,7 +1149,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">213</context>
</context-group>
<target state="needs-translation">Default View Permissions</target>
<target state="translated">Разрешения на просмотр по умолчанию</target>
</trans-unit>
<trans-unit id="2191775412581217688" datatype="html">
<source>Users:</source>
@@ -1213,7 +1213,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">240</context>
</context-group>
<target state="needs-translation">Default Edit Permissions</target>
<target state="translated">Разрешения на редактирование по умолчанию</target>
</trans-unit>
<trans-unit id="3728984448750213892" datatype="html">
<source>Edit permissions also grant viewing permissions</source>
@@ -1433,7 +1433,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
<context context-type="linenumber">310,311</context>
</context-group>
<target state="needs-translation"> <x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;visually-hidden&quot;&gt;"/>Appears on<x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/></target>
<target state="translated"><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;visually-hidden&quot;&gt;"/>Появляется на<x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/></target>
</trans-unit>
<trans-unit id="4104807402967139762" datatype="html" approved="yes">
<source>Show on dashboard</source>
@@ -1665,7 +1665,7 @@
<context context-type="sourcefile">src/app/components/admin/users-groups/users-groups.component.ts</context>
<context context-type="linenumber">51</context>
</context-group>
<target state="needs-translation">Error retrieving users</target>
<target state="translated">Ошибка при загрузке пользователей</target>
</trans-unit>
<trans-unit id="3066660568529853846" datatype="html">
<source>Error retrieving groups</source>
@@ -1677,7 +1677,7 @@
<context context-type="sourcefile">src/app/components/admin/users-groups/users-groups.component.ts</context>
<context context-type="linenumber">63</context>
</context-group>
<target state="needs-translation">Error retrieving groups</target>
<target state="translated">Ошибка при загрузке групп</target>
</trans-unit>
<trans-unit id="5610279464668232148" datatype="html" approved="yes">
<source>Saved view &quot;<x id="PH" equiv-text="savedView.name"/>&quot; deleted.</source>
@@ -1729,7 +1729,7 @@
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.ts</context>
<context context-type="linenumber">555</context>
</context-group>
<target state="needs-translation">Error while storing settings on server.</target>
<target state="translated">Ошибка при сохранении настроек на сервере.</target>
</trans-unit>
<trans-unit id="2991443309752293110" datatype="html">
<source>File Tasks</source>
@@ -1845,7 +1845,7 @@
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.html</context>
<context context-type="linenumber">109</context>
</context-group>
<target state="needs-translation">{VAR_PLURAL, plural, =1 {One <x id="INTERPOLATION"/> task} other {<x id="INTERPOLATION_1"/> total <x id="INTERPOLATION"/> tasks}}</target>
<target state="translated">{VAR_PLURAL, plural, =1 {Одну <x id="INTERPOLATION"/> задачу} other {<x id="INTERPOLATION_1"/> всего <x id="INTERPOLATION"/> задачи}}</target>
</trans-unit>
<trans-unit id="1943508481059904274" datatype="html">
<source> (<x id="INTERPOLATION" equiv-text="{{selectedTasks.size}}"/> selected)</source>
@@ -1853,7 +1853,7 @@
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.html</context>
<context context-type="linenumber">111</context>
</context-group>
<target state="needs-translation"> (<x id="INTERPOLATION" equiv-text="{{selectedTasks.size}}"/> selected)</target>
<target state="translated"> (<x id="INTERPOLATION" equiv-text="{{selectedTasks.size}}"/> выбранное)</target>
</trans-unit>
<trans-unit id="5639839509673911668" datatype="html">
<source>Failed<x id="START_BLOCK_IF" equiv-text="@if (tasksService.failedFileTasks.length &gt; 0) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge bg-danger ms-2&quot;&gt;"/><x id="INTERPOLATION" equiv-text="{{tasksService.failedFileTasks.length}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span&gt;"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></source>
@@ -1917,7 +1917,7 @@
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
<context context-type="linenumber">65</context>
</context-group>
<target state="needs-translation">Dismiss all <x id="PH" equiv-text="tasks.size"/> tasks?</target>
<target state="translated">Отказаться от всех <x id="PH" equiv-text="tasks.size"/> заданий?</target>
</trans-unit>
<trans-unit id="9011556615675272238" datatype="html">
<source>queued</source>
@@ -1925,7 +1925,7 @@
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
<context context-type="linenumber">133</context>
</context-group>
<target state="needs-translation">queued</target>
<target state="translated">в очереди</target>
</trans-unit>
<trans-unit id="6415892379431855826" datatype="html">
<source>started</source>
@@ -1973,7 +1973,7 @@
<context context-type="sourcefile">src/app/components/admin/users-groups/users-groups.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
<target state="needs-translation">Create, delete and edit users and groups.</target>
<target state="translated">Создание, удаление и редактирование пользователей и групп.</target>
</trans-unit>
<trans-unit id="4555457172864212828" datatype="html">
<source>Users</source>
@@ -2117,7 +2117,7 @@
<context context-type="sourcefile">src/app/components/admin/users-groups/users-groups.component.html</context>
<context context-type="linenumber">85</context>
</context-group>
<target state="needs-translation">No groups defined</target>
<target state="translated">Группы не определены</target>
</trans-unit>
<trans-unit id="4510369340305901516" datatype="html">
<source>Password has been changed, you will be logged out momentarily.</source>
@@ -2277,7 +2277,7 @@
<context context-type="sourcefile">src/app/components/admin/users-groups/users-groups.component.ts</context>
<context context-type="linenumber">156</context>
</context-group>
<target state="needs-translation">Error saving group.</target>
<target state="translated">Ошибка сохранения группы.</target>
</trans-unit>
<trans-unit id="6538873300613683004" datatype="html">
<source>Confirm delete user group</source>
@@ -2309,7 +2309,7 @@
<context context-type="sourcefile">src/app/components/admin/users-groups/users-groups.component.ts</context>
<context context-type="linenumber">180</context>
</context-group>
<target state="needs-translation">Error deleting group.</target>
<target state="translated">Ошибка при удалении группы.</target>
</trans-unit>
<trans-unit id="7931334600001636863" datatype="html">
<source>by Paperless-ngx</source>
@@ -2317,7 +2317,7 @@
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
<context context-type="linenumber">20</context>
</context-group>
<target state="needs-translation">by Paperless-ngx</target>
<target state="translated">от Paperless-ngx</target>
</trans-unit>
<trans-unit id="7100953725264790651" datatype="html" approved="yes">
<source>Search documents</source>
@@ -2645,7 +2645,7 @@
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.ts</context>
<context context-type="linenumber">282</context>
</context-group>
<target state="needs-translation">Sidebar views updated</target>
<target state="translated">Обновлена боковая панель</target>
</trans-unit>
<trans-unit id="3547923076537026828" datatype="html">
<source>Error updating sidebar views</source>
@@ -2653,7 +2653,7 @@
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.ts</context>
<context context-type="linenumber">285</context>
</context-group>
<target state="needs-translation">Error updating sidebar views</target>
<target state="translated">Ошибка при обновлении боковой панели</target>
</trans-unit>
<trans-unit id="2526035785704676448" datatype="html">
<source>An error occurred while saving update checking settings.</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">Вы уверены?</target>
</trans-unit>
<trans-unit id="1234709746630139322" datatype="html" approved="yes">
<source>Confirmation</source>
@@ -2797,7 +2797,7 @@
<context context-type="sourcefile">src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.html</context>
<context context-type="linenumber">21</context>
</context-group>
<target state="needs-translation">Create New Field</target>
<target state="translated">Создать новое поле</target>
</trans-unit>
<trans-unit id="3249513483374643425" datatype="html">
<source>Add</source>
@@ -2817,7 +2817,7 @@
<context context-type="sourcefile">src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.ts</context>
<context context-type="linenumber">52</context>
</context-group>
<target state="needs-translation">Choose field</target>
<target state="translated">Выбрать поле</target>
</trans-unit>
<trans-unit id="7284517513296281043" datatype="html">
<source>No unused fields found</source>
@@ -2825,7 +2825,7 @@
<context context-type="sourcefile">src/app/components/common/custom-fields-dropdown/custom-fields-dropdown.component.ts</context>
<context context-type="linenumber">56</context>
</context-group>
<target state="needs-translation">No unused fields found</target>
<target state="translated">Неиспользуемые поля не найдены</target>
</trans-unit>
<trans-unit id="6973528734330066202" datatype="html">
<source>Saved field &quot;<x id="PH" equiv-text="newField.name"/>&quot;.</source>
@@ -2837,7 +2837,7 @@
<context context-type="sourcefile">src/app/components/manage/custom-fields/custom-fields.component.ts</context>
<context context-type="linenumber">56</context>
</context-group>
<target state="needs-translation">Saved field "<x id="PH" equiv-text="newField.name"/>".</target>
<target state="translated">Сохранено поле "<x id="PH" equiv-text="newField.name"/>".</target>
</trans-unit>
<trans-unit id="1841172489943868696" datatype="html">
<source>Error saving field.</source>
@@ -2849,7 +2849,7 @@
<context context-type="sourcefile">src/app/components/manage/custom-fields/custom-fields.component.ts</context>
<context context-type="linenumber">63</context>
</context-group>
<target state="needs-translation">Error saving field.</target>
<target state="translated">Ошибка при сохранении поля.</target>
</trans-unit>
<trans-unit id="6052766076365105714" datatype="html">
<source>now</source>
@@ -3001,7 +3001,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component.html</context>
<context context-type="linenumber">11</context>
</context-group>
<target state="needs-translation">Data type cannot be changed after a field is created</target>
<target state="translated">Нельзя изменить дататип после создания поля</target>
</trans-unit>
<trans-unit id="528950215505228201" datatype="html">
<source>Create new custom field</source>
@@ -3009,7 +3009,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component.ts</context>
<context context-type="linenumber">36</context>
</context-group>
<target state="needs-translation">Create new custom field</target>
<target state="translated">Создать новое пользовательское поле</target>
</trans-unit>
<trans-unit id="8751213029607178010" datatype="html">
<source>Edit custom field</source>
@@ -3017,7 +3017,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/custom-field-edit-dialog/custom-field-edit-dialog.component.ts</context>
<context context-type="linenumber">40</context>
</context-group>
<target state="needs-translation">Edit custom field</target>
<target state="translated">Редактировать пользовательское поле</target>
</trans-unit>
<trans-unit id="6672809941092516947" datatype="html" approved="yes">
<source>Create new document type</source>
@@ -3309,7 +3309,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html</context>
<context context-type="linenumber">24</context>
</context-group>
<target state="needs-translation">Filter attachment filename includes</target>
<target state="translated">Фильтр: имя файла вложения включает</target>
</trans-unit>
<trans-unit id="4245210767172267486" datatype="html">
<source>Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive.</source>
@@ -3325,7 +3325,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html</context>
<context context-type="linenumber">25</context>
</context-group>
<target state="needs-translation">Filter attachment filename excluding</target>
<target state="translated">Фильтр: имя файла вложения исключает</target>
</trans-unit>
<trans-unit id="6774472763442688477" datatype="html">
<source>Do not consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive.</source>
@@ -3333,7 +3333,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html</context>
<context context-type="linenumber">25</context>
</context-group>
<target state="needs-translation">Do not consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive.</target>
<target state="translated">Не используйте документы, полностью совпадающие с этим именем, если оно указано. Допускаются подстановочные знаки, такие как *.pdf или *invoice*. Нечувствительность к регистру.</target>
</trans-unit>
<trans-unit id="9216117865911519658" datatype="html">
<source>Action</source>
@@ -3365,7 +3365,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html</context>
<context context-type="linenumber">32</context>
</context-group>
<target state="needs-translation">Assignments specified here will supersede any consumption templates.</target>
<target state="translated">Задания, указанные здесь, заменяют все шаблоны потребления.</target>
</trans-unit>
<trans-unit id="6093797930511670257" datatype="html">
<source>Assign title from</source>
@@ -3413,7 +3413,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.html</context>
<context context-type="linenumber">40</context>
</context-group>
<target state="needs-translation">Assign owner from rule</target>
<target state="translated">Назначить владельца этого правила</target>
</trans-unit>
<trans-unit id="1519954996184640001" datatype="html" approved="yes">
<source>Error</source>
@@ -3521,7 +3521,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/mail-rule-edit-dialog/mail-rule-edit-dialog.component.ts</context>
<context context-type="linenumber">84</context>
</context-group>
<target state="needs-translation">Do not assign title from this rule</target>
<target state="translated">Не назначать заголовок из этого правила</target>
</trans-unit>
<trans-unit id="1568902914205618549" datatype="html">
<source>Do not assign a correspondent</source>
@@ -3905,7 +3905,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">178</context>
</context-group>
<target state="needs-translation">Filter filename</target>
<target state="translated">Фильтр имя файла</target>
</trans-unit>
<trans-unit id="3694878959415278689" datatype="html">
<source>Apply to documents that match this filename. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive.</source>
@@ -3961,7 +3961,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">185</context>
</context-group>
<target state="needs-translation">Content matching algorithm</target>
<target state="translated">Алгоритм подбора содержимого</target>
</trans-unit>
<trans-unit id="510635115034690805" datatype="html">
<source>Content matching pattern</source>
@@ -3969,7 +3969,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">187</context>
</context-group>
<target state="needs-translation">Content matching pattern</target>
<target state="translated">Шаблон подбора содержимого</target>
</trans-unit>
<trans-unit id="1333789258712064056" datatype="html">
<source>Has tags</source>
@@ -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">Есть этикетки</target>
</trans-unit>
<trans-unit id="5281365940563983618" datatype="html">
<source>Has correspondent</source>
@@ -3985,7 +3985,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">197</context>
</context-group>
<target state="needs-translation">Has correspondent</target>
<target state="translated">Имеет корреспондента</target>
</trans-unit>
<trans-unit id="4806713133917046341" datatype="html">
<source>Has document type</source>
@@ -3993,7 +3993,7 @@
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.html</context>
<context context-type="linenumber">198</context>
</context-group>
<target state="needs-translation">Has document type</target>
<target state="translated">Имеет тип документа</target>
</trans-unit>
<trans-unit id="4626030417479279989" datatype="html">
<source>Consume Folder</source>
@@ -4246,7 +4246,7 @@
<context context-type="sourcefile">src/app/components/common/input/select/select.component.ts</context>
<context context-type="linenumber">155</context>
</context-group>
<target state="needs-translation">Filter documents with this <x id="PH" equiv-text="this.title"/></target>
<target state="translated">Фильтровать документы с этим <x id="PH" equiv-text="this.title"/></target>
</trans-unit>
<trans-unit id="6423278459497515329" datatype="html">
<source>No documents found</source>
@@ -4254,7 +4254,7 @@
<context context-type="sourcefile">src/app/components/common/input/document-link/document-link.component.ts</context>
<context context-type="linenumber">44</context>
</context-group>
<target state="needs-translation">No documents found</target>
<target state="translated">Не найдены документы</target>
</trans-unit>
<trans-unit id="6932865105766151309" datatype="html">
<source>Upload</source>
@@ -4347,7 +4347,7 @@
<context context-type="sourcefile">src/app/components/common/input/switch/switch.component.html</context>
<context context-type="linenumber">39</context>
</context-group>
<target state="needs-translation">Note: value has not yet been set and will not apply until explicitly changed</target>
<target state="translated">Примечание: значение еще не установлено и не будет применяться до тех пор, пока не будет изменено в явном виде</target>
</trans-unit>
<trans-unit id="6560126119609945418" datatype="html" approved="yes">
<source>Add tag</source>
@@ -4363,7 +4363,7 @@
<context context-type="sourcefile">src/app/components/common/input/tags/tags.component.html</context>
<context context-type="linenumber">41</context>
</context-group>
<target state="needs-translation">Filter documents with these Tags</target>
<target state="translated">Фильтровать документы с этими этикетами</target>
</trans-unit>
<trans-unit id="1388712764439031120" datatype="html">
<source>Open link</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">Подробнее</target>
</trans-unit>
<trans-unit id="7940755769131903278" datatype="html">
<source>Merge with existing permissions</source>
@@ -4395,7 +4395,7 @@
<context context-type="sourcefile">src/app/components/common/permissions-dialog/permissions-dialog.component.html</context>
<context context-type="linenumber">14</context>
</context-group>
<target state="needs-translation">Merge with existing permissions</target>
<target state="translated">Объединить с существующими правами</target>
</trans-unit>
<trans-unit id="7062872617520618723" datatype="html">
<source>Set permissions</source>
@@ -4411,7 +4411,7 @@
<context context-type="sourcefile">src/app/components/common/permissions-dialog/permissions-dialog.component.ts</context>
<context context-type="linenumber">33</context>
</context-group>
<target state="needs-translation">Edit permissions for </target>
<target state="translated">Редактировать права доступа для </target>
</trans-unit>
<trans-unit id="347498040201588614" datatype="html">
<source>Existing owner, user and group permissions will be merged with these settings.</source>
@@ -4419,7 +4419,7 @@
<context context-type="sourcefile">src/app/components/common/permissions-dialog/permissions-dialog.component.ts</context>
<context context-type="linenumber">74</context>
</context-group>
<target state="needs-translation">Existing owner, user and group permissions will be merged with these settings.</target>
<target state="translated">Существующие права владельцев, пользователей и групп будут объединены с этими настройками.</target>
</trans-unit>
<trans-unit id="3434726483516379481" datatype="html">
<source>Any and all existing owner, user and group permissions will be replaced.</source>
@@ -4427,7 +4427,7 @@
<context context-type="sourcefile">src/app/components/common/permissions-dialog/permissions-dialog.component.ts</context>
<context context-type="linenumber">75</context>
</context-group>
<target state="needs-translation">Any and all existing owner, user and group permissions will be replaced.</target>
<target state="translated">Все существующие права владельца, пользователя и группы будут заменены.</target>
</trans-unit>
<trans-unit id="5947558132119506443" datatype="html">
<source>My documents</source>
@@ -4499,7 +4499,7 @@
<context context-type="sourcefile">src/app/components/common/preview-popup/preview-popup.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
<target state="needs-translation">Error loading preview</target>
<target state="translated">Ошибка при загрузке предпросмотра</target>
</trans-unit>
<trans-unit id="2984628903434675339" datatype="html">
<source>Edit Profile</source>
@@ -4583,7 +4583,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html</context>
<context context-type="linenumber">59</context>
</context-group>
<target state="needs-translation">Connected social accounts</target>
<target state="translated">Подключенные сторонние учетные записи</target>
</trans-unit>
<trans-unit id="8383227756109993898" datatype="html">
<source>Set a password before disconnecting social account.</source>
@@ -4591,7 +4591,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html</context>
<context context-type="linenumber">63</context>
</context-group>
<target state="needs-translation">Set a password before disconnecting social account.</target>
<target state="translated">Установите пароль перед отключением сторонней учётной записи.</target>
</trans-unit>
<trans-unit id="2907016025519254862" datatype="html">
<source>Disconnect</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">Отключить</target>
</trans-unit>
<trans-unit id="5322995394400578831" datatype="html">
<source>Disconnect <x id="INTERPOLATION" equiv-text="{{ account.name }}"/> social account</source>
@@ -4607,7 +4607,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html</context>
<context context-type="linenumber">71</context>
</context-group>
<target state="needs-translation">Disconnect <x id="INTERPOLATION" equiv-text="{{ account.name }}"/> social account</target>
<target state="translated">Отключить <x id="INTERPOLATION" equiv-text="{{ account.name }}"/> стороннюю учётную запись</target>
</trans-unit>
<trans-unit id="649824314893051979" datatype="html">
<source>Warning: disconnecting social accounts cannot be undone</source>
@@ -4615,7 +4615,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html</context>
<context context-type="linenumber">81</context>
</context-group>
<target state="needs-translation">Warning: disconnecting social accounts cannot be undone</target>
<target state="translated">Внимание: отключение сторонний учётной записью невозможно отменить</target>
</trans-unit>
<trans-unit id="1375396510511350122" datatype="html">
<source>Connect new social account</source>
@@ -4623,7 +4623,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.html</context>
<context context-type="linenumber">86</context>
</context-group>
<target state="needs-translation">Connect new social account</target>
<target state="translated">Подключить новый сторонний сервис</target>
</trans-unit>
<trans-unit id="6141884091799403188" datatype="html">
<source>Emails must match</source>
@@ -4671,7 +4671,7 @@
<context context-type="sourcefile">src/app/components/common/profile-edit-dialog/profile-edit-dialog.component.ts</context>
<context context-type="linenumber">210</context>
</context-group>
<target state="needs-translation">Error disconnecting social account</target>
<target state="translated">Ошибка при отключении стороннего сервиса</target>
</trans-unit>
<trans-unit id="3797570084942068182" datatype="html" approved="yes">
<source>Select</source>
@@ -4707,7 +4707,7 @@
<context context-type="sourcefile">src/app/components/common/share-links-dropdown/share-links-dropdown.component.ts</context>
<context context-type="linenumber">23</context>
</context-group>
<target state="needs-translation">Share Links</target>
<target state="translated">Ссылки для обмена</target>
</trans-unit>
<trans-unit id="6617773613987957957" datatype="html">
<source> No existing links </source>
@@ -4715,7 +4715,7 @@
<context context-type="sourcefile">src/app/components/common/share-links-dropdown/share-links-dropdown.component.html</context>
<context context-type="linenumber">9,11</context>
</context-group>
<target state="needs-translation"> No existing links </target>
<target state="translated"> Нет существующих ссылок </target>
</trans-unit>
<trans-unit id="7419704019640008953" datatype="html">
<source>Share</source>
@@ -4723,7 +4723,7 @@
<context context-type="sourcefile">src/app/components/common/share-links-dropdown/share-links-dropdown.component.html</context>
<context context-type="linenumber">33</context>
</context-group>
<target state="needs-translation">Share</target>
<target state="translated">Поделиться</target>
</trans-unit>
<trans-unit id="6811921365829755679" datatype="html">
<source>Share archive version</source>
@@ -4731,7 +4731,7 @@
<context context-type="sourcefile">src/app/components/common/share-links-dropdown/share-links-dropdown.component.html</context>
<context context-type="linenumber">47</context>
</context-group>
<target state="needs-translation">Share archive version</target>
<target state="translated">Поделиться версией архива</target>
</trans-unit>
<trans-unit id="8037476586059399916" datatype="html">
<source>Expires</source>
@@ -4739,7 +4739,7 @@
<context context-type="sourcefile">src/app/components/common/share-links-dropdown/share-links-dropdown.component.html</context>
<context context-type="linenumber">51</context>
</context-group>
<target state="needs-translation">Expires</target>
<target state="translated">Истекает</target>
</trans-unit>
<trans-unit id="4776429682428363094" datatype="html">
<source>1 day</source>
@@ -4783,7 +4783,7 @@
<context context-type="sourcefile">src/app/components/common/share-links-dropdown/share-links-dropdown.component.ts</context>
<context context-type="linenumber">75</context>
</context-group>
<target state="needs-translation">Error retrieving links</target>
<target state="translated">Ошибка при получении ссылок</target>
</trans-unit>
<trans-unit id="3242255798983858463" datatype="html">
<source><x id="PH" equiv-text="days"/> days</source>
@@ -4791,7 +4791,7 @@
<context context-type="sourcefile">src/app/components/common/share-links-dropdown/share-links-dropdown.component.ts</context>
<context context-type="linenumber">94</context>
</context-group>
<target state="needs-translation"><x id="PH" equiv-text="days"/> days</target>
<target state="translated"><x id="PH" equiv-text="days"/> дни</target>
</trans-unit>
<trans-unit id="2897042887615940599" datatype="html">
<source>Error deleting link</source>
@@ -4827,7 +4827,7 @@
<context context-type="sourcefile">src/app/components/common/toasts/toasts.component.html</context>
<context context-type="linenumber">41</context>
</context-group>
<target state="needs-translation">Copy Raw Error</target>
<target state="translated">Скопировать ошибку</target>
</trans-unit>
<trans-unit id="6581372518205328477" datatype="html">
<source>Hello <x id="PH" equiv-text="this.settingsService.displayName"/>, welcome to <x id="PH_1" equiv-text="environment.appTitle"/></source>
@@ -4843,7 +4843,7 @@
<context context-type="sourcefile">src/app/components/dashboard/dashboard.component.ts</context>
<context context-type="linenumber">40</context>
</context-group>
<target state="needs-translation">Welcome to <x id="PH" equiv-text="environment.appTitle"/></target>
<target state="translated">Добро пожаловать в <x id="PH" equiv-text="environment.appTitle"/></target>
</trans-unit>
<trans-unit id="1325877348738783391" datatype="html">
<source>Dashboard updated</source>
@@ -4931,7 +4931,7 @@
<context context-type="sourcefile">src/app/components/dashboard/widgets/saved-view-widget/saved-view-widget.component.html</context>
<context context-type="linenumber">47</context>
</context-group>
<target state="needs-translation">View Preview</target>
<target state="translated">Предпросмотр</target>
</trans-unit>
<trans-unit id="3099741642167775297" datatype="html" approved="yes">
<source>Download</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" approved="yes">
<source>Download original</source>
@@ -5434,7 +5434,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context>
<context context-type="linenumber">272,275</context>
</context-group>
<target state="needs-translation">Notes <x id="START_BLOCK_IF" equiv-text="@if (document?.notes.length) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge text-bg-secondary ms-1&quot;&gt;"/><x id="INTERPOLATION" equiv-text="ngth}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></target>
<target state="translated">Примечания <x id="START_BLOCK_IF" equiv-text="@if (document?.notes.length) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span class=&quot;badge text-bg-secondary ms-1&quot;&gt;"/><x id="INTERPOLATION" equiv-text="ngth}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></target>
</trans-unit>
<trans-unit id="5129524307369213584" datatype="html" approved="yes">
<source>Save &amp; next</source>
@@ -5450,7 +5450,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context>
<context context-type="linenumber">312</context>
</context-group>
<target state="needs-translation">Save &amp; close</target>
<target state="translated">Сохранить &amp; закрыть</target>
</trans-unit>
<trans-unit id="8191371354890763172" datatype="html">
<source>Enter Password</source>
@@ -5474,7 +5474,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">348</context>
</context-group>
<target state="needs-translation">Document changes detected</target>
<target state="translated">Обнаружены изменения документа</target>
</trans-unit>
<trans-unit id="2887155916749964" datatype="html">
<source>The version of this document in your browser session appears older than the existing version.</source>
@@ -5482,7 +5482,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">349</context>
</context-group>
<target state="needs-translation">The version of this document in your browser session appears older than the existing version.</target>
<target state="translated">Версия этого документа в вашем браузере появляется старше существующей версии.</target>
</trans-unit>
<trans-unit id="237142428785956348" datatype="html">
<source>Saving the document here may overwrite other changes that were made. To restore the existing version, discard your changes or close the document.</source>
@@ -5490,7 +5490,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">350</context>
</context-group>
<target state="needs-translation">Saving the document here may overwrite other changes that were made. To restore the existing version, discard your changes or close the document.</target>
<target state="translated">Сохранение документа здесь может привести к перезаписи внесенных изменений. Чтобы восстановить существующую версию, отмените изменения или закройте документ.</target>
</trans-unit>
<trans-unit id="8720977247725652816" datatype="html">
<source>Ok</source>
@@ -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">Хорошо</target>
</trans-unit>
<trans-unit id="5758784066858623886" datatype="html">
<source>Error retrieving metadata</source>
@@ -5618,7 +5618,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">783</context>
</context-group>
<target state="needs-translation">Error executing operation</target>
<target state="translated">Ошибка при выполнении операции</target>
</trans-unit>
<trans-unit id="4458954481601077369" datatype="html">
<source>Page Fit</source>
@@ -5626,7 +5626,7 @@
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
<context context-type="linenumber">852</context>
</context-group>
<target state="needs-translation">Page Fit</target>
<target state="translated">Вместить страницу</target>
</trans-unit>
<trans-unit id="6857598786757174736" datatype="html" approved="yes">
<source>Select:</source>
@@ -5730,7 +5730,7 @@
<context context-type="sourcefile">src/app/components/document-list/bulk-editor/bulk-editor.component.ts</context>
<context context-type="linenumber">218</context>
</context-group>
<target state="needs-translation">Error executing bulk operation</target>
<target state="translated">Ошибка при выполнении массовой операции</target>
</trans-unit>
<trans-unit id="7894972847287473517" datatype="html">
<source>&quot;<x id="PH" equiv-text="items[0].name"/>&quot;</source>
@@ -6396,7 +6396,7 @@
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
<context context-type="linenumber">185,187</context>
</context-group>
<target state="needs-translation">Document type: <x id="PH" equiv-text="this.documentTypes.find( (dt) =&gt; dt.id == +rule.value )?.name"/></target>
<target state="translated">Тип документа: <x id="PH" equiv-text="this.documentTypes.find( (dt) =&gt; dt.id == +rule.value )?.name"/></target>
</trans-unit>
<trans-unit id="4362173610367509215" datatype="html" approved="yes">
<source>Without document type</source>
@@ -6412,7 +6412,7 @@
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
<context context-type="linenumber">195,197</context>
</context-group>
<target state="needs-translation">Storage path: <x id="PH" equiv-text="this.storagePaths.find( (sp) =&gt; sp.id == +rule.value )?.name"/></target>
<target state="translated">Путь хранения: <x id="PH" equiv-text="this.storagePaths.find( (sp) =&gt; sp.id == +rule.value )?.name"/></target>
</trans-unit>
<trans-unit id="1562820715074533164" datatype="html">
<source>Without storage path</source>
@@ -6420,7 +6420,7 @@
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
<context context-type="linenumber">199</context>
</context-group>
<target state="needs-translation">Without storage path</target>
<target state="translated">Без пути хранения</target>
</trans-unit>
<trans-unit id="8180755793012580465" datatype="html">
<source>Tag: <x id="PH" equiv-text="this.tags.find((t) =&gt; t.id == +rule.value) ?.name"/></source>
@@ -6608,7 +6608,7 @@
<context context-type="sourcefile">src/app/components/manage/custom-fields/custom-fields.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
<target state="needs-translation">Customize the data fields that can be attached to documents.</target>
<target state="translated">Настройка полей данных, которые могут быть прикреплены к документам.</target>
</trans-unit>
<trans-unit id="8019331026479399960" datatype="html">
<source>Add Field</source>
@@ -6640,7 +6640,7 @@
<context context-type="sourcefile">src/app/components/manage/custom-fields/custom-fields.component.ts</context>
<context context-type="linenumber">71</context>
</context-group>
<target state="needs-translation">Confirm delete field</target>
<target state="translated">Подтвердить удаление поля</target>
</trans-unit>
<trans-unit id="2939457975223185057" datatype="html">
<source>This operation will permanently delete this field.</source>
@@ -6648,7 +6648,7 @@
<context context-type="sourcefile">src/app/components/manage/custom-fields/custom-fields.component.ts</context>
<context context-type="linenumber">72</context>
</context-group>
<target state="needs-translation">This operation will permanently delete this field.</target>
<target state="translated">Эта операция окончательно удалит данное поле.</target>
</trans-unit>
<trans-unit id="5137089475515834162" datatype="html">
<source>Deleted field</source>
@@ -6656,7 +6656,7 @@
<context context-type="sourcefile">src/app/components/manage/custom-fields/custom-fields.component.ts</context>
<context context-type="linenumber">81</context>
</context-group>
<target state="needs-translation">Deleted field</target>
<target state="translated">Удаленное поле</target>
</trans-unit>
<trans-unit id="6352403551920829405" datatype="html">
<source>Error deleting field.</source>
@@ -6664,7 +6664,7 @@
<context context-type="sourcefile">src/app/components/manage/custom-fields/custom-fields.component.ts</context>
<context context-type="linenumber">86</context>
</context-group>
<target state="needs-translation">Error deleting field.</target>
<target state="translated">Ошибка при сохранении поля.</target>
</trans-unit>
<trans-unit id="8084492669582894778" datatype="html">
<source>document type</source>
@@ -6760,7 +6760,7 @@
<context context-type="sourcefile">src/app/components/manage/mail/mail.component.ts</context>
<context context-type="linenumber">56</context>
</context-group>
<target state="needs-translation">Error retrieving mail accounts</target>
<target state="translated">Ошибка при получении учетных записей почты</target>
</trans-unit>
<trans-unit id="5241231471117657636" datatype="html">
<source>Error retrieving mail rules</source>
@@ -6768,7 +6768,7 @@
<context context-type="sourcefile">src/app/components/manage/mail/mail.component.ts</context>
<context context-type="linenumber">70</context>
</context-group>
<target state="needs-translation">Error retrieving mail rules</target>
<target state="translated">Ошибка при получении почтовых правил</target>
</trans-unit>
<trans-unit id="6327501535846658797" datatype="html">
<source>Saved account &quot;<x id="PH" equiv-text="newMailAccount.name"/>&quot;.</source>
@@ -6784,7 +6784,7 @@
<context context-type="sourcefile">src/app/components/manage/mail/mail.component.ts</context>
<context context-type="linenumber">104</context>
</context-group>
<target state="needs-translation">Error saving account.</target>
<target state="translated">Ошибка при сохранении учетной записи.</target>
</trans-unit>
<trans-unit id="5641934153807844674" datatype="html">
<source>Confirm delete mail account</source>
@@ -6816,7 +6816,7 @@
<context context-type="sourcefile">src/app/components/manage/mail/mail.component.ts</context>
<context context-type="linenumber">132</context>
</context-group>
<target state="needs-translation">Error deleting mail account.</target>
<target state="translated">Ошибка при удалении учетных записей почты.</target>
</trans-unit>
<trans-unit id="123368655395433699" datatype="html">
<source>Saved rule &quot;<x id="PH" equiv-text="newMailRule.name"/>&quot;.</source>
@@ -6832,7 +6832,7 @@
<context context-type="sourcefile">src/app/components/manage/mail/mail.component.ts</context>
<context context-type="linenumber">163</context>
</context-group>
<target state="needs-translation">Error saving rule.</target>
<target state="translated">Ошибка при сохранении правила.</target>
</trans-unit>
<trans-unit id="3896080636020672118" datatype="html">
<source>Confirm delete mail rule</source>
@@ -6864,7 +6864,7 @@
<context context-type="sourcefile">src/app/components/manage/mail/mail.component.ts</context>
<context context-type="linenumber">190</context>
</context-group>
<target state="needs-translation">Error deleting mail rule.</target>
<target state="translated">Ошибка при удалении почтового правила.</target>
</trans-unit>
<trans-unit id="3061362835271417984" datatype="html">
<source>Permissions updated</source>
@@ -7064,7 +7064,7 @@
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context>
<context context-type="linenumber">303</context>
</context-group>
<target state="needs-translation">This operation will permanently delete all objects.</target>
<target state="translated">Эта операция окончательно удалит все объекты.</target>
</trans-unit>
<trans-unit id="5897787932098828336" datatype="html">
<source>Objects deleted successfully</source>
@@ -7072,7 +7072,7 @@
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context>
<context context-type="linenumber">317</context>
</context-group>
<target state="needs-translation">Objects deleted successfully</target>
<target state="translated">Объекты успешно удалены</target>
</trans-unit>
<trans-unit id="8273353839648035634" datatype="html">
<source>Error deleting objects</source>
@@ -7080,7 +7080,7 @@
<context context-type="sourcefile">src/app/components/manage/management-list/management-list.component.ts</context>
<context context-type="linenumber">323</context>
</context-group>
<target state="needs-translation">Error deleting objects</target>
<target state="translated">Ошибка при удалении объектов</target>
</trans-unit>
<trans-unit id="5101757640976222639" datatype="html">
<source>storage path</source>
@@ -7136,7 +7136,7 @@
<context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.html</context>
<context context-type="linenumber">4</context>
</context-group>
<target state="needs-translation">Use workflows to customize the behavior of Paperless-ngx when events 'trigger' a workflow.</target>
<target state="translated">Используйте автомации, чтобы настроить поведение Paperless-ngx, когда события "запускают" автомацию.</target>
</trans-unit>
<trans-unit id="2437630016855517844" datatype="html">
<source>Add Workflow</source>
@@ -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">Отключено</target>
</trans-unit>
<trans-unit id="1624023882313260402" datatype="html">
<source>No workflows defined.</source>
@@ -7160,7 +7160,7 @@
<context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.html</context>
<context context-type="linenumber">46</context>
</context-group>
<target state="needs-translation">No workflows defined.</target>
<target state="translated">Не определены автомации.</target>
</trans-unit>
<trans-unit id="4200688335642457098" datatype="html">
<source>Saved workflow &quot;<x id="PH" equiv-text="newWorkflow.name"/>&quot;.</source>
@@ -7168,7 +7168,7 @@
<context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.ts</context>
<context context-type="linenumber">79</context>
</context-group>
<target state="needs-translation">Saved workflow "<x id="PH" equiv-text="newWorkflow.name"/>".</target>
<target state="translated">Сохраненная автомация "<x id="PH" equiv-text="newWorkflow.name"/>".</target>
</trans-unit>
<trans-unit id="7593065565369163325" datatype="html">
<source>Error saving workflow.</source>
@@ -7176,7 +7176,7 @@
<context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.ts</context>
<context context-type="linenumber">87</context>
</context-group>
<target state="needs-translation">Error saving workflow.</target>
<target state="translated">Ошибка при сохранении автомации.</target>
</trans-unit>
<trans-unit id="563460864902055482" datatype="html">
<source>Confirm delete workflow</source>
@@ -7184,7 +7184,7 @@
<context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.ts</context>
<context context-type="linenumber">95</context>
</context-group>
<target state="needs-translation">Confirm delete workflow</target>
<target state="translated">Подтвердите удаление автомации</target>
</trans-unit>
<trans-unit id="6874008462443189248" datatype="html">
<source>This operation will permanently delete this workflow.</source>
@@ -7192,7 +7192,7 @@
<context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.ts</context>
<context context-type="linenumber">96</context>
</context-group>
<target state="needs-translation">This operation will permanently delete this workflow.</target>
<target state="translated">Эта операция окончательно удалит автомацию.</target>
</trans-unit>
<trans-unit id="1848226135059921165" datatype="html">
<source>Deleted workflow</source>
@@ -7200,7 +7200,7 @@
<context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.ts</context>
<context context-type="linenumber">105</context>
</context-group>
<target state="needs-translation">Deleted workflow</target>
<target state="translated">Удаленная автомация</target>
</trans-unit>
<trans-unit id="3177411222429626224" datatype="html">
<source>Error deleting workflow.</source>
@@ -7208,7 +7208,7 @@
<context context-type="sourcefile">src/app/components/manage/workflows/workflows.component.ts</context>
<context context-type="linenumber">110</context>
</context-group>
<target state="needs-translation">Error deleting workflow.</target>
<target state="translated">Ошибка при удалении автомации.</target>
</trans-unit>
<trans-unit id="2649252321173430744" datatype="html">
<source>Not Found</source>
@@ -7264,7 +7264,7 @@
<context context-type="sourcefile">src/app/data/custom-field.ts</context>
<context context-type="linenumber">33</context>
</context-group>
<target state="needs-translation">Monetary</target>
<target state="translated">Денежный</target>
</trans-unit>
<trans-unit id="6162693758764653365" datatype="html">
<source>Text</source>
@@ -7288,7 +7288,7 @@
<context context-type="sourcefile">src/app/data/custom-field.ts</context>
<context context-type="linenumber">45</context>
</context-group>
<target state="needs-translation">Document Link</target>
<target state="translated">Ярлык на документ</target>
</trans-unit>
<trans-unit id="2167862279705099846" datatype="html" approved="yes">
<source>Auto: Learn matching automatically</source>
@@ -7941,7 +7941,7 @@
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
<context context-type="linenumber">136</context>
</context-group>
<target state="needs-translation">Japanese</target>
<target state="translated">Японский</target>
</trans-unit>
<trans-unit id="1334425850005897370" datatype="html">
<source>Luxembourgish</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

@@ -87,66 +87,72 @@ class BarcodePlugin(ConsumeTaskPlugin):
# Locate any barcodes in the files
self.detect()
# try reading tags from barcodes
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}")
# Lastly attempt to split documents
if settings.CONSUMER_ENABLE_BARCODES and (
separator_pages := self.get_separation_pages()
):
# We have pages to split against
# 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()
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(),
),
# All the same metadata
self.metadata,
)
logger.info(f"Created new task {task.id} for {new_document.name}")
# 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)
# Update/overwrite an ASN if possible
located_asn = self.asn
if located_asn is not None:
# After splitting, as otherwise each split document gets the same ASN
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}")
separator_pages = self.get_separation_pages()
if not separator_pages:
return "No pages to split on!"
# We have pages to split against
# 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()
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(),
),
# All the same metadata
self.metadata,
)
logger.info(f"Created new task {task.id} for {new_document.name}")
# 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

@@ -39,7 +39,6 @@
<path d="M757.6,293.7c-20-10.8-42.6-16.2-67.8-16.2H600c-8.5,39.2-21.1,76.4-37.6,111.3c-9.9,20.8-21.1,40.6-33.6,59.4v207.2h88.9 V521.5h72c25.2,0,47.8-5.4,67.8-16.2s35.7-25.6,47.1-44.2c11.4-18.7,17.1-39.1,17.1-61.3c0.1-22.7-5.6-43.3-17-61.9 C793.3,319.2,777.6,304.5,757.6,293.7z M716.6,434.3c-9.3,8.9-21.6,13.3-36.7,13.3l-62.2,0.4v-92.5l62.2-0.4 c15.1,0,27.3,4.4,36.7,13.3c9.4,8.9,14,19.9,14,32.9C730.6,414.5,726,425.4,716.6,434.3z" transform="translate(0)"/>
</g>
</svg>
<!-- TODO: Translations? -->
{% if form.errors.username %}
<div class="alert alert-danger" role="alert">
{{ form.errors.username }}
@@ -50,9 +49,10 @@
{{ form.errors.email }}
</div>
{% endif %}
{% blocktrans with provider_name=account.get_provider.name site_name=site.name %}You are about to use your {{provider_name}} account to login to
{{site_name}}. As a final step, please complete the following form:{% endblocktrans %}
</p>
<p>
{% blocktrans with provider_name=account.get_provider.name %}You are about to use your {{provider_name}} account to login.{% endblocktrans %}
{% blocktrans %}As a final step, please complete the following form:{% endblocktrans %}
</p>
{% translate "Username" as i18n_username %}
{% translate "Email" as i18n_email %}
<div class="form-floating">

View File

@@ -15,6 +15,7 @@ from documents.data_models import ConsumableDocument
from documents.data_models import DocumentMetadataOverrides
from documents.data_models import DocumentSource
from documents.models import Tag
from documents.plugins.base import StopConsumeTaskError
from documents.tests.utils import DirectoriesMixin
from documents.tests.utils import DocumentConsumeDelayMixin
from documents.tests.utils import DummyProgressManager
@@ -402,6 +403,7 @@ class TestBarcode(
self.assertEqual(len(documents), 2)
@override_settings(CONSUMER_ENABLE_BARCODES=True)
def test_separate_pages_no_list(self):
"""
GIVEN:
@@ -414,7 +416,10 @@ class TestBarcode(
test_file = self.SAMPLE_DIR / "simple.pdf"
with self.get_reader(test_file) as reader:
self.assertEqual("No pages to split on!", reader.run())
try:
reader.run()
except StopConsumeTaskError:
self.fail("Barcode reader split pages unexpectedly")
@override_settings(
CONSUMER_ENABLE_BARCODES=True,

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Afrikaans\n"
"Language: af_ZA\n"
@@ -929,8 +929,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Arabic\n"
"Language: ar_SA\n"
@@ -929,8 +929,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Belarusian\n"
"Language: be_BY\n"
@@ -929,8 +929,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Bulgarian\n"
"Language: bg_BG\n"
@@ -929,8 +929,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Catalan\n"
"Language: ca_ES\n"
@@ -816,7 +816,7 @@ msgstr "Contrasenya oblidada?"
#: documents/templates/account/login.html:83
msgid "or sign in via"
msgstr ""
msgstr "o accedeix via"
#: documents/templates/account/password_reset.html:15
msgid "Paperless-ngx reset password request"
@@ -907,35 +907,38 @@ msgstr "Link als documents."
#: documents/templates/socialaccount/authentication_error.html:15
#: documents/templates/socialaccount/login.html:15
msgid "Paperless-ngx social account sign in"
msgstr ""
msgstr "Paperless-ngx accés a través de compte 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 "Error al autenticar amb xarxa social. Torna a <a href=\"%(login_url)s\">pàgina de login</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 punt de connectar un nou proveïdor extern des 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 "Paperless-ngx alta de xarxa 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72
msgid "Sign up"
msgstr ""
msgstr "Registra't"
#: documents/validators.py:17
#, python-brace-format

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Czech\n"
"Language: cs_CZ\n"
@@ -929,8 +929,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Danish\n"
"Language: da_DK\n"
@@ -929,8 +929,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\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
@@ -929,10 +929,12 @@ msgstr "Paperless-ngx Drittanbieterkonto-Registrierung"
#: 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 "Sie sind dabei, sich mit Ihrem %(provider_name)s-Konto bei\n"
"%(site_name)s anzumelden. Zum Abschluss füllen Sie bitte das folgende Formular aus:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72
msgid "Sign up"

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Greek\n"
"Language: el_GR\n"
@@ -929,8 +929,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72

View File

@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: paperless-ngx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-08 11:56-0800\n"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2022-02-17 04:17\n"
"Last-Translator: \n"
"Language-Team: English\n"
@@ -946,9 +946,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\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,53 @@ 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: 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 +973,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

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Finnish\n"
"Language: fi_FI\n"
@@ -929,8 +929,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\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,13 +925,16 @@ 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
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 "Vous vous apprêtez à utiliser votre compte %(provider_name)s pour vous connecter à %(site_name)s. Pour finaliser, veuillez remplir le formulaire suivant :"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72
msgid "Sign up"

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Hebrew\n"
"Language: he_IL\n"
@@ -929,8 +929,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Croatian\n"
"Language: hr_HR\n"
@@ -929,8 +929,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Hungarian\n"
"Language: hu_HU\n"
@@ -929,8 +929,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Indonesian\n"
"Language: id_ID\n"
@@ -929,8 +929,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72

View File

@@ -2,8 +2,8 @@ msgid ""
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-10 12:08\n"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
"Language: it_IT\n"
@@ -929,8 +929,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
"Language: ja_JP\n"
@@ -929,9 +929,12 @@ msgstr "Paperless-ngx ソーシャルアカウント登録"
#: 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 "%(provider_name)s のアカウントで %(site_name)s にログインしようとしています。最後に、次のフォームに記入してください。"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72
msgid "Sign up"

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Korean\n"
"Language: ko_KR\n"
@@ -929,8 +929,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Luxembourgish\n"
"Language: lb_LU\n"
@@ -929,8 +929,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Latvian\n"
"Language: lv_LV\n"
@@ -929,8 +929,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
"Language: nl_NL\n"
@@ -929,10 +929,12 @@ msgstr "Paperless-ngx sociaal account registreren"
#: 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 "Je staat op het punt om met je %(provider_name)s account in te loggen bij\n"
"%(site_name)s. Vul als laatste stap het volgende formulier in:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72
msgid "Sign up"

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Norwegian\n"
"Language: no_NO\n"
@@ -929,8 +929,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
"Language: pl_PL\n"
@@ -816,7 +816,7 @@ msgstr "Nie pamiętasz hasła?"
#: documents/templates/account/login.html:83
msgid "or sign in via"
msgstr ""
msgstr "lub zaloguj się przez"
#: documents/templates/account/password_reset.html:15
msgid "Paperless-ngx reset password request"
@@ -907,35 +907,38 @@ msgstr "Oto link do dokumentacji."
#: documents/templates/socialaccount/authentication_error.html:15
#: documents/templates/socialaccount/login.html:15
msgid "Paperless-ngx social account sign in"
msgstr ""
msgstr "Logowanie do Paperless-ngx poprzez konto społecznościowe"
#: 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 "Wystąpił błąd podczas próby zalogowania się za pośrednictwem konta sieci społecznościowej. Powrót do <a href=\"%(login_url)s\">strony logowania</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 "Zamierzasz podłączyć nowe konto strony trzeciej od %(provider)s."
#: documents/templates/socialaccount/login.html:47
msgid "Continue"
msgstr ""
msgstr "Kontynuuj"
#: documents/templates/socialaccount/signup.html:14
msgid "Paperless-ngx social account sign up"
msgstr ""
msgstr "Zarejestruj w Paperless-ngx konto społecznościowe"
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72
msgid "Sign up"
msgstr ""
msgstr "Zarejestruj się"
#: documents/validators.py:17
#, python-brace-format

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Portuguese, Brazilian\n"
"Language: pt_BR\n"
@@ -930,8 +930,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Portuguese\n"
"Language: pt_PT\n"
@@ -929,8 +929,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Romanian\n"
"Language: ro_RO\n"
@@ -929,8 +929,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
"Language: ru_RU\n"
@@ -27,7 +27,7 @@ msgstr "владелец"
#: documents/models.py:53 documents/models.py:897
msgid "None"
msgstr "Ничего"
msgstr "Никакой"
#: documents/models.py:54 documents/models.py:898
msgid "Any word"
@@ -369,15 +369,15 @@ msgstr "больше похожих"
#: documents/models.py:447
msgid "has tags in"
msgstr "имеет теги в"
msgstr "имеет этикетки в"
#: documents/models.py:448
msgid "ASN greater than"
msgstr "ASN больше чем"
msgstr "АН больше чем"
#: documents/models.py:449
msgid "ASN less than"
msgstr "ASN меньше чем"
msgstr "АН меньше чем"
#: documents/models.py:450
msgid "storage path is"
@@ -385,27 +385,27 @@ msgstr "путь хранения является"
#: documents/models.py:451
msgid "has correspondent in"
msgstr ""
msgstr "имеет корреспондента в"
#: documents/models.py:452
msgid "does not have correspondent in"
msgstr ""
msgstr "не имеет корреспондента в"
#: documents/models.py:453
msgid "has document type in"
msgstr ""
msgstr "имеет тип документа в"
#: documents/models.py:454
msgid "does not have document type in"
msgstr ""
msgstr "не имеет тип документа в"
#: documents/models.py:455
msgid "has storage path in"
msgstr ""
msgstr "имеет путь хранения в"
#: documents/models.py:456
msgid "does not have storage path in"
msgstr ""
msgstr "не имеет пути хранения в"
#: documents/models.py:457
msgid "owner is"
@@ -413,7 +413,7 @@ msgstr "владелец"
#: documents/models.py:458
msgid "has owner in"
msgstr ""
msgstr "имеет владельца в"
#: documents/models.py:459
msgid "does not have owner"
@@ -421,15 +421,15 @@ msgstr "не имеет владельца"
#: documents/models.py:460
msgid "does not have owner in"
msgstr ""
msgstr "не имеет владельца в"
#: documents/models.py:461
msgid "has custom field value"
msgstr ""
msgstr "имеет пользовательское значение поля"
#: documents/models.py:462
msgid "is shared by me"
msgstr ""
msgstr "делится мною"
#: documents/models.py:472
msgid "rule type"
@@ -461,7 +461,7 @@ msgstr "Подтверждено"
#: documents/models.py:596
msgid "If the task is acknowledged via the frontend or API"
msgstr "Если задание подтверждено через интерфейс сайта или API"
msgstr "Если задание подтверждено через внешний интерфейс или API"
#: documents/models.py:602
msgid "Task Filename"
@@ -473,7 +473,7 @@ msgstr "Имя файла, для которого была запущена з
#: documents/models.py:609
msgid "Task Name"
msgstr "Название Задачи"
msgstr "Название задачи"
#: documents/models.py:610
msgid "Name of the Task which was run"
@@ -521,7 +521,7 @@ msgstr "Данные, возвращаемые задачей"
#: documents/models.py:655
msgid "Note for the document"
msgstr ""
msgstr "Заметка для документа"
#: documents/models.py:679
msgid "user"
@@ -549,15 +549,15 @@ msgstr "Срок действия"
#: documents/models.py:712
msgid "slug"
msgstr ""
msgstr "динамический идентификатор"
#: documents/models.py:744
msgid "share link"
msgstr "Поделиться ссылкой"
msgstr "ссылка для обмена"
#: documents/models.py:745
msgid "share links"
msgstr ""
msgstr "ссылки для обмена"
#: documents/models.py:757
msgid "String"
@@ -585,11 +585,11 @@ msgstr "С плавающей точкой"
#: documents/models.py:763
msgid "Monetary"
msgstr ""
msgstr "Валюта"
#: documents/models.py:764
msgid "Document Link"
msgstr ""
msgstr "Ярлык на документ"
#: documents/models.py:776
msgid "data type"
@@ -605,11 +605,11 @@ msgstr "Пользовательские поля"
#: documents/models.py:847
msgid "custom field instance"
msgstr ""
msgstr "пользовательский образец поля"
#: documents/models.py:848
msgid "custom field instances"
msgstr ""
msgstr "пользовательские образцы поля"
#: documents/models.py:905
msgid "Consumption Started"
@@ -629,7 +629,7 @@ msgstr "Обработка из папки"
#: documents/models.py:911
msgid "Api Upload"
msgstr "Загрузка API"
msgstr "API загрузка"
#: documents/models.py:912
msgid "Mail Fetch"
@@ -637,19 +637,19 @@ msgstr "Получить почту"
#: documents/models.py:915
msgid "Workflow Trigger Type"
msgstr ""
msgstr "Tип пускового механизма автоматизации"
#: documents/models.py:927
msgid "filter path"
msgstr ""
msgstr "фильтр путя"
#: documents/models.py:932
msgid "Only consume documents with a path that matches this if specified. Wildcards specified as * are allowed. Case insensitive."
msgstr ""
msgstr "Обрабатывает только документы, соответствующие этому пути если он указан. Допускаются такие символы, как *. Верхний и нижний регистр не учитываются."
#: documents/models.py:939
msgid "filter filename"
msgstr ""
msgstr "фильтр имя файла"
#: documents/models.py:944 paperless_mail/models.py:148
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
@@ -657,27 +657,27 @@ msgstr "Обрабатывать только документы, которые
#: documents/models.py:955
msgid "filter documents from this mail rule"
msgstr ""
msgstr "фильтр документов из этого правила электронной почты"
#: documents/models.py:971
msgid "has these tag(s)"
msgstr ""
msgstr "имеет эти этикетки"
#: documents/models.py:979
msgid "has this document type"
msgstr ""
msgstr "имеет этот тип документа"
#: documents/models.py:987
msgid "has this correspondent"
msgstr ""
msgstr "имеет этого корреспондента"
#: documents/models.py:991
msgid "workflow trigger"
msgstr ""
msgstr "пусковой механизм автоматизации"
#: documents/models.py:992
msgid "workflow triggers"
msgstr ""
msgstr "пусковые механизмы автоматизации"
#: documents/models.py:1000
msgid "Assignment"
@@ -685,7 +685,7 @@ msgstr "Задание"
#: documents/models.py:1003
msgid "Workflow Action Type"
msgstr ""
msgstr "Тип действия автоматизации"
#: documents/models.py:1009
msgid "assign title"
@@ -693,7 +693,7 @@ msgstr "присвоить заголовок"
#: documents/models.py:1014
msgid "Assign a document title, can include some placeholders, see documentation."
msgstr ""
msgstr "Назначьте заголовок документа. Оно может содержать заполнители, см. документацию."
#: documents/models.py:1022 paperless_mail/models.py:216
msgid "assign this tag"
@@ -709,39 +709,39 @@ msgstr "назначить этого корреспондента"
#: documents/models.py:1046
msgid "assign this storage path"
msgstr ""
msgstr "назначить этот путь хранения"
#: documents/models.py:1055
msgid "assign this owner"
msgstr ""
msgstr "назначить этого владельца"
#: documents/models.py:1062
msgid "grant view permissions to these users"
msgstr ""
msgstr "предоставьте права на отображение этим пользователям"
#: documents/models.py:1069
msgid "grant view permissions to these groups"
msgstr ""
msgstr "предоставьте права на отображение этим группам"
#: documents/models.py:1076
msgid "grant change permissions to these users"
msgstr ""
msgstr "предоставьте права на редактирование этим пользователям"
#: documents/models.py:1083
msgid "grant change permissions to these groups"
msgstr ""
msgstr "предоставьте права на редактирование этим группам"
#: documents/models.py:1090
msgid "assign these custom fields"
msgstr ""
msgstr "назначьте эти пользовательские поля"
#: documents/models.py:1094
msgid "workflow action"
msgstr ""
msgstr "действия автоматизации"
#: documents/models.py:1095
msgid "workflow actions"
msgstr ""
msgstr "действия автоматизации"
#: documents/models.py:1104 paperless_mail/models.py:95
msgid "order"
@@ -749,11 +749,11 @@ msgstr "порядок"
#: documents/models.py:1110
msgid "triggers"
msgstr ""
msgstr "пусковые механизмы"
#: documents/models.py:1117
msgid "actions"
msgstr ""
msgstr "действия"
#: documents/models.py:1120
msgid "enabled"
@@ -791,11 +791,11 @@ msgstr "Неправильные имя пользователя или паро
#: documents/templates/account/login.html:54
msgid "Share link was not found."
msgstr "Эта ссылка не найдена."
msgstr "Ссылка для обмена не найдена."
#: documents/templates/account/login.html:58
msgid "Share link has expired."
msgstr "Срок действия ссылки истёк."
msgstr "Срок действия ссылки для обмена истёк."
#: documents/templates/account/login.html:61
#: documents/templates/socialaccount/signup.html:56
@@ -816,11 +816,11 @@ msgstr "Забыли пароль?"
#: documents/templates/account/login.html:83
msgid "or sign in via"
msgstr ""
msgstr "или войдите в систему через"
#: documents/templates/account/password_reset.html:15
msgid "Paperless-ngx reset password request"
msgstr ""
msgstr "Запрос на сброс пароля 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."
@@ -828,7 +828,7 @@ msgstr "Введите ваш адрес электронной почты ни
#: documents/templates/account/password_reset.html:46
msgid "An error occurred. Please try again."
msgstr "Произошла ошибка. Пожалуйста, попробуйте снова."
msgstr "Произошла ошибка. Пожалуйста, попробуйте еще раз."
#: documents/templates/account/password_reset.html:49
#: documents/templates/socialaccount/signup.html:57
@@ -849,23 +849,23 @@ msgstr "Проверье ваш почтовый ящик."
#: 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 "Мы отправили вам инструкции по установке нового пароля. Вы должны получить письмо в ближайшее время!"
#: documents/templates/account/password_reset_from_key.html:15
msgid "Paperless-ngx reset password confirmation"
msgstr ""
msgstr "Подтверждение сброса пароля Paperless-ngx"
#: documents/templates/account/password_reset_from_key.html:44
msgid "request a new password reset"
msgstr "запросить новый пароль"
msgstr "запрос сброса пароля вновь"
#: documents/templates/account/password_reset_from_key.html:46
msgid "Set a new password."
msgstr "Придумайте новый пароль"
msgstr "Установите новый пароль."
#: documents/templates/account/password_reset_from_key.html:50
msgid "Passwords did not match or too weak. Try again."
msgstr ""
msgstr "Пароли не совпадают или слишком слабые. Пожалуйста, попробуйте еще раз."
#: documents/templates/account/password_reset_from_key.html:53
msgid "New Password"
@@ -881,16 +881,16 @@ msgstr "Сменить пароль"
#: documents/templates/account/password_reset_from_key_done.html:14
msgid "Paperless-ngx reset password complete"
msgstr ""
msgstr "Сброс пароля Paperless-ngx завершен"
#: documents/templates/account/password_reset_from_key_done.html:40
msgid "Password reset complete."
msgstr "Изменение пароля прошло успешно."
msgstr "Сброс пароля пароля завершен."
#: documents/templates/account/password_reset_from_key_done.html:42
#, python-format
msgid "Your new password has been set. You can now <a href=\"%(login_url)s\">log in</a>"
msgstr ""
msgstr "Ваш новый пароль был установлен. Теперь вы можете <a href=\"%(login_url)s\">войти</a>"
#: documents/templates/index.html:79
msgid "Paperless-ngx is loading..."
@@ -907,50 +907,53 @@ msgstr "Вот ссылка на документацию."
#: documents/templates/socialaccount/authentication_error.html:15
#: documents/templates/socialaccount/login.html:15
msgid "Paperless-ngx social account sign in"
msgstr ""
msgstr "Paperless-ngx вход через через сторонние сервисы"
#: 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 "Ошибка при входе в систему через учетную запись стороннего сервиса. Вернуться на <a href=\"%(login_url)s\">страницу входа</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 "Вы собираетесь связать аккаунт стороннего сервисыа через %(provider)s."
#: documents/templates/socialaccount/login.html:47
msgid "Continue"
msgstr ""
msgstr "Продолжить"
#: documents/templates/socialaccount/signup.html:14
msgid "Paperless-ngx social account sign up"
msgstr ""
msgstr "Paperless-ngx регистрация через сторонний сервис"
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72
msgid "Sign up"
msgstr ""
msgstr "Зарегистрироваться"
#: documents/validators.py:17
#, python-brace-format
msgid "Unable to parse URI {value}, missing scheme"
msgstr ""
msgstr "Невозможно разобрать URI {value}, отсутствует схема"
#: documents/validators.py:22
#, python-brace-format
msgid "Unable to parse URI {value}, missing net location or path"
msgstr ""
msgstr "Невозможно разобрать URI {value}, отсутствует расположение сети или путь"
#: documents/validators.py:27
#, python-brace-format
msgid "Unable to parse URI {value}"
msgstr ""
msgstr "Невозможно разобрать URI {value}"
#: paperless/apps.py:10
msgid "Paperless"
@@ -958,147 +961,147 @@ msgstr "Paperless"
#: paperless/models.py:26
msgid "pdf"
msgstr ""
msgstr "pdf"
#: paperless/models.py:27
msgid "pdfa"
msgstr ""
msgstr "pdfa"
#: paperless/models.py:28
msgid "pdfa-1"
msgstr ""
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 "пропустить"
#: paperless/models.py:40
msgid "redo"
msgstr ""
msgstr "повторить"
#: paperless/models.py:41
msgid "force"
msgstr ""
msgstr "заставить"
#: paperless/models.py:42
msgid "skip_noarchive"
msgstr ""
msgstr "skip_noarchive"
#: paperless/models.py:50
msgid "never"
msgstr ""
msgstr "некогда"
#: paperless/models.py:51
msgid "with_text"
msgstr ""
msgstr "with_text"
#: paperless/models.py:52
msgid "always"
msgstr ""
msgstr "всегда"
#: paperless/models.py:60
msgid "clean"
msgstr ""
msgstr "очистить"
#: paperless/models.py:61
msgid "clean-final"
msgstr ""
msgstr "clean-final"
#: paperless/models.py:62
msgid "none"
msgstr ""
msgstr "никакие"
#: paperless/models.py:70
msgid "LeaveColorUnchanged"
msgstr ""
msgstr "LeaveColorUnchanged"
#: paperless/models.py:71
msgid "RGB"
msgstr ""
msgstr "RGB"
#: paperless/models.py:72
msgid "UseDeviceIndependentColor"
msgstr ""
msgstr "UseDeviceIndependentColor"
#: paperless/models.py:73
msgid "Gray"
msgstr ""
msgstr "Серый"
#: paperless/models.py:74
msgid "CMYK"
msgstr ""
msgstr "CMYK"
#: paperless/models.py:83
msgid "Sets the output PDF type"
msgstr ""
msgstr "Определяет тип PDF выходного файла"
#: paperless/models.py:95
msgid "Do OCR from page 1 to this value"
msgstr ""
msgstr "Выполните OCR со страницы 1 до этого значения"
#: paperless/models.py:101
msgid "Do OCR using these languages"
msgstr ""
msgstr "Выполните OCR для этих языков"
#: paperless/models.py:108
msgid "Sets the OCR mode"
msgstr ""
msgstr "Определяет режим OCR"
#: paperless/models.py:116
msgid "Controls the generation of an archive file"
msgstr ""
msgstr "Управляет созданием архивного файла"
#: paperless/models.py:124
msgid "Sets image DPI fallback value"
msgstr ""
msgstr "Устанавливает обратное значение DPI изображения"
#: paperless/models.py:131
msgid "Controls the unpaper cleaning"
msgstr ""
msgstr "Контролирует очистку от бумаги"
#: paperless/models.py:138
msgid "Enables deskew"
msgstr ""
msgstr "Активирует коррекцю перекоса"
#: paperless/models.py:141
msgid "Enables page rotation"
msgstr ""
msgstr "Активирует поворот страницы"
#: paperless/models.py:146
msgid "Sets the threshold for rotation of pages"
msgstr ""
msgstr "Устанавливает порог для поворота страниц"
#: paperless/models.py:152
msgid "Sets the maximum image size for decompression"
msgstr ""
msgstr "Устанавливает максимальный размер изображения для распаковки"
#: paperless/models.py:158
msgid "Sets the Ghostscript color conversion strategy"
msgstr ""
msgstr "Устанавливает стратегию преобразования цвета Ghostscript"
#: paperless/models.py:166
msgid "Adds additional user arguments for OCRMyPDF"
msgstr ""
msgstr "Добавляет дополнительные пользовательские аргументы для OCRMyPDF"
#: paperless/models.py:171
msgid "Application title"
msgstr ""
msgstr "Заголовок приложения"
#: paperless/models.py:178
msgid "Application logo"
msgstr ""
msgstr "Логотип приложения"
#: paperless/models.py:188
msgid "paperless application settings"
msgstr ""
msgstr "настройки приложения paperless"
#: paperless/settings.py:642
msgid "English (US)"
@@ -1166,7 +1169,7 @@ msgstr "Итальянский"
#: paperless/settings.py:658
msgid "Japanese"
msgstr ""
msgstr "Японский"
#: paperless/settings.py:659
msgid "Luxembourgish"
@@ -1366,7 +1369,7 @@ msgstr "Пометить почту, не обрабатывать помече
#: paperless_mail/models.py:80
msgid "Tag the mail with specified tag, don't process tagged mails"
msgstr "Отметить почту указанным тегом, не обрабатывать помеченные письма"
msgstr "Отметить почту указанной этикеткой, не обрабатывать этикетированные письма"
#: paperless_mail/models.py:83
msgid "Use subject as title"
@@ -1378,7 +1381,7 @@ msgstr "Использовать имя вложенного файла как
#: paperless_mail/models.py:85
msgid "Do not assign title from rule"
msgstr ""
msgstr "Использовать тему в качестве заголовки"
#: paperless_mail/models.py:88
msgid "Do not assign a correspondent"
@@ -1414,7 +1417,7 @@ msgstr "фильтр по отправителю"
#: paperless_mail/models.py:122
msgid "filter to"
msgstr "отфильтровать по"
msgstr "фильтр по"
#: paperless_mail/models.py:129
msgid "filter subject"
@@ -1426,15 +1429,15 @@ msgstr "фильтр по тексту сообщения"
#: paperless_mail/models.py:143
msgid "filter attachment filename inclusive"
msgstr ""
msgstr "фильтр по именю файла вложения (включительно)"
#: paperless_mail/models.py:155
msgid "filter attachment filename exclusive"
msgstr ""
msgstr "фильтр по именю файла вложения (исключительно)"
#: paperless_mail/models.py:160
msgid "Do not consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
msgstr ""
msgstr "Не используйте документы, полностью совпадающие с этим именем, если оно указано. Допускаются подстановочные знаки, такие как *.pdf или *invoice*. Нечувствительность к регистру."
#: paperless_mail/models.py:167
msgid "maximum age"
@@ -1454,7 +1457,7 @@ msgstr "Вложенные вложения включая встраиваем
#: paperless_mail/models.py:183
msgid "consumption scope"
msgstr "рамки потребления"
msgstr "объем обработки"
#: paperless_mail/models.py:189
msgid "action"
@@ -1478,7 +1481,7 @@ msgstr "назначить корреспондента из"
#: paperless_mail/models.py:242
msgid "Assign the rule owner to documents"
msgstr ""
msgstr "Назначить документам правилавладелеца"
#: paperless_mail/models.py:268
msgid "uid"
@@ -1486,7 +1489,7 @@ msgstr "uid"
#: paperless_mail/models.py:276
msgid "subject"
msgstr "предмет"
msgstr "тема"
#: paperless_mail/models.py:284
msgid "received"

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Slovak\n"
"Language: sk_SK\n"
@@ -929,8 +929,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\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
@@ -929,8 +929,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72
@@ -958,7 +961,7 @@ msgstr "Paperless"
#: paperless/models.py:26
msgid "pdf"
msgstr ""
msgstr "pdf"
#: paperless/models.py:27
msgid "pdfa"
@@ -994,7 +997,7 @@ msgstr ""
#: paperless/models.py:50
msgid "never"
msgstr ""
msgstr "nikoli"
#: paperless/models.py:51
msgid "with_text"
@@ -1002,7 +1005,7 @@ msgstr ""
#: paperless/models.py:52
msgid "always"
msgstr ""
msgstr "vedno"
#: paperless/models.py:60
msgid "clean"
@@ -1030,7 +1033,7 @@ msgstr ""
#: paperless/models.py:73
msgid "Gray"
msgstr ""
msgstr "Siva"
#: paperless/models.py:74
msgid "CMYK"
@@ -1090,11 +1093,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 +1169,7 @@ msgstr "Italijanščina"
#: paperless/settings.py:658
msgid "Japanese"
msgstr ""
msgstr "japonščina"
#: paperless/settings.py:659
msgid "Luxembourgish"

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Serbian (Latin)\n"
"Language: sr_CS\n"
@@ -929,8 +929,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Swedish\n"
"Language: sv_SE\n"
@@ -929,8 +929,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Thai\n"
"Language: th_TH\n"
@@ -929,8 +929,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
"Language: tr_TR\n"
@@ -929,8 +929,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Ukrainian\n"
"Language: uk_UA\n"
@@ -929,8 +929,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Vietnamese\n"
"Language: vi_VN\n"
@@ -929,8 +929,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"
@@ -929,8 +929,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72

View File

@@ -2,8 +2,8 @@ msgid ""
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"
"POT-Creation-Date: 2024-02-14 16:47-0800\n"
"PO-Revision-Date: 2024-02-15 00:52\n"
"Last-Translator: \n"
"Language-Team: Chinese Traditional\n"
"Language: zh_TW\n"
@@ -929,8 +929,11 @@ msgstr ""
#: 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:"
msgid "You are about to use your %(provider_name)s account to login."
msgstr ""
#: documents/templates/socialaccount/signup.html:54
msgid "As a final step, please complete the following form:"
msgstr ""
#: documents/templates/socialaccount/signup.html:72

View File

@@ -1,4 +1,5 @@
from allauth.account.adapter import DefaultAccountAdapter
from allauth.core import context
from allauth.socialaccount.adapter import DefaultSocialAccountAdapter
from django.conf import settings
from django.urls import reverse
@@ -10,6 +11,21 @@ class CustomAccountAdapter(DefaultAccountAdapter):
# Override with setting, otherwise default to super.
return getattr(settings, "ACCOUNT_ALLOW_SIGNUPS", allow_signups)
def is_safe_url(self, url):
# see https://github.com/paperless-ngx/paperless-ngx/issues/5780
from django.utils.http import url_has_allowed_host_and_scheme
# get_host already validates the given host, so no need to check it again
allowed_hosts = {context.request.get_host()} | set(settings.ALLOWED_HOSTS)
if "*" in allowed_hosts:
# dont allow wildcard to allow urls from any host
allowed_hosts.remove("*")
allowed_hosts.add(context.request.get_host())
return url_has_allowed_host_and_scheme(url, allowed_hosts=allowed_hosts)
return url_has_allowed_host_and_scheme(url, allowed_hosts=allowed_hosts)
class CustomSocialAccountAdapter(DefaultSocialAccountAdapter):
def is_open_for_signup(self, request, sociallogin):

View File

@@ -586,8 +586,8 @@ def _parse_db_settings() -> dict:
options = {
"read_default_file": "/etc/mysql/my.cnf",
"charset": "utf8mb4",
"ssl_mode": os.getenv("PAPERLESS_DBSSLMODE", "PREFERRED"),
"ssl": {
"ssl_mode": os.getenv("PAPERLESS_DBSSLMODE", "PREFERRED"),
"ca": os.getenv("PAPERLESS_DBSSLROOTCERT", None),
"cert": os.getenv("PAPERLESS_DBSSLCERT", None),
"key": os.getenv("PAPERLESS_DBSSLKEY", None),

View File

@@ -1,7 +1,12 @@
from unittest import mock
from allauth.account.adapter import get_adapter
from allauth.core import context
from allauth.socialaccount.adapter import get_adapter as get_social_adapter
from django.conf import settings
from django.http import HttpRequest
from django.test import TestCase
from django.test import override_settings
from django.urls import reverse
@@ -17,6 +22,31 @@ class TestCustomAccountAdapter(TestCase):
settings.ACCOUNT_ALLOW_SIGNUPS = False
self.assertFalse(adapter.is_open_for_signup(None))
def test_is_safe_url(self):
request = HttpRequest()
request.get_host = mock.Mock(return_value="example.com")
with context.request_context(request):
adapter = get_adapter()
with override_settings(ALLOWED_HOSTS=["*"]):
# True because request host is same
url = "https://example.com"
self.assertTrue(adapter.is_safe_url(url))
url = "https://evil.com"
# False despite wildcard because request host is different
self.assertFalse(adapter.is_safe_url(url))
settings.ALLOWED_HOSTS = ["example.com"]
url = "https://example.com"
# True because request host is same
self.assertTrue(adapter.is_safe_url(url))
settings.ALLOWED_HOSTS = ["*", "example.com"]
url = "//evil.com"
# False because request host is not in allowed hosts
self.assertFalse(adapter.is_safe_url(url))
class TestCustomSocialAccountAdapter(TestCase):
def test_is_open_for_signup(self):

View File

@@ -193,6 +193,7 @@ urlpatterns = [
RedirectView.as_view(
url=settings.STATIC_URL + "frontend/en-US/assets/%(path)s",
),
# TODO: with localization, this is even worse! :/
),
# App logo
re_path(
@@ -200,7 +201,6 @@ urlpatterns = [
serve,
kwargs={"document_root": os.path.join(settings.MEDIA_ROOT, "logo")},
),
# TODO: with localization, this is even worse! :/
# login, logout
path("accounts/", include("allauth.urls")),
# Root of the Frontend

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, 3)
# Version string like X.Y.Z
__full_version_str__: Final[str] = ".".join(map(str, __version__))
# Version string like X.Y