Compare commits

..
Author SHA1 Message Date
jonaswinkler 978db3c140 revert reportlab 2021-03-04 11:15:18 +01:00
jonaswinkler 220e105e24 update requirements 2021-03-04 10:38:00 +01:00
jonaswinkler bea6c72759 this is just a test. 2021-03-04 00:39:03 +01:00
78 changed files with 5847 additions and 32094 deletions

No files matched your search

+2
View File
@@ -55,6 +55,8 @@ uvloop = "~=0.14.0"
# TODO: keep an eye on piwheel builds and update this once available (https://www.piwheels.org/project/cryptography/)
cryptography = "~=3.4"
"pdfminer.six" = "*"
djangorestframework-xml = "*"
reportlab = "==3.5.59"
[dev-packages]
coveralls = "*"
Generated
+87 -68
View File
@@ -1,7 +1,7 @@
{
"_meta": {
"hash": {
"sha256": "49f8a0718a7982bc4ca7e1315c17849523b0d29c38f13cff88f8f883e0e9943a"
"sha256": "89ba5b33a33ada97605f6d8cf64a902730c98d13d191dfc57dc3e5ce76db6db8"
},
"pipfile-spec": 6,
"requires": {},
@@ -28,11 +28,11 @@
},
"arrow": {
"hashes": [
"sha256:7909d9fd30d32fa8fd173fdeb3f7125aaf6dedd1a837276fe1d8cea2c0e86d76",
"sha256:b1e106a0ab754e540f4aeb08747900830b688adef02d81240e65afc0e781a870"
"sha256:5df8e632e9158c48f42f68a742068bcfc1c0181cbe7543e4cda6089bb287a305",
"sha256:cb1b7bc3a07eb1c1e98ccc740627460c9891636642bcf03c4097b71d8bc5ca1d"
],
"markers": "python_version >= '3.6'",
"version": "==1.0.1"
"version": "==1.0.2"
},
"asgiref": {
"hashes": [
@@ -60,11 +60,11 @@
},
"autobahn": {
"hashes": [
"sha256:884f79c50fdc55ade2c315946a9caa145e8b10075eee9d2c2594ea5e8f5226aa",
"sha256:bf7a9d302a34d0f719d43c57f65ca1f2f5c982dd6ea0c11e1e190ef6f43710fe"
"sha256:9195df8af03b0ff29ccd4b7f5abbde957ee90273465942205f9a1bad6c3f07ac",
"sha256:e126c1f583e872fb59e79d36977cfa1f2d0a8a79f90ae31f406faae7664b8e03"
],
"markers": "python_version >= '3.7'",
"version": "==21.2.2"
"version": "==21.3.1"
},
"automat": {
"hashes": [
@@ -223,6 +223,14 @@
"index": "pypi",
"version": "==1.0.0"
},
"defusedxml": {
"hashes": [
"sha256:86b15d9e3c639de79f4cb38aeffea3281f62aff78dde7d798e1352c63bfa6ea0",
"sha256:a290cad10346ed366c8a0133d868eaf6585ec6afdd0c511286cdb11f5fc3d285"
],
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'",
"version": "==0.7.0"
},
"django": {
"hashes": [
"sha256:32ce792ee9b6a0cbbec340123e229ac9f765dff8c2a4ae9247a14b2ba3a365a7",
@@ -279,6 +287,15 @@
"index": "pypi",
"version": "==3.12.2"
},
"djangorestframework-xml": {
"hashes": [
"sha256:35f6c811d0ab8c8466b26db234e16a2ed32d76381715257aebf4c7be2c202ca1",
"sha256:89ed3f2a0767922a024732f9c7c46173b4b8d93c9fbcbed32b15bd639c70cb1a",
"sha256:975955fbb0d49ac44a90bdeb33b7923d95b79884d283f983e116c80a936ef4d0"
],
"index": "pypi",
"version": "==2.0.0"
},
"filelock": {
"hashes": [
"sha256:18d82244ee114f543149c66a6e0c14e9c4f8a1044b5cdaadd0f82159d6a6ff59",
@@ -428,10 +445,10 @@
},
"incremental": {
"hashes": [
"sha256:717e12246dddf231a349175f48d74d93e2897244939173b01974ab6661406b9f",
"sha256:7b751696aaf36eebfab537e458929e194460051ccad279c72b755a167eebd4b3"
"sha256:02f5de5aff48f6b9f665d99d48bfc7ec03b6e3943210de7cfc88856d755d6f57",
"sha256:92014aebc6a20b78a8084cdd5645eeaa7f74b8933f70fa3ada2cfbd1e3b54321"
],
"version": "==17.5.0"
"version": "==21.3.0"
},
"inotify-simple": {
"hashes": [
@@ -965,6 +982,7 @@
"sha256:f3d4a1a273dc141e03b72a553c11bc14dd7a27ec7654a071edcf83eb04f004bc",
"sha256:ff547cf4c1de7e104cad1a378431ff81efcb03e90e40871ee686107da5b91442"
],
"index": "pypi",
"version": "==3.5.59"
},
"requests": {
@@ -1354,68 +1372,69 @@
},
"coverage": {
"hashes": [
"sha256:03ed2a641e412e42cc35c244508cf186015c217f0e4d496bf6d7078ebe837ae7",
"sha256:04b14e45d6a8e159c9767ae57ecb34563ad93440fc1b26516a89ceb5b33c1ad5",
"sha256:0cdde51bfcf6b6bd862ee9be324521ec619b20590787d1655d005c3fb175005f",
"sha256:0f48fc7dc82ee14aeaedb986e175a429d24129b7eada1b7e94a864e4f0644dde",
"sha256:107d327071061fd4f4a2587d14c389a27e4e5c93c7cba5f1f59987181903902f",
"sha256:1375bb8b88cb050a2d4e0da901001347a44302aeadb8ceb4b6e5aa373b8ea68f",
"sha256:14a9f1887591684fb59fdba8feef7123a0da2424b0652e1b58dd5b9a7bb1188c",
"sha256:16baa799ec09cc0dcb43a10680573269d407c159325972dd7114ee7649e56c66",
"sha256:1b811662ecf72eb2d08872731636aee6559cae21862c36f74703be727b45df90",
"sha256:1ccae21a076d3d5f471700f6d30eb486da1626c380b23c70ae32ab823e453337",
"sha256:2f2cf7a42d4b7654c9a67b9d091ec24374f7c58794858bff632a2039cb15984d",
"sha256:322549b880b2d746a7672bf6ff9ed3f895e9c9f108b714e7360292aa5c5d7cf4",
"sha256:32ab83016c24c5cf3db2943286b85b0a172dae08c58d0f53875235219b676409",
"sha256:3fe50f1cac369b02d34ad904dfe0771acc483f82a1b54c5e93632916ba847b37",
"sha256:4a780807e80479f281d47ee4af2eb2df3e4ccf4723484f77da0bb49d027e40a1",
"sha256:4a8eb7785bd23565b542b01fb39115a975fefb4a82f23d407503eee2c0106247",
"sha256:4b40b794775df10d7e3ea677108dd581bfec796235750c617d461874178a67f6",
"sha256:5bee3970617b3d74759b2d2df2f6a327d372f9732f9ccbf03fa591b5f7581e39",
"sha256:60a3307a84ec60578accd35d7f0c71a3a971430ed7eca6567399d2b50ef37b8c",
"sha256:6625e52b6f346a283c3d563d1fd8bae8956daafc64bb5bbd2b8f8a07608e3994",
"sha256:66a5aae8233d766a877c5ef293ec5ab9520929c2578fd2069308a98b7374ea8c",
"sha256:68fb816a5dd901c6aff352ce49e2a0ffadacdf9b6fae282a69e7a16a02dad5fb",
"sha256:6b588b5cf51dc0fd1c9e19f622457cc74b7d26fe295432e434525f1c0fae02bc",
"sha256:6c4d7165a4e8f41eca6b990c12ee7f44fef3932fac48ca32cecb3a1b2223c21f",
"sha256:6d2e262e5e8da6fa56e774fb8e2643417351427604c2b177f8e8c5f75fc928ca",
"sha256:6d9c88b787638a451f41f97446a1c9fd416e669b4d9717ae4615bd29de1ac135",
"sha256:755c56beeacac6a24c8e1074f89f34f4373abce8b662470d3aa719ae304931f3",
"sha256:7e40d3f8eb472c1509b12ac2a7e24158ec352fc8567b77ab02c0db053927e339",
"sha256:812eaf4939ef2284d29653bcfee9665f11f013724f07258928f849a2306ea9f9",
"sha256:84df004223fd0550d0ea7a37882e5c889f3c6d45535c639ce9802293b39cd5c9",
"sha256:859f0add98707b182b4867359e12bde806b82483fb12a9ae868a77880fc3b7af",
"sha256:87c4b38288f71acd2106f5d94f575bc2136ea2887fdb5dfe18003c881fa6b370",
"sha256:89fc12c6371bf963809abc46cced4a01ca4f99cba17be5e7d416ed7ef1245d19",
"sha256:9564ac7eb1652c3701ac691ca72934dd3009997c81266807aef924012df2f4b3",
"sha256:9754a5c265f991317de2bac0c70a746efc2b695cf4d49f5d2cddeac36544fb44",
"sha256:a565f48c4aae72d1d3d3f8e8fb7218f5609c964e9c6f68604608e5958b9c60c3",
"sha256:a636160680c6e526b84f85d304e2f0bb4e94f8284dd765a1911de9a40450b10a",
"sha256:a839e25f07e428a87d17d857d9935dd743130e77ff46524abb992b962eb2076c",
"sha256:ae9702c099546e72000d76758b5efec2dd937ba5d746ec8d0563d2fca0f9bc2e",
"sha256:b62046592b44263fa7570f1117d372ae3f310222af1fc1407416f037fb3af21b",
"sha256:b7f7421841f8db443855d2854e25914a79a1ff48ae92f70d0a5c2f8907ab98c9",
"sha256:ba7ca81b6d60a9f7a0b4b4e175dcc38e8fef4992673d9d6e6879fd6de00dd9b8",
"sha256:bb32ca14b4d04e172c541c69eec5f385f9a075b38fb22d765d8b0ce3af3a0c22",
"sha256:c0ff1c1b4d13e2240821ef23c1efb1f009207cb3f56e16986f713c2b0e7cd37f",
"sha256:c669b440ce46ae3abe9b2d44a913b5fd86bb19eb14a8701e88e3918902ecd345",
"sha256:c67734cff78383a1f23ceba3b3239c7deefc62ac2b05fa6a47bcd565771e5880",
"sha256:c6809ebcbf6c1049002b9ac09c127ae43929042ec1f1dbd8bb1615f7cd9f70a0",
"sha256:cd601187476c6bed26a0398353212684c427e10a903aeafa6da40c63309d438b",
"sha256:ebfa374067af240d079ef97b8064478f3bf71038b78b017eb6ec93ede1b6bcec",
"sha256:fbb17c0d0822684b7d6c09915677a32319f16ff1115df5ec05bdcaaee40b35f3",
"sha256:fff1f3a586246110f34dc762098b5afd2de88de507559e63553d7da643053786"
"sha256:004d1880bed2d97151facef49f08e255a20ceb6f9432df75f4eef018fdd5a78c",
"sha256:01d84219b5cdbfc8122223b39a954820929497a1cb1422824bb86b07b74594b6",
"sha256:040af6c32813fa3eae5305d53f18875bedd079960822ef8ec067a66dd8afcd45",
"sha256:06191eb60f8d8a5bc046f3799f8a07a2d7aefb9504b0209aff0b47298333302a",
"sha256:13034c4409db851670bc9acd836243aeee299949bd5673e11844befcb0149f03",
"sha256:13c4ee887eca0f4c5a247b75398d4114c37882658300e153113dafb1d76de529",
"sha256:184a47bbe0aa6400ed2d41d8e9ed868b8205046518c52464fde713ea06e3a74a",
"sha256:18ba8bbede96a2c3dde7b868de9dcbd55670690af0988713f0603f037848418a",
"sha256:1aa846f56c3d49205c952d8318e76ccc2ae23303351d9270ab220004c580cfe2",
"sha256:217658ec7187497e3f3ebd901afdca1af062b42cfe3e0dafea4cced3983739f6",
"sha256:24d4a7de75446be83244eabbff746d66b9240ae020ced65d060815fac3423759",
"sha256:2910f4d36a6a9b4214bb7038d537f015346f413a975d57ca6b43bf23d6563b53",
"sha256:2949cad1c5208b8298d5686d5a85b66aae46d73eec2c3e08c817dd3513e5848a",
"sha256:2a3859cb82dcbda1cfd3e6f71c27081d18aa251d20a17d87d26d4cd216fb0af4",
"sha256:2cafbbb3af0733db200c9b5f798d18953b1a304d3f86a938367de1567f4b5bff",
"sha256:2e0d881ad471768bf6e6c2bf905d183543f10098e3b3640fc029509530091502",
"sha256:30c77c1dc9f253283e34c27935fded5015f7d1abe83bc7821680ac444eaf7793",
"sha256:3487286bc29a5aa4b93a072e9592f22254291ce96a9fbc5251f566b6b7343cdb",
"sha256:372da284cfd642d8e08ef606917846fa2ee350f64994bebfbd3afb0040436905",
"sha256:41179b8a845742d1eb60449bdb2992196e211341818565abded11cfa90efb821",
"sha256:44d654437b8ddd9eee7d1eaee28b7219bec228520ff809af170488fd2fed3e2b",
"sha256:4a7697d8cb0f27399b0e393c0b90f0f1e40c82023ea4d45d22bce7032a5d7b81",
"sha256:51cb9476a3987c8967ebab3f0fe144819781fca264f57f89760037a2ea191cb0",
"sha256:52596d3d0e8bdf3af43db3e9ba8dcdaac724ba7b5ca3f6358529d56f7a166f8b",
"sha256:53194af30d5bad77fcba80e23a1441c71abfb3e01192034f8246e0d8f99528f3",
"sha256:5fec2d43a2cc6965edc0bb9e83e1e4b557f76f843a77a2496cbe719583ce8184",
"sha256:6c90e11318f0d3c436a42409f2749ee1a115cd8b067d7f14c148f1ce5574d701",
"sha256:74d881fc777ebb11c63736622b60cb9e4aee5cace591ce274fb69e582a12a61a",
"sha256:7501140f755b725495941b43347ba8a2777407fc7f250d4f5a7d2a1050ba8e82",
"sha256:796c9c3c79747146ebd278dbe1e5c5c05dd6b10cc3bcb8389dfdf844f3ead638",
"sha256:869a64f53488f40fa5b5b9dcb9e9b2962a66a87dab37790f3fcfb5144b996ef5",
"sha256:8963a499849a1fc54b35b1c9f162f4108017b2e6db2c46c1bed93a72262ed083",
"sha256:8d0a0725ad7c1a0bcd8d1b437e191107d457e2ec1084b9f190630a4fb1af78e6",
"sha256:900fbf7759501bc7807fd6638c947d7a831fc9fdf742dc10f02956ff7220fa90",
"sha256:92b017ce34b68a7d67bd6d117e6d443a9bf63a2ecf8567bb3d8c6c7bc5014465",
"sha256:970284a88b99673ccb2e4e334cfb38a10aab7cd44f7457564d11898a74b62d0a",
"sha256:972c85d205b51e30e59525694670de6a8a89691186012535f9d7dbaa230e42c3",
"sha256:9a1ef3b66e38ef8618ce5fdc7bea3d9f45f3624e2a66295eea5e57966c85909e",
"sha256:af0e781009aaf59e25c5a678122391cb0f345ac0ec272c7961dc5455e1c40066",
"sha256:b6d534e4b2ab35c9f93f46229363e17f63c53ad01330df9f2d6bd1187e5eaacf",
"sha256:b7895207b4c843c76a25ab8c1e866261bcfe27bfaa20c192de5190121770672b",
"sha256:c0891a6a97b09c1f3e073a890514d5012eb256845c451bd48f7968ef939bf4ae",
"sha256:c2723d347ab06e7ddad1a58b2a821218239249a9e4365eaff6649d31180c1669",
"sha256:d1f8bf7b90ba55699b3a5e44930e93ff0189aa27186e96071fac7dd0d06a1873",
"sha256:d1f9ce122f83b2305592c11d64f181b87153fc2c2bbd3bb4a3dde8303cfb1a6b",
"sha256:d314ed732c25d29775e84a960c3c60808b682c08d86602ec2c3008e1202e3bb6",
"sha256:d636598c8305e1f90b439dbf4f66437de4a5e3c31fdf47ad29542478c8508bbb",
"sha256:deee1077aae10d8fa88cb02c845cfba9b62c55e1183f52f6ae6a2df6a2187160",
"sha256:ebe78fe9a0e874362175b02371bdfbee64d8edc42a044253ddf4ee7d3c15212c",
"sha256:f030f8873312a16414c0d8e1a1ddff2d3235655a2174e3648b4fa66b3f2f1079",
"sha256:f0b278ce10936db1a37e6954e15a3730bea96a0997c26d7fee88e6c396c2086d",
"sha256:f11642dddbb0253cc8853254301b51390ba0081750a8ac03f20ea8103f0c56b6"
],
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'",
"version": "==5.4"
"version": "==5.5"
},
"coveralls": {
"hashes": [
"sha256:5399c0565ab822a70a477f7031f6c88a9dd196b3de2877b3facb43b51bd13434",
"sha256:f8384968c57dee4b7133ae701ecdad88e85e30597d496dcba0d7fbb470dca41f"
"sha256:7bd173b3425733661ba3063c88f180127cc2b20e9740686f86d2622b31b41385",
"sha256:cbb942ae5ef3d2b55388cb5b43e93a269544911535f1e750e1c656aef019ce60"
],
"index": "pypi",
"version": "==3.0.0"
"version": "==3.0.1"
},
"distlib": {
"hashes": [
@@ -1796,11 +1815,11 @@
},
"tox": {
"hashes": [
"sha256:89afa9c59c04beb55eda789c7a65feb1a70fde117f85f1bd1c27c66758456e60",
"sha256:ed1e650cf6368bcbc4a071eeeba363c480920e0ed8a9ad1793c7caaa5ad33d49"
"sha256:05a4dbd5e4d3d8269b72b55600f0b0303e2eb47ad5c6fe76d3576f4c58d93661",
"sha256:e007673f3595cede9b17a7c4962389e4305d4a3682a6c5a4159a1453b4f326aa"
],
"index": "pypi",
"version": "==3.22.0"
"version": "==3.23.0"
},
"urllib3": {
"hashes": [
+2 -3
View File
@@ -1,6 +1,5 @@
[![ci](https://github.com/jonaswinkler/paperless-ng/workflows/ci/badge.svg)](https://github.com/jonaswinkler/paperless-ng/actions)
![Ansible Role](https://github.com/jonaswinkler/paperless-ng/workflows/Ansible%20Role/badge.svg)
[![Crowdin](https://badges.crowdin.net/paperless-ng/localized.svg)](https://crowdin.com/project/paperless-ng)
[![Documentation Status](https://readthedocs.org/projects/paperless-ng/badge/?version=latest)](https://paperless-ng.readthedocs.io/en/latest/?badge=latest)
[![Gitter](https://badges.gitter.im/paperless-ng/community.svg)](https://gitter.im/paperless-ng/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Docker Hub Pulls](https://img.shields.io/docker/pulls/jonaswinkler/paperless-ng.svg)](https://hub.docker.com/r/jonaswinkler/paperless-ng)
@@ -78,9 +77,9 @@ The documentation for Paperless-ng is available on [ReadTheDocs](https://paperle
# Translation
Paperless is currently available in English, German, Dutch, French, Portuguese, Italian, and Romanian.
Paperless is currently available in English, German, Dutch, French, and Portuguese.
There's an active translation project at crowdin! If you want to help out by translating paperless into your language, please head over to https://github.com/jonaswinkler/paperless-ng/issues/212 for details.
There's an active translation project at transifex! If you want to help out by translating paperless into your language, please head over to https://github.com/jonaswinkler/paperless-ng/issues/212 for details.
# Feature Requests
-1
View File
@@ -1,4 +1,3 @@
commit_message: '[ci skip]'
files:
- source: /src/locale/en_US/LC_MESSAGES/django.po
translation: /src/locale/%locale_with_underscore%/LC_MESSAGES/django.po
+1 -1
View File
@@ -193,7 +193,7 @@ This table lists the compatible versions for each database migration number.
+------------------+-----------------+
| 1012 | 1.1.0 - 1.2.1 |
+------------------+-----------------+
| 1014 | 1.3.0 - current |
| 1013 | 1.3.0 - current |
+------------------+-----------------+
Execute the following management command to migrate your database:
+7 -37
View File
@@ -5,55 +5,25 @@
Changelog
*********
paperless-ng 1.3.1
##################
* Added translation into Spanish and Russian.
* Other changes
* ISO-8601 date format will now always show years with 4 digits.
* Added the ability to search for a document with a specific ASN.
* The document cards now display ASN, types and dates in a more organized way.
* Added document previews when hovering over the preview button.
* Fixes
* The startup check for write permissions now works properly on NFS shares.
* Fixed an issue with the search results score indicator.
* Paperless was unable to generate thumbnails for encrypted PDF files and failed. Paperless will now generate a default thumbnail for these files.
* Fixed ``AUTO_LOGIN_USERNAME``: Unable to perform POST/PUT/DELETE requests and unable to receive WebSocket messages.
paperless-ng 1.3.0
##################
This release contains new database migrations.
* Changes
* Added a color picker for tag colors.
* The REST API is versioned from this point onwards. This will allow me to make changes without breaking existing clients. See the documentation about :ref:`api-versioning` for details.
* Added translations into Italian and Romanian. Thank you!
* Added a color picker for tag colors.
* Close individual documents from the sidebar.
* Added the ability to use the filter for searching the document content as well.
* `BolkoSchreiber <https://github.com/BolkoSchreiber>`_ added an option to disable/enable thumbnail inversion in dark mode.
* Added translations into Italian and Romanian. Thank you!
* Fixed an issue with the auto matching algorithm when more than 256 tags were used.
* Close individual documents from the sidebar. Thanks to `Michael Shamoon`_.
* `Simon Taddiken <https://github.com/skuzzle>`_ added the ability to customize the header used for remote user authentication with SSO applications.
* `BolkoSchreiber <https://github.com/BolkoSchreiber>`_ added an option to disable/enable thumbnail inversion in dark mode.
* The REST API is versioned from this point onwards. See the documentation about :ref:`api-versioning` for details.
* `Simon Taddiken <https://github.com/skuzzle>`_ added the ability to customize the header used for remote user authentication with SSO applications.
* Bug fixes
* Fixed an issue with the auto matching algorithm when more than 256 tags were used.
paperless-ng 1.2.1
+1 -18
View File
@@ -174,7 +174,7 @@ Front end localization
* The translated strings need to be placed in the "src-ui/src/locale/" folder.
* In order to extract added or changed strings from the source files, call ``ng xi18n --ivy``.
Adding new languages requires adding the translated files in the "src-ui/src/locale/" folder and adjusting a couple files.
Adding new languages requires adding the translated files in the "src-ui/src/locale/" fodler and adjusting a couple files.
1. Adjust "src-ui/angular.json":
@@ -269,23 +269,6 @@ this is how you do it:
This will build the HTML documentation, and put the resulting files in the ``_build/html``
directory.
Building the Docker image
=========================
Building the docker image from source requires the following two steps:
1. Build the front end.
.. code:: shell-session
./compile-frontend.sh
2. Build the docker image.
.. code:: shell-session
docker build . -t <your-tag>
Extending Paperless
===================
+2 -13
View File
@@ -1,5 +1,7 @@
#!/bin/bash
set -e
ask() {
while true ; do
if [[ -z $3 ]] ; then
@@ -62,19 +64,6 @@ if [[ -z $(which docker-compose) ]] ; then
exit 1
fi
# Check if user has permissions to run Docker by trying to get the status of Docker (docker status).
# If this fails, the user probably does not have permissions for Docker.
docker stats --no-stream 2>/dev/null 1>&2
if [ $? -ne 0 ] ; then
echo ""
echo "WARN: It look like the current user does not have Docker permissions."
echo "WARN: Use 'sudo usermod -aG docker $USER' to assign Docker permissions to the user."
echo ""
sleep 3
fi
set -e
echo ""
echo "############################################"
echo "### Paperless-ng docker installation ###"
+5 -3
View File
@@ -8,11 +8,11 @@
-i https://pypi.python.org/simple
--extra-index-url https://www.piwheels.org/simple
aioredis==1.3.1
arrow==1.0.1; python_version >= '3.6'
arrow==1.0.2; python_version >= '3.6'
asgiref==3.3.1; python_version >= '3.5'
async-timeout==3.0.1; python_full_version >= '3.5.3'
attrs==20.3.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
autobahn==21.2.2; python_version >= '3.7'
autobahn==21.3.1; python_version >= '3.7'
automat==20.2.0
blessed==1.18.0
certifi==2020.12.5
@@ -27,12 +27,14 @@ constantly==15.1.0
cryptography==3.4.6
daphne==3.0.1; python_version >= '3.6'
dateparser==1.0.0
defusedxml==0.7.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
django-cors-headers==3.7.0
django-extensions==3.1.1
django-filter==2.4.0
django-picklefield==3.0.1; python_version >= '3'
django-q==1.3.4
django==3.1.7
djangorestframework-xml==2.0.0
djangorestframework==3.12.2
filelock==3.0.12
fuzzywuzzy[speedup]==0.18.0
@@ -45,7 +47,7 @@ hyperlink==21.0.0
idna==2.10; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
imap-tools==0.38.1
img2pdf==0.4.0
incremental==17.5.0
incremental==21.3.0
inotify-simple==1.3.5; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
inotifyrecursive==0.3.5
joblib==1.0.1; python_version >= '3.6'
+1 -1
View File
@@ -1,4 +1,4 @@
docker run -p 5432:5432 -e POSTGRES_PASSWORD=password -v paperless_pgdata:/var/lib/postgresql/data -d postgres:13
docker run -p 5432:5432 -v paperless_pgdata:/var/lib/postgresql/data -d postgres:13
docker run -d -p 6379:6379 redis:latest
docker run -p 3000:3000 -d thecodingmachine/gotenberg
docker run -p 9998:9998 -d apache/tika
+5 -8
View File
@@ -16,15 +16,13 @@
"i18n": {
"sourceLocale": "en-US",
"locales": {
"de-DE": "src/locale/messages.de_DE.xlf",
"de": "src/locale/messages.de.xlf",
"nl-NL": "src/locale/messages.nl_NL.xlf",
"fr-FR": "src/locale/messages.fr_FR.xlf",
"fr": "src/locale/messages.fr.xlf",
"en-GB": "src/locale/messages.en_GB.xlf",
"pt-BR": "src/locale/messages.pt_BR.xlf",
"it-IT": "src/locale/messages.it_IT.xlf",
"ro-RO": "src/locale/messages.ro_RO.xlf",
"ru-RU": "src/locale/messages.ru_RU.xlf",
"es-ES": "src/locale/messages.es_ES.xlf"
"it": "src/locale/messages.it.xlf",
"ro": "src/locale/messages.ro.xlf"
}
},
"architect": {
@@ -106,8 +104,7 @@
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"browserTarget": "paperless-ui:build",
"ivy": true
"browserTarget": "paperless-ui:build"
}
},
"test": {
+33 -47
View File
@@ -926,32 +926,32 @@
<context context-type="linenumber">4</context>
</context-group>
</trans-unit>
<trans-unit id="f7f2e30106223a69bcf0f8e586e6be9dc4e72226" datatype="html">
<source>Showing documents similar to <x id="START_LINK" equiv-text="&lt;a routerLink=&quot;/documents/{{more_like}}&quot;&gt;{{more_like_doc?.original_file_name}}"/><x id="INTERPOLATION" equiv-text="{{more_like_doc?.original_file_name}}&lt;/a&gt;"/><x id="CLOSE_LINK" equiv-text="&lt;/a&gt;"/></source>
<trans-unit id="2abff6a01d9b342a5a14b7fb90309a95ce934f8e" datatype="html">
<source> Showing documents similar to <x id="START_LINK" equiv-text="&lt;a routerLink=&quot;/documents/{{more_like}}&quot;&gt;{{more_like_doc?.original_file_name}}"/><x id="INTERPOLATION" equiv-text="{{more_like_doc?.original_file_name}}&lt;/a&gt;"/><x id="CLOSE_LINK" equiv-text="&lt;/a&gt;"/></source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/search/search.component.html</context>
<context context-type="linenumber">6</context>
<context context-type="linenumber">7</context>
</context-group>
</trans-unit>
<trans-unit id="6e0b0a1ea16f18f2fb1586c53d99d2f22e1aee2e" datatype="html">
<source>Search query: <x id="START_ITALIC_TEXT" equiv-text="&lt;i&gt;{{query}}"/><x id="INTERPOLATION" equiv-text="{{query}}&lt;/i&gt;"/><x id="CLOSE_ITALIC_TEXT" equiv-text="&lt;/i&gt;"/></source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/search/search.component.html</context>
<context context-type="linenumber">9</context>
<context context-type="linenumber">11</context>
</context-group>
</trans-unit>
<trans-unit id="afa760e48c97d64d19c1455d18b7834a2256e23f" datatype="html">
<source>Did you mean &quot;<x id="START_LINK" equiv-text="&lt;a [routerLink]=&quot;&quot; (click)=&quot;searchCorrectedQuery()&quot;&gt;{{correctedQuery}}"/><x id="INTERPOLATION" equiv-text="{{correctedQuery}}&lt;/a&gt;"/><x id="CLOSE_LINK" equiv-text="&lt;/a&gt;"/>&quot;?</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/search/search.component.html</context>
<context context-type="linenumber">11</context>
<context context-type="linenumber">13</context>
</context-group>
</trans-unit>
<trans-unit id="fe6ced3fcc803bba5a2e6c1a067b9ce62542500e" datatype="html">
<source>{VAR_PLURAL, plural, =0 {No results} =1 {One result} other {<x id="INTERPOLATION"/> results}}</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/search/search.component.html</context>
<context context-type="linenumber">16</context>
<context context-type="linenumber">18</context>
</context-group>
</trans-unit>
<trans-unit id="41147374f427980a9f1a8cd5e3f4b1666e6f2418" datatype="html">
@@ -1043,77 +1043,63 @@
<source>Title</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
<context context-type="linenumber">77</context>
<context context-type="linenumber">73</context>
</context-group>
</trans-unit>
<trans-unit id="3100631071441658964" datatype="html">
<source>Title &amp; content</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
<context context-type="linenumber">78</context>
</context-group>
</trans-unit>
<trans-unit id="7517688192215738656" datatype="html">
<source>ASN</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
<context context-type="linenumber">79</context>
<context context-type="linenumber">74</context>
</context-group>
</trans-unit>
<trans-unit id="5195932016807797291" datatype="html">
<source>Correspondent: <x id="PH" equiv-text="this.correspondents.find(c =&gt; c.id == +rule.value)?.name"/></source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
<context context-type="linenumber">33</context>
<context context-type="linenumber">32</context>
</context-group>
</trans-unit>
<trans-unit id="8170755470576301659" datatype="html">
<source>Without correspondent</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
<context context-type="linenumber">35</context>
<context context-type="linenumber">34</context>
</context-group>
</trans-unit>
<trans-unit id="8705701325879965907" datatype="html">
<source>Type: <x id="PH" equiv-text="this.documentTypes.find(dt =&gt; dt.id == +rule.value)?.name"/></source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
<context context-type="linenumber">40</context>
<context context-type="linenumber">39</context>
</context-group>
</trans-unit>
<trans-unit id="4362173610367509215" datatype="html">
<source>Without document type</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
<context context-type="linenumber">42</context>
<context context-type="linenumber">41</context>
</context-group>
</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>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
<context context-type="linenumber">46</context>
<context context-type="linenumber">45</context>
</context-group>
</trans-unit>
<trans-unit id="6494566478302448576" datatype="html">
<source>Without any tag</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
<context context-type="linenumber">50</context>
<context context-type="linenumber">49</context>
</context-group>
</trans-unit>
<trans-unit id="6523384805359286307" datatype="html">
<source>Title: <x id="PH" equiv-text="rule.value"/></source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
<context context-type="linenumber">54</context>
</context-group>
</trans-unit>
<trans-unit id="1872523635812236432" datatype="html">
<source>ASN: <x id="PH" equiv-text="rule.value"/></source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
<context context-type="linenumber">57</context>
<context context-type="linenumber">53</context>
</context-group>
</trans-unit>
<trans-unit id="02d184c288f567825a1fcbf83bcd3099a10853d5" datatype="html">
@@ -1212,14 +1198,14 @@
<source>View</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-list/document-card-large/document-card-large.component.html</context>
<context context-type="linenumber">52</context>
<context context-type="linenumber">50</context>
</context-group>
</trans-unit>
<trans-unit id="849b42384616374df49bd8b3711ec159cb10b845" datatype="html">
<source>Created: <x id="INTERPOLATION" equiv-text="{{document.created | customDate}}"/></source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-list/document-card-large/document-card-large.component.html</context>
<context context-type="linenumber">71</context>
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="cd6f3fd48957e1fea6545c2b2defc7b2435ebfa8" datatype="html">
@@ -1240,7 +1226,14 @@
<source>Score:</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-list/document-card-large/document-card-large.component.html</context>
<context context-type="linenumber">66</context>
<context context-type="linenumber">62</context>
</context-group>
</trans-unit>
<trans-unit id="2840db547019ce8c76b2cdbe3a1653c5b68b06af" datatype="html">
<source>View in browser</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/document-list/document-card-small/document-card-small.component.html</context>
<context context-type="linenumber">40</context>
</context-group>
</trans-unit>
<trans-unit id="7985804062689412812" datatype="html">
@@ -1710,25 +1703,11 @@
<context context-type="linenumber">97</context>
</context-group>
</trans-unit>
<trans-unit id="7137419789978325708" datatype="html">
<source>Russian</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
<context context-type="linenumber">98</context>
</context-group>
</trans-unit>
<trans-unit id="5190825892106392539" datatype="html">
<source>Spanish</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="4912706592792948707" datatype="html">
<source>ISO 8601</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
<context context-type="linenumber">105</context>
<context context-type="linenumber">102</context>
</context-group>
</trans-unit>
<trans-unit id="2119857572761283468" datatype="html">
@@ -1840,6 +1819,13 @@
<context context-type="linenumber">39</context>
</context-group>
</trans-unit>
<trans-unit id="7517688192215738656" datatype="html">
<source>ASN</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/services/rest/document.service.ts</context>
<context context-type="linenumber">17</context>
</context-group>
</trans-unit>
<trans-unit id="2691296884221415710" datatype="html">
<source>Correspondent</source>
<context-group purpose="location">
-4
View File
@@ -73,8 +73,6 @@ import localePt from '@angular/common/locales/pt';
import localeIt from '@angular/common/locales/it';
import localeEnGb from '@angular/common/locales/en-GB';
import localeRo from '@angular/common/locales/ro';
import localeRu from '@angular/common/locales/ru';
import localeEs from '@angular/common/locales/es';
registerLocaleData(localeFr)
@@ -84,8 +82,6 @@ registerLocaleData(localePt, "pt-BR")
registerLocaleData(localeIt)
registerLocaleData(localeEnGb)
registerLocaleData(localeRo)
registerLocaleData(localeRu)
registerLocaleData(localeEs)
@NgModule({
declarations: [
@@ -31,7 +31,7 @@
</button>
<div ngbDropdownMenu class="dropdown-menu-right shadow mr-2" aria-labelledby="userDropdown">
<div *ngIf="displayName" class="d-sm-none">
<p class="small mb-0 px-3 text-muted" i18n>Logged in as {{displayName}}</p>
<p class="small mb-0 px-3" i18n>Logged in as {{displayName}}</p>
<div class="dropdown-divider"></div>
</div>
<a ngbDropdownItem class="nav-link" routerLink="settings" (click)="closeMenu()">
@@ -99,7 +99,7 @@
</span>
</a>
</li>
<li class="nav-item w-100" *ngIf="openDocuments.length >= 1">
<li class="nav-item w-100" *ngIf="openDocuments.length > 1">
<a class="nav-link text-truncate" [routerLink]="" (click)="closeAll()">
<svg class="sidebaricon" fill="currentColor">
<use xlink:href="assets/bootstrap-icons.svg#x"/>
@@ -23,7 +23,7 @@ form {
}
}
.progress {
::ng-deep .progress {
position: absolute;
top: 0;
right: 0;
@@ -1,4 +1,4 @@
<div class="card mb-3 shadow-sm" [class.card-selected]="selected" [class.document-card]="selectable" [class.popover-hidden]="popoverHidden" (mouseleave)="mouseLeaveCard()">
<div class="card mb-3 shadow-sm" [class.card-selected]="selected" [class.document-card]="selectable">
<div class="row no-gutters">
<div class="col-md-2 d-none d-lg-block doc-img-background rounded-left" [class.doc-img-background-selected]="selected" (click)="this.toggleSelected.emit($event)">
<img [src]="getThumbUrl()" class="card-img doc-img border-right rounded-left" [class.inverted]="getIsThumbInverted()">
@@ -23,6 +23,7 @@
{{document.title | documentTitle}}
<app-tag [tag]="t" linkTitle="Filter by tag" i18n-linkTitle *ngFor="let t of document.tags$ | async" class="ml-1" (click)="clickTag.emit(t.id);$event.stopPropagation()" [clickable]="clickTag.observers.length"></app-tag>
</h5>
<h5 class="card-title" *ngIf="document.archive_serial_number">#{{document.archive_serial_number}}</h5>
</div>
<p class="card-text">
<app-result-highlight *ngIf="getDetailsAsHighlight()" class="result-content" [highlights]="getDetailsAsHighlight()"></app-result-highlight>
@@ -42,51 +43,28 @@
<path fill-rule="evenodd" d="M12.146.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1 0 .708l-10 10a.5.5 0 0 1-.168.11l-5 2a.5.5 0 0 1-.65-.65l2-5a.5.5 0 0 1 .11-.168l10-10zM11.207 2.5L13.5 4.793 14.793 3.5 12.5 1.207 11.207 2.5zm1.586 3L10.5 3.207 4 9.707V10h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.293l6.5-6.5zm-9.761 5.175l-.106.106-1.528 3.821 3.821-1.528.106-.106A.5.5 0 0 1 5 12.5V12h-.5a.5.5 0 0 1-.5-.5V11h-.5a.5.5 0 0 1-.468-.325z"/>
</svg>&nbsp;<span class="d-block d-md-inline" i18n>Edit</span>
</a>
<a class="btn btn-sm btn-outline-secondary" [href]="previewUrl"
[ngbPopover]="previewContent" [popoverTitle]="document.title | documentTitle"
autoClose="true" popoverClass="shadow" (mouseenter)="mouseEnterPreview()" (mouseleave)="mouseLeavePreview()" #popover="ngbPopover">
<a class="btn btn-sm btn-outline-secondary" [href]="getPreviewUrl()">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-eye" viewBox="0 0 16 16">
<path d="M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8zM1.173 8a13.133 13.133 0 0 1 1.66-2.043C4.12 4.668 5.88 3.5 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.133 13.133 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755C11.879 11.332 10.119 12.5 8 12.5c-2.12 0-3.879-1.168-5.168-2.457A13.134 13.134 0 0 1 1.172 8z"/>
<path d="M8 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5zM4.5 8a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0z"/>
</svg>&nbsp;<span class="d-block d-md-inline" i18n>View</span>
</a>
<ng-template #previewContent>
<object [data]="previewUrl | safe" class="preview" width="100%"></object>
</ng-template>
<a class="btn btn-sm btn-outline-secondary" [href]="getDownloadUrl()">
<svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-download" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" d="M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5z"/>
<path fill-rule="evenodd" d="M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3z"/>
</svg>&nbsp;<span class="d-block d-md-inline" i18n>Download</span>
</a>
</div>
<div class="list-group list-group-horizontal border-0 card-info ml-md-auto mt-2 mt-md-0">
<div *ngIf="searchScore" class="list-group-item bg-light text-dark p-1 mr-5 border-0 d-flex search-score">
<small class="text-muted" i18n>Score:</small>
<ngb-progressbar [type]="searchScoreClass" [value]="searchScore" class="search-score-bar mx-2 mt-1" [max]="1"></ngb-progressbar>
</div>
<button *ngIf="document.document_type" type="button" class="list-group-item btn btn-sm bg-light text-dark p-1 border-0 mr-2" title="Filter by document type"
(click)="clickDocumentType.emit(document.document_type);$event.stopPropagation()">
<svg class="metadata-icon mr-2 text-muted bi bi-file-earmark" viewBox="0 0 16 16" fill="currentColor">
<path d="M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z"/>
</svg>
<small>{{(document.document_type$ | async)?.name}}</small>
</button>
<div *ngIf="document.archive_serial_number" class="list-group-item mr-2 bg-light text-dark p-1 border-0">
<svg class="metadata-icon mr-2 text-muted bi bi-upc-scan" viewBox="0 0 16 16" fill="currentColor">
<path d="M1.5 1a.5.5 0 0 0-.5.5v3a.5.5 0 0 1-1 0v-3A1.5 1.5 0 0 1 1.5 0h3a.5.5 0 0 1 0 1h-3zM11 .5a.5.5 0 0 1 .5-.5h3A1.5 1.5 0 0 1 16 1.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 1-.5-.5zM.5 11a.5.5 0 0 1 .5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 1 0 1h-3A1.5 1.5 0 0 1 0 14.5v-3a.5.5 0 0 1 .5-.5zm15 0a.5.5 0 0 1 .5.5v3a1.5 1.5 0 0 1-1.5 1.5h-3a.5.5 0 0 1 0-1h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 1 .5-.5zM3 4.5a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7zm2 0a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7zm2 0a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7zm2 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-7zm3 0a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7z"/>
</svg>
<small>#{{document.archive_serial_number}}</small>
</div>
<div class="list-group-item bg-light text-dark p-1 border-0" ngbTooltip="Added:&nbsp;{{document.added | customDate:'shortDate'}} Created:&nbsp;{{document.created | customDate:'shortDate'}}">
<svg class="metadata-icon mr-2 text-muted bi bi-calendar-event" viewBox="0 0 16 16" fill="currentColor">
<path d="M11 6.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z"/>
<path d="M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z"/>
</svg>
<small>{{document.created | customDate:'mediumDate'}}</small>
</div>
<div *ngIf="searchScore" class="d-flex align-items-center ml-md-auto mt-2 mt-md-0">
<small class="text-muted" i18n>Score:</small>
<ngb-progressbar [type]="searchScoreClass" [value]="searchScore" class="search-score-bar mx-2" [max]="1"></ngb-progressbar>
</div>
<small class="text-muted" [class.ml-auto]="!searchScore" i18n>Created: {{document.created | customDate}}</small>
</div>
</div>
@@ -37,25 +37,3 @@
.doc-img-background-selected {
background-color: $primaryFaded;
}
.card-info {
line-height: 1;
button {
line-height: 1;
&:hover,
&:focus {
background-color: transparent !important;
}
}
.metadata-icon {
width: 0.8rem;
height: 0.8rem;
}
.search-score {
padding-top: 0.35rem !important;
}
}
@@ -1,14 +1,13 @@
import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser';
import { PaperlessDocument } from 'src/app/data/paperless-document';
import { DocumentService } from 'src/app/services/rest/document.service';
import { SettingsService, SETTINGS_KEYS } from 'src/app/services/settings.service';
import { NgbPopover } from '@ng-bootstrap/ng-bootstrap';
@Component({
selector: 'app-document-card-large',
templateUrl: './document-card-large.component.html',
styleUrls: ['./document-card-large.component.scss', '../popover-preview/popover-preview.scss']
styleUrls: ['./document-card-large.component.scss']
})
export class DocumentCardLargeComponent implements OnInit {
@@ -39,17 +38,9 @@ export class DocumentCardLargeComponent implements OnInit {
@Output()
clickCorrespondent = new EventEmitter<number>()
@Output()
clickDocumentType = new EventEmitter<number>()
@Input()
searchScore: number
@ViewChild('popover') popover: NgbPopover
mouseOnPreview = false
popoverHidden = true
get searchScoreClass() {
if (this.searchScore > 0.7) {
return "success"
@@ -88,32 +79,7 @@ export class DocumentCardLargeComponent implements OnInit {
return this.documentService.getDownloadUrl(this.document.id)
}
get previewUrl() {
getPreviewUrl() {
return this.documentService.getPreviewUrl(this.document.id)
}
mouseEnterPreview() {
this.mouseOnPreview = true
if (!this.popover.isOpen()) {
// we're going to open but hide to pre-load content during hover delay
this.popover.open()
this.popoverHidden = true
setTimeout(() => {
if (this.mouseOnPreview) {
// show popover
this.popoverHidden = false
} else {
this.popover.close()
}
}, 600);
}
}
mouseLeavePreview() {
this.mouseOnPreview = false
}
mouseLeaveCard() {
this.popover.close()
}
}
@@ -1,5 +1,5 @@
<div class="col p-2 h-100">
<div class="card h-100 shadow-sm document-card" [class.card-selected]="selected" [class.popover-hidden]="popoverHidden" (mouseleave)="mouseLeaveCard()">
<div class="card h-100 shadow-sm document-card" [class.card-selected]="selected">
<div class="border-bottom doc-img-container" [class.doc-img-background-selected]="selected" (click)="this.toggleSelected.emit($event)">
<img class="card-img doc-img rounded-top" [class.inverted]="getIsThumbInverted()" [src]="getThumbUrl()">
@@ -25,52 +25,24 @@
<ng-container *ngIf="document.correspondent">
<a [routerLink]="" title="Filter by correspondent" i18n-title (click)="clickCorrespondent.emit(document.correspondent);$event.stopPropagation()" class="font-weight-bold">{{(document.correspondent$ | async)?.name}}</a>:
</ng-container>
{{document.title | documentTitle}}
{{document.title | documentTitle}} <span *ngIf="document.archive_serial_number">(#{{document.archive_serial_number}})</span>
</p>
</div>
<div class="card-footer pt-0 pb-2 px-2">
<div class="list-group list-group-flush border-0 pt-1 pb-2 card-info">
<button *ngIf="document.document_type" type="button" class="list-group-item list-group-item-action bg-transparent pl-0 p-1 border-0" title="Filter by document type"
(click)="clickDocumentType.emit(document.document_type);$event.stopPropagation()">
<svg class="metadata-icon mr-2 text-muted bi bi-file-earmark" viewBox="0 0 16 16" fill="currentColor">
<path d="M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z"/>
</svg>
<small>{{(document.document_type$ | async)?.name}}</small>
</button>
<div class="list-group-item bg-transparent p-0 border-0 d-flex flex-wrap-reverse justify-content-between">
<div class="pl-0 p-1" placement="top" ngbTooltip="Added:&nbsp;{{document.added | customDate:'mediumDate'}} Created:&nbsp;{{document.created | customDate:'mediumDate'}}">
<svg class="metadata-icon mr-2 text-muted bi bi-calendar-event" viewBox="0 0 16 16" fill="currentColor">
<path d="M11 6.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z"/>
<path d="M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z"/>
</svg>
<small>{{document.created | customDate:'mediumDate'}}</small>
</div>
<div *ngIf="document.archive_serial_number" class="pl-0 p-1">
<svg class="metadata-icon mr-2 text-muted bi bi-upc-scan" viewBox="0 0 16 16" fill="currentColor">
<path d="M1.5 1a.5.5 0 0 0-.5.5v3a.5.5 0 0 1-1 0v-3A1.5 1.5 0 0 1 1.5 0h3a.5.5 0 0 1 0 1h-3zM11 .5a.5.5 0 0 1 .5-.5h3A1.5 1.5 0 0 1 16 1.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 1-.5-.5zM.5 11a.5.5 0 0 1 .5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 1 0 1h-3A1.5 1.5 0 0 1 0 14.5v-3a.5.5 0 0 1 .5-.5zm15 0a.5.5 0 0 1 .5.5v3a1.5 1.5 0 0 1-1.5 1.5h-3a.5.5 0 0 1 0-1h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 1 .5-.5zM3 4.5a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7zm2 0a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7zm2 0a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7zm2 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-7zm3 0a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7z"/>
</svg>
<small>#{{document.archive_serial_number}}</small>
</div>
</div>
</div>
<div class="d-flex justify-content-between align-items-center">
<div class="btn-group w-100">
<div class="card-footer">
<div class="d-flex justify-content-between align-items-center mx-n2">
<div class="btn-group">
<a routerLink="/documents/{{document.id}}" class="btn btn-sm btn-outline-secondary" title="Edit" i18n-title>
<svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-pencil" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" d="M12.146.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1 0 .708l-10 10a.5.5 0 0 1-.168.11l-5 2a.5.5 0 0 1-.65-.65l2-5a.5.5 0 0 1 .11-.168l10-10zM11.207 2.5L13.5 4.793 14.793 3.5 12.5 1.207 11.207 2.5zm1.586 3L10.5 3.207 4 9.707V10h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.293l6.5-6.5zm-9.761 5.175l-.106.106-1.528 3.821 3.821-1.528.106-.106A.5.5 0 0 1 5 12.5V12h-.5a.5.5 0 0 1-.5-.5V11h-.5a.5.5 0 0 1-.468-.325z"/>
</svg>
</a>
<a [href]="previewUrl" target="_blank" class="btn btn-sm btn-outline-secondary"
[ngbPopover]="previewContent" [popoverTitle]="document.title | documentTitle"
autoClose="true" popoverClass="shadow" (mouseenter)="mouseEnterPreview()" (mouseleave)="mouseLeavePreview()" #popover="ngbPopover">
<a [href]="getPreviewUrl()" class="btn btn-sm btn-outline-secondary" title="View in browser" i18n-title>
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-eye" viewBox="0 0 16 16">
<path d="M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8zM1.173 8a13.133 13.133 0 0 1 1.66-2.043C4.12 4.668 5.88 3.5 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.133 13.133 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755C11.879 11.332 10.119 12.5 8 12.5c-2.12 0-3.879-1.168-5.168-2.457A13.134 13.134 0 0 1 1.172 8z"/>
<path d="M8 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5zM4.5 8a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0z"/>
</svg>
</a>
<ng-template #previewContent>
<object [data]="previewUrl | safe" class="preview" width="100%"></object>
</ng-template>
<a [href]="getDownloadUrl()" class="btn btn-sm btn-outline-secondary" title="Download" (click)="$event.stopPropagation()" i18n-title>
<svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-download" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" d="M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5z"/>
@@ -78,7 +50,9 @@
</svg>
</a>
</div>
<small class="text-muted pl-1">{{document.created | customDate:'shortDate'}}</small>
</div>
</div>
</div>
</div>
@@ -1,13 +1,9 @@
@import "/src/theme";
.card-text {
font-size: 90%;
}
.doc-img {
object-fit: cover;
object-position: top left;
height: 175px;
height: 200px;
mix-blend-mode: multiply;
}
@@ -38,31 +34,3 @@
.doc-img-background-selected {
background-color: $primaryFaded;
}
.card-info {
line-height: 1;
button {
line-height: 1;
&:hover,
&:focus {
background-color: transparent !important;
color: $primary;
}
}
.metadata-icon {
width: 0.8rem;
height: 0.8rem;
}
}
.card-footer .btn {
padding-top: .10rem;
}
::ng-deep .tooltip-inner {
text-align: left !important;
font-size: 90%;
}
@@ -1,14 +1,13 @@
import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
import { map } from 'rxjs/operators';
import { PaperlessDocument } from 'src/app/data/paperless-document';
import { DocumentService } from 'src/app/services/rest/document.service';
import { SettingsService, SETTINGS_KEYS } from 'src/app/services/settings.service';
import { NgbPopover } from '@ng-bootstrap/ng-bootstrap';
@Component({
selector: 'app-document-card-small',
templateUrl: './document-card-small.component.html',
styleUrls: ['./document-card-small.component.scss', '../popover-preview/popover-preview.scss']
styleUrls: ['./document-card-small.component.scss']
})
export class DocumentCardSmallComponent implements OnInit {
@@ -16,7 +15,7 @@ export class DocumentCardSmallComponent implements OnInit {
@Input()
selected = false
@Output()
toggleSelected = new EventEmitter()
@@ -29,16 +28,8 @@ export class DocumentCardSmallComponent implements OnInit {
@Output()
clickCorrespondent = new EventEmitter<number>()
@Output()
clickDocumentType = new EventEmitter<number>()
moreTags: number = null
@ViewChild('popover') popover: NgbPopover
mouseOnPreview = false
popoverHidden = true
ngOnInit(): void {
}
@@ -54,7 +45,7 @@ export class DocumentCardSmallComponent implements OnInit {
return this.documentService.getDownloadUrl(this.document.id)
}
get previewUrl() {
getPreviewUrl() {
return this.documentService.getPreviewUrl(this.document.id)
}
@@ -71,28 +62,4 @@ export class DocumentCardSmallComponent implements OnInit {
)
}
mouseEnterPreview() {
this.mouseOnPreview = true
if (!this.popover.isOpen()) {
// we're going to open but hide to pre-load content during hover delay
this.popover.open()
this.popoverHidden = true
setTimeout(() => {
if (this.mouseOnPreview) {
// show popover
this.popoverHidden = false
} else {
this.popover.close()
}
}, 600);
}
}
mouseLeavePreview() {
this.mouseOnPreview = false
}
mouseLeaveCard() {
this.popover.close()
}
}
@@ -90,7 +90,7 @@
</div>
<div *ngIf="displayMode == 'largeCards'">
<app-document-card-large [selected]="list.isSelected(d)" (toggleSelected)="toggleSelected(d, $event)" *ngFor="let d of list.documents; trackBy: trackByDocumentId" [document]="d" [details]="d.content" (clickTag)="clickTag($event)" (clickCorrespondent)="clickCorrespondent($event)" (clickDocumentType)="clickDocumentType($event)">
<app-document-card-large [selected]="list.isSelected(d)" (toggleSelected)="toggleSelected(d, $event)" *ngFor="let d of list.documents; trackBy: trackByDocumentId" [document]="d" [details]="d.content" (clickTag)="clickTag($event)" (clickCorrespondent)="clickCorrespondent($event)">
</app-document-card-large>
</div>
@@ -170,5 +170,5 @@
</table>
<div class="m-n2 row row-cols-paperless-cards" *ngIf="displayMode == 'smallCards'">
<app-document-card-small [selected]="list.isSelected(d)" (toggleSelected)="toggleSelected(d, $event)" [document]="d" *ngFor="let d of list.documents; trackBy: trackByDocumentId" (clickTag)="clickTag($event)" (clickCorrespondent)="clickCorrespondent($event)" (clickDocumentType)="clickDocumentType($event)"></app-document-card-small>
<app-document-card-small [selected]="list.isSelected(d)" (toggleSelected)="toggleSelected(d, $event)" [document]="d" *ngFor="let d of list.documents; trackBy: trackByDocumentId" (clickTag)="clickTag($event)" (clickCorrespondent)="clickCorrespondent($event)"></app-document-card-small>
</div>
@@ -8,13 +8,12 @@ import { DocumentTypeService } from 'src/app/services/rest/document-type.service
import { TagService } from 'src/app/services/rest/tag.service';
import { CorrespondentService } from 'src/app/services/rest/correspondent.service';
import { FilterRule } from 'src/app/data/filter-rule';
import { FILTER_ADDED_AFTER, FILTER_ADDED_BEFORE, FILTER_ASN, FILTER_CORRESPONDENT, FILTER_CREATED_AFTER, FILTER_CREATED_BEFORE, FILTER_DOCUMENT_TYPE, FILTER_HAS_ANY_TAG, FILTER_HAS_TAG, FILTER_TITLE, FILTER_TITLE_CONTENT } from 'src/app/data/filter-rule-type';
import { FILTER_ADDED_AFTER, FILTER_ADDED_BEFORE, FILTER_CORRESPONDENT, FILTER_CREATED_AFTER, FILTER_CREATED_BEFORE, FILTER_DOCUMENT_TYPE, FILTER_HAS_ANY_TAG, FILTER_HAS_TAG, FILTER_TITLE, FILTER_TITLE_CONTENT } from 'src/app/data/filter-rule-type';
import { FilterableDropdownSelectionModel } from '../../common/filterable-dropdown/filterable-dropdown.component';
import { ToggleableItemState } from '../../common/filterable-dropdown/toggleable-dropdown-button/toggleable-dropdown-button.component';
const TEXT_FILTER_TARGET_TITLE = "title"
const TEXT_FILTER_TARGET_TITLE_CONTENT = "title-content"
const TEXT_FILTER_TARGET_ASN = "asn"
@Component({
selector: 'app-filter-editor',
@@ -52,9 +51,6 @@ export class FilterEditorComponent implements OnInit, OnDestroy {
case FILTER_TITLE:
return $localize`Title: ${rule.value}`
case FILTER_ASN:
return $localize`ASN: ${rule.value}`
}
}
@@ -75,8 +71,7 @@ export class FilterEditorComponent implements OnInit, OnDestroy {
textFilterTargets = [
{id: TEXT_FILTER_TARGET_TITLE, name: $localize`Title`},
{id: TEXT_FILTER_TARGET_TITLE_CONTENT, name: $localize`Title & content`},
{id: TEXT_FILTER_TARGET_ASN, name: $localize`ASN`}
{id: TEXT_FILTER_TARGET_TITLE_CONTENT, name: $localize`Title & content`}
]
textFilterTarget = TEXT_FILTER_TARGET_TITLE_CONTENT
@@ -116,10 +111,6 @@ export class FilterEditorComponent implements OnInit, OnDestroy {
this._textFilter = rule.value
this.textFilterTarget = TEXT_FILTER_TARGET_TITLE_CONTENT
break
case FILTER_ASN:
this._textFilter = rule.value
this.textFilterTarget = TEXT_FILTER_TARGET_ASN
break
case FILTER_CREATED_AFTER:
this.dateCreatedAfter = rule.value
break
@@ -156,9 +147,6 @@ export class FilterEditorComponent implements OnInit, OnDestroy {
if (this._textFilter && this.textFilterTarget == TEXT_FILTER_TARGET_TITLE) {
filterRules.push({rule_type: FILTER_TITLE, value: this._textFilter})
}
if (this._textFilter && this.textFilterTarget == TEXT_FILTER_TARGET_ASN) {
filterRules.push({rule_type: FILTER_ASN, value: this._textFilter})
}
if (this.tagSelectionModel.isNoneSelected()) {
filterRules.push({rule_type: FILTER_HAS_ANY_TAG, value: "false"})
} else {
@@ -1,22 +0,0 @@
::ng-deep .popover {
max-width: 40rem;
.preview {
min-width: 30rem;
min-height: 18rem;
max-height: 35rem;
overflow-y: scroll;
}
.spinner-border {
position: absolute;
top: 4rem;
left: calc(50% - 0.5rem);
z-index: 0;
}
}
::ng-deep .popover-hidden .popover {
opacity: 0;
pointer-events: none;
}
@@ -14,5 +14,5 @@
<div class="bg-dark p-3 mb-3 text-light text-monospace log-container">
<p
class="m-0 p-0 log-entry-{{getLogLevel(log)}}"
*ngFor="let log of logs">{{log}}</p>
*ngFor="let log of logs" style="white-space: pre;">{{log}}</p>
</div>
@@ -16,11 +16,9 @@
}
.log-container {
overflow-y: scroll;
overflow: scroll;
height: calc(100vh - 190px);
top: 70px;
p {
white-space: pre-wrap;
}
}
}
@@ -111,11 +111,11 @@
</ng-template>
</li>
<li [ngbNavItem]="2">
<a ngbNavLink i18n>Notifications</a>
<ng-template ngbNavContent>
<h4 i18n>Document processing</h4>
<div class="form-row form-group">
@@ -3,7 +3,9 @@
<div *ngIf="errorMessage" class="alert alert-danger" i18n>Invalid search query: {{errorMessage}}</div>
<p *ngIf="more_like" i18n>Showing documents similar to <a routerLink="/documents/{{more_like}}">{{more_like_doc?.original_file_name}}</a></p>
<p *ngIf="more_like" i18n>
Showing documents similar to <a routerLink="/documents/{{more_like}}">{{more_like_doc?.original_file_name}}</a>
</p>
<p *ngIf="query">
<ng-container i18n>Search query: <i>{{query}}</i></ng-container>
+2 -2
View File
@@ -4,8 +4,8 @@ import { SettingsService, SETTINGS_KEYS } from '../services/settings.service';
const FORMAT_TO_ISO_FORMAT = {
"longDate": "y-MM-dd",
"mediumDate": "y-MM-dd",
"shortDate": "y-MM-dd"
"mediumDate": "yy-MM-dd",
"shortDate": "yy-MM-dd"
}
@Pipe({
+5 -8
View File
@@ -89,15 +89,12 @@ export class SettingsService {
return [
{code: "en-us", name: $localize`English (US)`, englishName: "English (US)", dateInputFormat: "mm/dd/yyyy"},
{code: "en-gb", name: $localize`English (GB)`, englishName: "English (GB)", dateInputFormat: "dd/mm/yyyy"},
{code: "de-de", name: $localize`German`, englishName: "German", dateInputFormat: "dd.mm.yyyy"},
{code: "nl-nl", name: $localize`Dutch`, englishName: "Dutch", dateInputFormat: "dd-mm-yyyy"},
{code: "fr-fr", name: $localize`French`, englishName: "French", dateInputFormat: "dd/mm/yyyy"},
{code: "de", name: $localize`German`, englishName: "German", dateInputFormat: "dd.mm.yyyy"},
{code: "nl", name: $localize`Dutch`, englishName: "Dutch", dateInputFormat: "dd-mm-yyyy"},
{code: "fr", name: $localize`French`, englishName: "French", dateInputFormat: "dd/mm/yyyy"},
{code: "pt-br", name: $localize`Portuguese (Brazil)`, englishName: "Portuguese (Brazil)", dateInputFormat: "dd/mm/yyyy"},
{code: "it-it", name: $localize`Italian`, englishName: "Italian", dateInputFormat: "dd/mm/yyyy"},
{code: "ro-ro", name: $localize`Romanian`, englishName: "Romanian", dateInputFormat: "dd.mm.yyyy"},
{code: "ru-ru", name: $localize`Russian`, englishName: "Russian", dateInputFormat: "dd.mm.yyyy"},
{code: "es-es", name: $localize`Spanish`, englishName: "Spanish", dateInputFormat: "dd/mm/yyyy"},
{code: "it", name: $localize`Italian`, englishName: "Italian", dateInputFormat: "dd/mm/yyyy"},
{code: "ro", name: $localize`Romanian`, englishName: "Romanian", dateInputFormat: "dd.mm.yyyy"}
]
}
+1 -1
View File
@@ -3,7 +3,7 @@ export const environment = {
apiBaseUrl: "/api/",
apiVersion: "2",
appTitle: "Paperless-ng",
version: "1.3.1",
version: "1.3.0",
webSocketHost: window.location.host,
webSocketProtocol: (window.location.protocol == "https:" ? "wss:" : "ws:")
};
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+1 -32
View File
@@ -1,7 +1,6 @@
$primary-dark-mode: #45973a;
$danger-dark-mode: #b71631;
$bg-dark-mode: #161618;
$bg-dark-mode-accent: #21262d;
$bg-light-dark-mode: #1c1c1f;
$text-color-dark-mode: #abb2bf;
$text-color-dark-mode-accent: lighten($text-color-dark-mode, 10%);
@@ -76,10 +75,6 @@ $border-color-dark-mode: #47494f;
}
}
.page-item.active .page-link {
background-color: darken($primary-dark-mode, 10%);
}
.nav-tabs {
border-color: $border-color-dark-mode;
@@ -230,7 +225,7 @@ $border-color-dark-mode: #47494f;
}
.btn-outline-secondary {
border-color: darken($text-color-dark-mode, 30%);
border-color: $text-color-dark-mode;
color: $text-color-dark-mode;
&:not(:disabled):not(.disabled):hover {
@@ -283,10 +278,6 @@ $border-color-dark-mode: #47494f;
background-color: $bg-dark-mode !important;
}
.card-footer button:hover {
color: $primary-dark-mode !important;
}
.form-control:not(.is-invalid):not(.btn),
input:not(.is-invalid),
textarea:not(.is-invalid) {
@@ -393,28 +384,6 @@ $border-color-dark-mode: #47494f;
background-color: darken($primary-dark-mode, 5%) !important;
}
.popover {
.popover-header,
.popover-body {
background-color: $bg-dark-mode-accent;
border-color: $border-color-dark-mode;
}
}
$placements: 'top', 'right', 'bottom', 'left';
@each $placement in $placements {
.bs-popover-#{$placement} > .arrow::after,
.bs-popover-auto[x-placement^=#{$placement}] > .arrow::after {
border-#{$placement}-color: $bg-dark-mode-accent;
}
}
.bs-popover-bottom .popover-header::before,
.bs-popover-auto[x-placement^=bottom] .popover-header::before {
border-bottom-color: $bg-dark-mode-accent;
}
.ngb-dp-header,
.ngb-dp-weekdays,
.ngb-dp-month {
+25 -42
View File
@@ -143,46 +143,6 @@ def run_convert(input_file,
raise ParseError("Convert failed at {}".format(args))
def get_default_thumbnail():
return os.path.join(os.path.dirname(__file__), "resources", "document.png")
def make_thumbnail_from_pdf_gs_fallback(in_path, temp_dir, logging_group=None):
out_path = os.path.join(temp_dir, "convert_gs.png")
# if convert fails, fall back to extracting
# the first PDF page as a PNG using Ghostscript
logger.warning(
"Thumbnail generation with ImageMagick failed, falling back "
"to ghostscript. Check your /etc/ImageMagick-x/policy.xml!",
extra={'group': logging_group}
)
gs_out_path = os.path.join(temp_dir, "gs_out.png")
cmd = [settings.GS_BINARY,
"-q",
"-sDEVICE=pngalpha",
"-o", gs_out_path,
in_path]
try:
if not subprocess.Popen(cmd).wait() == 0:
raise ParseError("Thumbnail (gs) failed at {}".format(cmd))
# then run convert on the output from gs
run_convert(density=300,
scale="500x5000>",
alpha="remove",
strip=True,
trim=False,
auto_orient=True,
input_file=gs_out_path,
output_file=out_path,
logging_group=logging_group)
return out_path
except ParseError:
return get_default_thumbnail()
def make_thumbnail_from_pdf(in_path, temp_dir, logging_group=None):
"""
The thumbnail of a PDF is just a 500px wide image of the first page.
@@ -201,8 +161,31 @@ def make_thumbnail_from_pdf(in_path, temp_dir, logging_group=None):
output_file=out_path,
logging_group=logging_group)
except ParseError:
out_path = make_thumbnail_from_pdf_gs_fallback(
in_path, temp_dir, logging_group)
# if convert fails, fall back to extracting
# the first PDF page as a PNG using Ghostscript
logger.warning(
"Thumbnail generation with ImageMagick failed, falling back "
"to ghostscript. Check your /etc/ImageMagick-x/policy.xml!",
extra={'group': logging_group}
)
gs_out_path = os.path.join(temp_dir, "gs_out.png")
cmd = [settings.GS_BINARY,
"-q",
"-sDEVICE=pngalpha",
"-o", gs_out_path,
in_path]
if not subprocess.Popen(cmd).wait() == 0:
raise ParseError("Thumbnail (gs) failed at {}".format(cmd))
# then run convert on the output from gs
run_convert(density=300,
scale="500x5000>",
alpha="remove",
strip=True,
trim=False,
auto_orient=True,
input_file=gs_out_path,
output_file=out_path,
logging_group=logging_group)
return out_path
Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

+6 -1
View File
@@ -2,6 +2,7 @@ import re
import magic
import math
import pathvalidate
from django.utils.text import slugify
from rest_framework import serializers
from rest_framework.fields import SerializerMethodField
@@ -50,7 +51,7 @@ class MatchingModelSerializer(serializers.ModelSerializer):
re.compile(match)
except Exception as e:
raise serializers.ValidationError(
_("Invalid regular expression: %(error)s") %
_("Invalid regular expresssion: %(error)s") %
{'error': str(e)}
)
return match
@@ -211,6 +212,10 @@ class DocumentSerializer(DynamicFieldsModelSerializer):
else:
return None
def get_content(self, obj):
return pathvalidate.sanitize_filename(obj.content)
content = SerializerMethodField()
class Meta:
model = Document
depth = 1
-24
View File
@@ -270,30 +270,6 @@ class TestDocumentApi(DirectoriesMixin, APITestCase):
results = response.data['results']
self.assertEqual(len(results), 0)
def test_documents_title_content_filter(self):
doc1 = Document.objects.create(title="title A", content="content A", checksum="A", mime_type="application/pdf")
doc2 = Document.objects.create(title="title B", content="content A", checksum="B", mime_type="application/pdf")
doc3 = Document.objects.create(title="title A", content="content B", checksum="C", mime_type="application/pdf")
doc4 = Document.objects.create(title="title B", content="content B", checksum="D", mime_type="application/pdf")
response = self.client.get("/api/documents/?title_content=A")
self.assertEqual(response.status_code, 200)
results = response.data['results']
self.assertEqual(len(results), 3)
self.assertCountEqual([results[0]['id'], results[1]['id'], results[2]['id']], [doc1.id, doc2.id, doc3.id])
response = self.client.get("/api/documents/?title_content=B")
self.assertEqual(response.status_code, 200)
results = response.data['results']
self.assertEqual(len(results), 3)
self.assertCountEqual([results[0]['id'], results[1]['id'], results[2]['id']], [doc2.id, doc3.id, doc4.id])
response = self.client.get("/api/documents/?title_content=X")
self.assertEqual(response.status_code, 200)
results = response.data['results']
self.assertEqual(len(results), 0)
def test_search_no_query(self):
response = self.client.get("/api/search/")
results = response.data['results']
+1 -1
View File
@@ -15,7 +15,7 @@ class TestViews(TestCase):
def test_index(self):
self.client.force_login(self.user)
for (language_given, language_actual) in [("", "en-US"), ("en-US", "en-US"), ("de", "de-DE"), ("en", "en-US"), ("en-us", "en-US"), ("fr", "fr-FR"), ("jp", "en-US")]:
for (language_given, language_actual) in [("", "en-US"), ("en-US", "en-US"), ("de", "de"), ("en", "en-US"), ("en-us", "en-US"), ("fr", "fr"), ("jp", "en-US")]:
if language_given:
self.client.cookies.load({settings.LANGUAGE_COOKIE_NAME: language_given})
elif settings.LANGUAGE_COOKIE_NAME in self.client.cookies.keys():
@@ -1,339 +1,335 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Štěpán Šebestian <mys.orangeorange0123@gmail.com>, 2021
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: paperless-ng\n"
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-03-14 13:33+0100\n"
"PO-Revision-Date: 2021-03-14 13:58\n"
"Last-Translator: \n"
"Language-Team: Czech\n"
"Language: cs_CZ\n"
"POT-Creation-Date: 2021-01-28 22:02+0100\n"
"PO-Revision-Date: 2020-12-30 19:27+0000\n"
"Last-Translator: Štěpán Šebestian <mys.orangeorange0123@gmail.com>, 2021\n"
"Language-Team: Czech (https://www.transifex.com/paperless/teams/115905/cs/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
"X-Crowdin-Project: paperless-ng\n"
"X-Crowdin-Project-ID: 434940\n"
"X-Crowdin-Language: cs\n"
"X-Crowdin-File: /dev/src/locale/en_US/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 54\n"
"Language: cs\n"
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
#: documents/apps.py:10
msgid "Documents"
msgstr "Dokumenty"
#: documents/models.py:32
#: documents/models.py:33
msgid "Any word"
msgstr "Jakékoliv slovo"
#: documents/models.py:33
#: documents/models.py:34
msgid "All words"
msgstr "Všechna slova"
#: documents/models.py:34
#: documents/models.py:35
msgid "Exact match"
msgstr "Přesná shoda"
#: documents/models.py:35
#: documents/models.py:36
msgid "Regular expression"
msgstr "Regulární výraz"
#: documents/models.py:36
#: documents/models.py:37
msgid "Fuzzy word"
msgstr "Fuzzy slovo"
#: documents/models.py:37
#: documents/models.py:38
msgid "Automatic"
msgstr "Automatický"
#: documents/models.py:41 documents/models.py:350 paperless_mail/models.py:25
#: documents/models.py:42 documents/models.py:352 paperless_mail/models.py:25
#: paperless_mail/models.py:109
msgid "name"
msgstr "název"
#: documents/models.py:45
#: documents/models.py:46
msgid "match"
msgstr "shoda"
#: documents/models.py:49
#: documents/models.py:50
msgid "matching algorithm"
msgstr "algoritmus pro shodu"
#: documents/models.py:55
#: documents/models.py:56
msgid "is insensitive"
msgstr "je ignorováno"
#: documents/models.py:74 documents/models.py:120
#: documents/models.py:75 documents/models.py:135
msgid "correspondent"
msgstr "korespondent"
#: documents/models.py:75
#: documents/models.py:76
msgid "correspondents"
msgstr "korespondenti"
#: documents/models.py:81
#: documents/models.py:98
msgid "color"
msgstr "barva"
#: documents/models.py:87
#: documents/models.py:102
msgid "is inbox tag"
msgstr "tag přichozí"
#: documents/models.py:89
msgid "Marks this tag as an inbox tag: All newly consumed documents will be tagged with inbox tags."
msgstr "Označí tento tag jako tag pro příchozí: Všechny nově zkonzumované dokumenty budou označeny tagem pro přichozí"
#: documents/models.py:104
msgid ""
"Marks this tag as an inbox tag: All newly consumed documents will be tagged "
"with inbox tags."
msgstr ""
"Označí tento tag jako tag pro příchozí: Všechny nově zkonzumované dokumenty "
"budou označeny tagem pro přichozí"
#: documents/models.py:94
#: documents/models.py:109
msgid "tag"
msgstr "tag"
#: documents/models.py:95 documents/models.py:151
#: documents/models.py:110 documents/models.py:166
msgid "tags"
msgstr "tagy"
#: documents/models.py:101 documents/models.py:133
#: documents/models.py:116 documents/models.py:148
msgid "document type"
msgstr "typ dokumentu"
#: documents/models.py:102
#: documents/models.py:117
msgid "document types"
msgstr "typy dokumentu"
#: documents/models.py:110
#: documents/models.py:125
msgid "Unencrypted"
msgstr "Nešifrované"
#: documents/models.py:111
#: documents/models.py:126
msgid "Encrypted with GNU Privacy Guard"
msgstr "Šifrované pomocí GNU Privacy Guard"
#: documents/models.py:124
#: documents/models.py:139
msgid "title"
msgstr "titulek"
#: documents/models.py:137
#: documents/models.py:152
msgid "content"
msgstr "obsah"
#: documents/models.py:139
msgid "The raw, text-only data of the document. This field is primarily used for searching."
msgstr "Nezpracovaná, pouze textová data dokumentu. Toto pole je používáno především pro vyhledávání."
#: documents/models.py:154
msgid ""
"The raw, text-only data of the document. This field is primarily used for "
"searching."
msgstr ""
"Nezpracovaná, pouze textová data dokumentu. Toto pole je používáno především"
" pro vyhledávání."
#: documents/models.py:144
#: documents/models.py:159
msgid "mime type"
msgstr "mime typ"
#: documents/models.py:155
#: documents/models.py:170
msgid "checksum"
msgstr "kontrolní součet"
#: documents/models.py:159
#: documents/models.py:174
msgid "The checksum of the original document."
msgstr "Kontrolní součet původního dokumentu"
#: documents/models.py:163
#: documents/models.py:178
msgid "archive checksum"
msgstr "kontrolní součet archivu"
#: documents/models.py:168
#: documents/models.py:183
msgid "The checksum of the archived document."
msgstr "Kontrolní součet archivovaného dokumentu."
#: documents/models.py:172 documents/models.py:328
#: documents/models.py:187 documents/models.py:330
msgid "created"
msgstr "vytvořeno"
#: documents/models.py:176
#: documents/models.py:191
msgid "modified"
msgstr "upraveno"
#: documents/models.py:180
#: documents/models.py:195
msgid "storage type"
msgstr "typ úložiště"
#: documents/models.py:188
#: documents/models.py:203
msgid "added"
msgstr "přidáno"
#: documents/models.py:192
#: documents/models.py:207
msgid "filename"
msgstr "název souboru"
#: documents/models.py:198
#: documents/models.py:212
msgid "Current filename in storage"
msgstr "Aktuální název souboru v úložišti"
#: documents/models.py:202
msgid "archive filename"
msgstr ""
#: documents/models.py:208
msgid "Current archive filename in storage"
msgstr ""
#: documents/models.py:212
#: documents/models.py:216
msgid "archive serial number"
msgstr "sériové číslo archivu"
#: documents/models.py:217
#: documents/models.py:221
msgid "The position of this document in your physical document archive."
msgstr "Pozice dokumentu ve vašem archivu fyzických dokumentů"
#: documents/models.py:223
#: documents/models.py:227
msgid "document"
msgstr "dokument"
#: documents/models.py:224
#: documents/models.py:228
msgid "documents"
msgstr "dokumenty"
#: documents/models.py:311
#: documents/models.py:313
msgid "debug"
msgstr "debug"
#: documents/models.py:312
#: documents/models.py:314
msgid "information"
msgstr "informace"
#: documents/models.py:313
#: documents/models.py:315
msgid "warning"
msgstr "varování"
#: documents/models.py:314
#: documents/models.py:316
msgid "error"
msgstr "chyba"
#: documents/models.py:315
#: documents/models.py:317
msgid "critical"
msgstr "kritická"
#: documents/models.py:319
#: documents/models.py:321
msgid "group"
msgstr "skupina"
#: documents/models.py:322
#: documents/models.py:324
msgid "message"
msgstr "zpráva"
#: documents/models.py:325
#: documents/models.py:327
msgid "level"
msgstr "úroveň"
#: documents/models.py:332
#: documents/models.py:334
msgid "log"
msgstr "záznam"
#: documents/models.py:333
#: documents/models.py:335
msgid "logs"
msgstr "záznamy"
#: documents/models.py:344 documents/models.py:396
#: documents/models.py:346 documents/models.py:396
msgid "saved view"
msgstr "uložený pohled"
#: documents/models.py:345
#: documents/models.py:347
msgid "saved views"
msgstr "uložené pohledy"
#: documents/models.py:348
#: documents/models.py:350
msgid "user"
msgstr "uživatel"
#: documents/models.py:354
#: documents/models.py:356
msgid "show on dashboard"
msgstr "zobrazit v dashboardu"
#: documents/models.py:357
#: documents/models.py:359
msgid "show in sidebar"
msgstr "zobrazit v postranním menu"
#: documents/models.py:361
#: documents/models.py:363
msgid "sort field"
msgstr "pole na řazení"
#: documents/models.py:364
#: documents/models.py:366
msgid "sort reverse"
msgstr "třídit opačně"
#: documents/models.py:370
#: documents/models.py:372
msgid "title contains"
msgstr "titulek obsahuje"
#: documents/models.py:371
#: documents/models.py:373
msgid "content contains"
msgstr "obsah obsahuje"
#: documents/models.py:372
#: documents/models.py:374
msgid "ASN is"
msgstr "ASN je"
#: documents/models.py:373
#: documents/models.py:375
msgid "correspondent is"
msgstr "korespondent je"
#: documents/models.py:374
#: documents/models.py:376
msgid "document type is"
msgstr "typ dokumentu je"
#: documents/models.py:375
#: documents/models.py:377
msgid "is in inbox"
msgstr "je v příchozích"
#: documents/models.py:376
#: documents/models.py:378
msgid "has tag"
msgstr "má tag"
#: documents/models.py:377
#: documents/models.py:379
msgid "has any tag"
msgstr "má jakýkoliv tag"
#: documents/models.py:378
#: documents/models.py:380
msgid "created before"
msgstr "vytvořeno před"
#: documents/models.py:379
#: documents/models.py:381
msgid "created after"
msgstr "vytvořeno po"
#: documents/models.py:380
#: documents/models.py:382
msgid "created year is"
msgstr "rok vytvoření je"
#: documents/models.py:381
#: documents/models.py:383
msgid "created month is"
msgstr "měsíc vytvoření je"
#: documents/models.py:382
#: documents/models.py:384
msgid "created day is"
msgstr "den vytvoření je"
#: documents/models.py:383
#: documents/models.py:385
msgid "added before"
msgstr "přidáno před"
#: documents/models.py:384
#: documents/models.py:386
msgid "added after"
msgstr "přidáno po"
#: documents/models.py:385
#: documents/models.py:387
msgid "modified before"
msgstr "upraveno před"
#: documents/models.py:386
#: documents/models.py:388
msgid "modified after"
msgstr "upraveno po"
#: documents/models.py:387
#: documents/models.py:389
msgid "does not have tag"
msgstr "nemá tag"
#: documents/models.py:388
msgid "does not have ASN"
msgstr ""
#: documents/models.py:389
msgid "title or content contains"
msgstr ""
#: documents/models.py:400
msgid "rule type"
msgstr "typ pravidla"
@@ -350,21 +346,12 @@ msgstr "filtrovací pravidlo"
msgid "filter rules"
msgstr "filtrovací pravidla"
#: documents/serialisers.py:53
#, python-format
msgid "Invalid regular expression: %(error)s"
msgstr ""
#: documents/serialisers.py:177
msgid "Invalid color."
msgstr ""
#: documents/serialisers.py:451
#: documents/serialisers.py:383
#, python-format
msgid "File type %(type)s not supported"
msgstr "Typ souboru %(type)s není podporován"
#: documents/templates/index.html:21
#: documents/templates/index.html:20
msgid "Paperless-ng is loading..."
msgstr "Paperless-ng se načítá..."
@@ -404,47 +391,23 @@ msgstr "Heslo"
msgid "Sign in"
msgstr "Přihlásit se"
#: paperless/settings.py:298
msgid "English (US)"
msgstr ""
#: paperless/settings.py:286
msgid "English"
msgstr "Angličtina"
#: paperless/settings.py:299
msgid "English (GB)"
msgstr ""
#: paperless/settings.py:300
#: paperless/settings.py:287
msgid "German"
msgstr "Němčina"
#: paperless/settings.py:301
#: paperless/settings.py:288
msgid "Dutch"
msgstr "Holandština"
#: paperless/settings.py:302
#: paperless/settings.py:289
msgid "French"
msgstr "Francouzština"
#: paperless/settings.py:303
msgid "Portuguese (Brazil)"
msgstr ""
#: paperless/settings.py:304
msgid "Italian"
msgstr ""
#: paperless/settings.py:305
msgid "Romanian"
msgstr ""
#: paperless/settings.py:306
msgid "Russian"
msgstr ""
#: paperless/settings.py:307
msgid "Spanish"
msgstr ""
#: paperless/urls.py:118
#: paperless/urls.py:114
msgid "Paperless-ng administration"
msgstr "Správa Paperless-ng"
@@ -453,24 +416,37 @@ msgid "Filter"
msgstr "Filtr"
#: paperless_mail/admin.py:27
msgid "Paperless will only process mails that match ALL of the filters given below."
msgstr "Paperless zpracuje pouze emaily které odpovídají VŠEM níže zadaným filtrům."
msgid ""
"Paperless will only process mails that match ALL of the filters given below."
msgstr ""
"Paperless zpracuje pouze emaily které odpovídají VŠEM níže zadaným filtrům."
#: paperless_mail/admin.py:37
msgid "Actions"
msgstr "Akce"
#: paperless_mail/admin.py:39
msgid "The action applied to the mail. This action is only performed when documents were consumed from the mail. Mails without attachments will remain entirely untouched."
msgstr "Akce provedena na emailu. Tato akce je provedena jen pokud byly dokumenty zkonzumovány z emailu. Emaily bez příloh zůstanou nedotčeny."
msgid ""
"The action applied to the mail. This action is only performed when documents"
" were consumed from the mail. Mails without attachments will remain entirely"
" untouched."
msgstr ""
"Akce provedena na emailu. Tato akce je provedena jen pokud byly dokumenty "
"zkonzumovány z emailu. Emaily bez příloh zůstanou nedotčeny."
#: paperless_mail/admin.py:46
msgid "Metadata"
msgstr "Metadata"
#: paperless_mail/admin.py:48
msgid "Assign metadata to documents consumed from this rule automatically. If you do not assign tags, types or correspondents here, paperless will still process all matching rules that you have defined."
msgstr "Automaticky přiřadit metadata dokumentům zkonzumovaných z tohoto pravidla. Pokud zde nepřiřadíte tagy, typy nebo korespondenty, paperless stále zpracuje všechna shodující-se pravidla které jste definovali."
msgid ""
"Assign metadata to documents consumed from this rule automatically. If you "
"do not assign tags, types or correspondents here, paperless will still "
"process all matching rules that you have defined."
msgstr ""
"Automaticky přiřadit metadata dokumentům zkonzumovaných z tohoto pravidla. "
"Pokud zde nepřiřadíte tagy, typy nebo korespondenty, paperless stále "
"zpracuje všechna shodující-se pravidla které jste definovali."
#: paperless_mail/apps.py:9
msgid "Paperless mail"
@@ -505,8 +481,12 @@ msgid "IMAP port"
msgstr "IMAP port"
#: paperless_mail/models.py:36
msgid "This is usually 143 for unencrypted and STARTTLS connections, and 993 for SSL connections."
msgstr "Toto je většinou 143 pro nešifrovaná připojení/připojení používající STARTTLS a 993 pro SSL připojení."
msgid ""
"This is usually 143 for unencrypted and STARTTLS connections, and 993 for "
"SSL connections."
msgstr ""
"Toto je většinou 143 pro nešifrovaná připojení/připojení používající "
"STARTTLS a 993 pro SSL připojení."
#: paperless_mail/models.py:40
msgid "IMAP security"
@@ -605,8 +585,13 @@ msgid "filter attachment filename"
msgstr "název souboru u přílohy filtru"
#: paperless_mail/models.py:140
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
msgstr "Konzumovat jen dokumenty které přesně odpovídají tomuto názvu souboru pokud specifikováno. Zástupné znaky jako *.pdf nebo *invoice* jsou povoleny. Nezáleží na velikosti písmen."
msgid ""
"Only consume documents which entirely match this filename if specified. "
"Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
msgstr ""
"Konzumovat jen dokumenty které přesně odpovídají tomuto názvu souboru pokud "
"specifikováno. Zástupné znaky jako *.pdf nebo *invoice* jsou povoleny. "
"Nezáleží na velikosti písmen."
#: paperless_mail/models.py:146
msgid "maximum age"
@@ -621,8 +606,12 @@ msgid "attachment type"
msgstr "typ přílohy"
#: paperless_mail/models.py:154
msgid "Inline attachments include embedded images, so it's best to combine this option with a filename filter."
msgstr "Vložené přílohy zahrnují vložené obrázky, takže je nejlepší tuto možnost kombinovat s filtrem na název souboru"
msgid ""
"Inline attachments include embedded images, so it's best to combine this "
"option with a filename filter."
msgstr ""
"Vložené přílohy zahrnují vložené obrázky, takže je nejlepší tuto možnost "
"kombinovat s filtrem na název souboru"
#: paperless_mail/models.py:159
msgid "action"
@@ -633,8 +622,12 @@ msgid "action parameter"
msgstr "parametr akce"
#: paperless_mail/models.py:167
msgid "Additional parameter for the action selected above, i.e., the target folder of the move to folder action."
msgstr "Další parametr pro výše vybranou akci, napříkad cílová složka akce přesunutí do složky."
msgid ""
"Additional parameter for the action selected above, i.e., the target folder "
"of the move to folder action."
msgstr ""
"Další parametr pro výše vybranou akci, napříkad cílová složka akce přesunutí"
" do složky."
#: paperless_mail/models.py:173
msgid "assign title from"
@@ -655,4 +648,3 @@ msgstr "přiřadit korespondenta z"
#: paperless_mail/models.py:205
msgid "assign this correspondent"
msgstr "přiřadit tohoto korespondenta"
@@ -1,21 +1,25 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Jonas Winkler, 2021
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: paperless-ng\n"
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-03-14 13:33+0100\n"
"PO-Revision-Date: 2021-03-14 13:58\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Language: de_DE\n"
"POT-Creation-Date: 2021-02-28 12:40+0100\n"
"PO-Revision-Date: 2021-02-16 18:37+0000\n"
"Last-Translator: Jonas Winkler, 2021\n"
"Language-Team: German (https://www.transifex.com/paperless/teams/115905/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: paperless-ng\n"
"X-Crowdin-Project-ID: 434940\n"
"X-Crowdin-Language: de\n"
"X-Crowdin-File: /dev/src/locale/en_US/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 54\n"
#: documents/apps.py:10
msgid "Documents"
@@ -79,8 +83,12 @@ msgid "is inbox tag"
msgstr "Posteingangs-Tag"
#: documents/models.py:89
msgid "Marks this tag as an inbox tag: All newly consumed documents will be tagged with inbox tags."
msgstr "Markiert das Tag als Posteingangs-Tag. Neue Dokumente werden immer mit diesem Tag versehen."
msgid ""
"Marks this tag as an inbox tag: All newly consumed documents will be tagged "
"with inbox tags."
msgstr ""
"Markiert das Tag als Posteingangs-Tag. Neue Dokumente werden immer mit "
"diesem Tag versehen."
#: documents/models.py:94
msgid "tag"
@@ -115,8 +123,12 @@ msgid "content"
msgstr "Inhalt"
#: documents/models.py:139
msgid "The raw, text-only data of the document. This field is primarily used for searching."
msgstr "Der Inhalt des Dokuments in Textform. Dieses Feld wird primär für die Suche verwendet."
msgid ""
"The raw, text-only data of the document. This field is primarily used for "
"searching."
msgstr ""
"Der Inhalt des Dokuments in Textform. Dieses Feld wird primär für die Suche "
"verwendet."
#: documents/models.py:144
msgid "mime type"
@@ -226,7 +238,7 @@ msgstr "Protokoll"
msgid "logs"
msgstr "Protokoll"
#: documents/models.py:344 documents/models.py:396
#: documents/models.py:344 documents/models.py:394
msgid "saved view"
msgstr "Gespeicherte Ansicht"
@@ -326,33 +338,25 @@ msgstr "Geändert nach"
msgid "does not have tag"
msgstr "Hat nicht folgendes Tag"
#: documents/models.py:388
msgid "does not have ASN"
msgstr "Dokument hat keine ASN"
#: documents/models.py:389
msgid "title or content contains"
msgstr "Titel oder Inhalt enthält"
#: documents/models.py:400
#: documents/models.py:398
msgid "rule type"
msgstr "Regeltyp"
#: documents/models.py:404
#: documents/models.py:402
msgid "value"
msgstr "Wert"
#: documents/models.py:410
#: documents/models.py:408
msgid "filter rule"
msgstr "Filterregel"
#: documents/models.py:411
#: documents/models.py:409
msgid "filter rules"
msgstr "Filterregeln"
#: documents/serialisers.py:53
#, python-format
msgid "Invalid regular expression: %(error)s"
msgid "Invalid regular expresssion: %(error)s"
msgstr "Ungültiger regulärer Ausdruck: %(error)s"
#: documents/serialisers.py:177
@@ -390,7 +394,9 @@ msgstr "Bitte melden Sie sich an."
#: documents/templates/registration/login.html:45
msgid "Your username and password didn't match. Please try again."
msgstr "Ihr Benutzername und Kennwort stimmen nicht überein. Bitte versuchen Sie es erneut."
msgstr ""
"Ihr Benutzername und Passwort stimmen nicht überein. Bitte versuchen Sie es "
"erneut."
#: documents/templates/registration/login.html:48
msgid "Username"
@@ -398,52 +404,44 @@ msgstr "Benutzername"
#: documents/templates/registration/login.html:49
msgid "Password"
msgstr "Kennwort"
msgstr "Passwort"
#: documents/templates/registration/login.html:54
msgid "Sign in"
msgstr "Anmelden"
#: paperless/settings.py:298
#: paperless/settings.py:297
msgid "English (US)"
msgstr "Englisch (US)"
#: paperless/settings.py:299
#: paperless/settings.py:298
msgid "English (GB)"
msgstr "Englisch (UK)"
#: paperless/settings.py:300
#: paperless/settings.py:299
msgid "German"
msgstr "Deutsch"
#: paperless/settings.py:301
#: paperless/settings.py:300
msgid "Dutch"
msgstr "Niederländisch"
#: paperless/settings.py:302
#: paperless/settings.py:301
msgid "French"
msgstr "Französisch"
#: paperless/settings.py:303
#: paperless/settings.py:302
msgid "Portuguese (Brazil)"
msgstr "Portugiesisch (Brasilien)"
#: paperless/settings.py:304
#: paperless/settings.py:303
msgid "Italian"
msgstr "Italienisch"
#: paperless/settings.py:305
#: paperless/settings.py:304
msgid "Romanian"
msgstr "Rumänisch"
#: paperless/settings.py:306
msgid "Russian"
msgstr "Russisch"
#: paperless/settings.py:307
msgid "Spanish"
msgstr "Spanisch"
#: paperless/urls.py:118
msgid "Paperless-ng administration"
msgstr "Paperless-ng Administration"
@@ -453,24 +451,40 @@ msgid "Filter"
msgstr "Filter"
#: paperless_mail/admin.py:27
msgid "Paperless will only process mails that match ALL of the filters given below."
msgstr "Paperless wird nur E-Mails verarbeiten, für die alle der hier angegebenen Filter zutreffen."
msgid ""
"Paperless will only process mails that match ALL of the filters given below."
msgstr ""
"Paperless wird nur E-Mails verarbeiten, für die alle der hier angegebenen "
"Filter zutreffen."
#: paperless_mail/admin.py:37
msgid "Actions"
msgstr "Aktionen"
#: paperless_mail/admin.py:39
msgid "The action applied to the mail. This action is only performed when documents were consumed from the mail. Mails without attachments will remain entirely untouched."
msgstr "Die Aktion, die auf E-Mails angewendet werden soll. Diese Aktion wird nur auf E-Mails angewendet, aus denen Anhänge verarbeitet wurden. E-Mails ohne Anhänge werden vollständig ignoriert."
msgid ""
"The action applied to the mail. This action is only performed when documents"
" were consumed from the mail. Mails without attachments will remain entirely"
" untouched."
msgstr ""
"Die Aktion, die auf E-Mails angewendet werden soll. Diese Aktion wird nur "
"auf E-Mails angewendet, aus denen Anhänge verarbeitet wurden. E-Mails ohne "
"Anhänge werden vollständig ignoriert."
#: paperless_mail/admin.py:46
msgid "Metadata"
msgstr "Metadaten"
#: paperless_mail/admin.py:48
msgid "Assign metadata to documents consumed from this rule automatically. If you do not assign tags, types or correspondents here, paperless will still process all matching rules that you have defined."
msgstr "Folgende Metadaten werden Dokumenten dieser Regel automatisch zugewiesen. Wenn Sie hier nichts auswählen wird Paperless weiterhin alle Zuweisungsalgorithmen ausführen und Metadaten auf Basis des Dokumentinhalts zuweisen."
msgid ""
"Assign metadata to documents consumed from this rule automatically. If you "
"do not assign tags, types or correspondents here, paperless will still "
"process all matching rules that you have defined."
msgstr ""
"Folgende Metadaten werden Dokumenten dieser Regel automatisch zugewiesen. "
"Wenn Sie hier nichts auswählen wird Paperless weiterhin alle "
"Zuweisungsalgorithmen ausführen und Metadaten auf Basis des Dokumentinhalts "
"zuweisen."
#: paperless_mail/apps.py:9
msgid "Paperless mail"
@@ -505,8 +519,12 @@ msgid "IMAP port"
msgstr "IMAP-Port"
#: paperless_mail/models.py:36
msgid "This is usually 143 for unencrypted and STARTTLS connections, and 993 for SSL connections."
msgstr "Dies ist in der Regel 143 für unverschlüsselte und STARTTLS-Verbindungen und 993 für SSL-Verbindungen."
msgid ""
"This is usually 143 for unencrypted and STARTTLS connections, and 993 for "
"SSL connections."
msgstr ""
"Dies ist in der Regel 143 für unverschlüsselte und STARTTLS-Verbindungen und"
" 993 für SSL-Verbindungen."
#: paperless_mail/models.py:40
msgid "IMAP security"
@@ -518,7 +536,7 @@ msgstr "Benutzername"
#: paperless_mail/models.py:50
msgid "password"
msgstr "Kennwort"
msgstr "Passwort"
#: paperless_mail/models.py:60
msgid "mail rule"
@@ -605,8 +623,13 @@ msgid "filter attachment filename"
msgstr "Anhang-Dateiname filtern"
#: paperless_mail/models.py:140
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
msgstr "Wenn angegeben werden nur Dateien verarbeitet, die diesem Dateinamen exakt entsprechen. Platzhalter wie *.pdf oder *rechnung* sind erlaubt. Groß- und Kleinschreibung ist irrelevant."
msgid ""
"Only consume documents which entirely match this filename if specified. "
"Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
msgstr ""
"Wenn angegeben werden nur Dateien verarbeitet, die diesem Dateinamen exakt "
"entsprechen. Platzhalter wie *.pdf oder *rechnung* sind erlaubt. Groß- und "
"Kleinschreibung ist irrelevant."
#: paperless_mail/models.py:146
msgid "maximum age"
@@ -621,8 +644,12 @@ msgid "attachment type"
msgstr "Dateianhangstyp"
#: paperless_mail/models.py:154
msgid "Inline attachments include embedded images, so it's best to combine this option with a filename filter."
msgstr "'Inline'-Anhänge schließen eingebettete Bilder mit ein, daher sollte diese Einstellung mit einem Dateinamenfilter kombiniert werden."
msgid ""
"Inline attachments include embedded images, so it's best to combine this "
"option with a filename filter."
msgstr ""
"'Inline'-Anhänge schließen eingebettete Bilder mit ein, daher sollte diese "
"Einstellung mit einem Dateinamenfilter kombiniert werden."
#: paperless_mail/models.py:159
msgid "action"
@@ -633,8 +660,12 @@ msgid "action parameter"
msgstr "Parameter für Aktion"
#: paperless_mail/models.py:167
msgid "Additional parameter for the action selected above, i.e., the target folder of the move to folder action."
msgstr "Zusätzlicher Parameter für die oben ausgewählte Aktion, zum Beispiel der Zielordner für die Aktion \"In angegebenen Ordner verschieben\"."
msgid ""
"Additional parameter for the action selected above, i.e., the target folder "
"of the move to folder action."
msgstr ""
"Zusätzlicher Parameter für die oben ausgewählte Aktion, zum Beispiel der "
"Zielordner für die Aktion \"In angegebenen Ordner verschieben\""
#: paperless_mail/models.py:173
msgid "assign title from"
@@ -655,4 +686,3 @@ msgstr "Korrespondent zuweisen von"
#: paperless_mail/models.py:205
msgid "assign this correspondent"
msgstr "Diesen Korrespondent zuweisen"
+86 -64
View File
@@ -1,21 +1,26 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Ali Bates, 2021
# Jonas Winkler, 2021
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: paperless-ng\n"
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-03-14 13:33+0100\n"
"PO-Revision-Date: 2021-03-14 13:57\n"
"Last-Translator: \n"
"Language-Team: English, United Kingdom\n"
"Language: en_GB\n"
"POT-Creation-Date: 2021-02-26 12:56+0100\n"
"PO-Revision-Date: 2021-02-16 18:37+0000\n"
"Last-Translator: Jonas Winkler, 2021\n"
"Language-Team: English (United Kingdom) (https://www.transifex.com/paperless/teams/115905/en_GB/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: en_GB\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: paperless-ng\n"
"X-Crowdin-Project-ID: 434940\n"
"X-Crowdin-Language: en-GB\n"
"X-Crowdin-File: /dev/src/locale/en_US/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 54\n"
#: documents/apps.py:10
msgid "Documents"
@@ -79,8 +84,12 @@ msgid "is inbox tag"
msgstr "is inbox tag"
#: documents/models.py:89
msgid "Marks this tag as an inbox tag: All newly consumed documents will be tagged with inbox tags."
msgstr "Marks this tag as an inbox tag: All newly consumed documents will be tagged with inbox tags."
msgid ""
"Marks this tag as an inbox tag: All newly consumed documents will be tagged "
"with inbox tags."
msgstr ""
"Marks this tag as an inbox tag: All newly consumed documents will be tagged "
"with inbox tags."
#: documents/models.py:94
msgid "tag"
@@ -115,8 +124,12 @@ msgid "content"
msgstr "content"
#: documents/models.py:139
msgid "The raw, text-only data of the document. This field is primarily used for searching."
msgstr "The raw, text-only data of the document. This field is primarily used for searching."
msgid ""
"The raw, text-only data of the document. This field is primarily used for "
"searching."
msgstr ""
"The raw, text-only data of the document. This field is primarily used for "
"searching."
#: documents/models.py:144
msgid "mime type"
@@ -226,7 +239,7 @@ msgstr "log"
msgid "logs"
msgstr "logs"
#: documents/models.py:344 documents/models.py:396
#: documents/models.py:344 documents/models.py:394
msgid "saved view"
msgstr "saved view"
@@ -326,34 +339,26 @@ msgstr "modified after"
msgid "does not have tag"
msgstr "does not have tag"
#: documents/models.py:388
msgid "does not have ASN"
msgstr "does not have ASN"
#: documents/models.py:389
msgid "title or content contains"
msgstr "title or content contains"
#: documents/models.py:400
#: documents/models.py:398
msgid "rule type"
msgstr "rule type"
#: documents/models.py:404
#: documents/models.py:402
msgid "value"
msgstr "value"
#: documents/models.py:410
#: documents/models.py:408
msgid "filter rule"
msgstr "filter rule"
#: documents/models.py:411
#: documents/models.py:409
msgid "filter rules"
msgstr "filter rules"
#: documents/serialisers.py:53
#, python-format
msgid "Invalid regular expression: %(error)s"
msgstr "Invalid regular expression: %(error)s"
msgid "Invalid regular expresssion: %(error)s"
msgstr "Invalid regular expresssion: %(error)s"
#: documents/serialisers.py:177
msgid "Invalid color."
@@ -404,46 +409,34 @@ msgstr "Password"
msgid "Sign in"
msgstr "Sign in"
#: paperless/settings.py:298
#: paperless/settings.py:297
msgid "English (US)"
msgstr "English (US)"
#: paperless/settings.py:299
#: paperless/settings.py:298
msgid "English (GB)"
msgstr "English (GB)"
#: paperless/settings.py:300
#: paperless/settings.py:299
msgid "German"
msgstr "German"
#: paperless/settings.py:301
#: paperless/settings.py:300
msgid "Dutch"
msgstr "Dutch"
#: paperless/settings.py:302
#: paperless/settings.py:301
msgid "French"
msgstr "French"
#: paperless/settings.py:303
#: paperless/settings.py:302
msgid "Portuguese (Brazil)"
msgstr "Portuguese (Brazil)"
#: paperless/settings.py:304
#: paperless/settings.py:303
msgid "Italian"
msgstr "Italian"
#: paperless/settings.py:305
msgid "Romanian"
msgstr "Romanian"
#: paperless/settings.py:306
msgid "Russian"
msgstr "Russian"
#: paperless/settings.py:307
msgid "Spanish"
msgstr ""
#: paperless/urls.py:118
msgid "Paperless-ng administration"
msgstr "Paperless-ng administration"
@@ -453,24 +446,38 @@ msgid "Filter"
msgstr "Filter"
#: paperless_mail/admin.py:27
msgid "Paperless will only process mails that match ALL of the filters given below."
msgstr "Paperless will only process mails that match ALL of the filters given below."
msgid ""
"Paperless will only process mails that match ALL of the filters given below."
msgstr ""
"Paperless will only process mails that match ALL of the filters given below."
#: paperless_mail/admin.py:37
msgid "Actions"
msgstr "Actions"
#: paperless_mail/admin.py:39
msgid "The action applied to the mail. This action is only performed when documents were consumed from the mail. Mails without attachments will remain entirely untouched."
msgstr "The action applied to the mail. This action is only performed when documents were consumed from the mail. Mails without attachments will remain entirely untouched."
msgid ""
"The action applied to the mail. This action is only performed when documents"
" were consumed from the mail. Mails without attachments will remain entirely"
" untouched."
msgstr ""
"The action applied to the mail. This action is only performed when documents"
" were consumed from the mail. Mails without attachments will remain entirely"
" untouched."
#: paperless_mail/admin.py:46
msgid "Metadata"
msgstr "Metadata"
#: paperless_mail/admin.py:48
msgid "Assign metadata to documents consumed from this rule automatically. If you do not assign tags, types or correspondents here, paperless will still process all matching rules that you have defined."
msgstr "Assign metadata to documents consumed from this rule automatically. If you do not assign tags, types or correspondents here, paperless will still process all matching rules that you have defined."
msgid ""
"Assign metadata to documents consumed from this rule automatically. If you "
"do not assign tags, types or correspondents here, paperless will still "
"process all matching rules that you have defined."
msgstr ""
"Assign metadata to documents consumed from this rule automatically. If you "
"do not assign tags, types or correspondents here, paperless will still "
"process all matching rules that you have defined."
#: paperless_mail/apps.py:9
msgid "Paperless mail"
@@ -505,8 +512,12 @@ msgid "IMAP port"
msgstr "IMAP port"
#: paperless_mail/models.py:36
msgid "This is usually 143 for unencrypted and STARTTLS connections, and 993 for SSL connections."
msgstr "This is usually 143 for unencrypted and STARTTLS connections, and 993 for SSL connections."
msgid ""
"This is usually 143 for unencrypted and STARTTLS connections, and 993 for "
"SSL connections."
msgstr ""
"This is usually 143 for unencrypted and STARTTLS connections, and 993 for "
"SSL connections."
#: paperless_mail/models.py:40
msgid "IMAP security"
@@ -605,8 +616,12 @@ msgid "filter attachment filename"
msgstr "filter attachment filename"
#: paperless_mail/models.py:140
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
msgstr "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
msgid ""
"Only consume documents which entirely match this filename if specified. "
"Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
msgstr ""
"Only consume documents which entirely match this filename if specified. "
"Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
#: paperless_mail/models.py:146
msgid "maximum age"
@@ -621,8 +636,12 @@ msgid "attachment type"
msgstr "attachment type"
#: paperless_mail/models.py:154
msgid "Inline attachments include embedded images, so it's best to combine this option with a filename filter."
msgstr "Inline attachments include embedded images, so it's best to combine this option with a filename filter."
msgid ""
"Inline attachments include embedded images, so it's best to combine this "
"option with a filename filter."
msgstr ""
"Inline attachments include embedded images, so it's best to combine this "
"option with a filename filter."
#: paperless_mail/models.py:159
msgid "action"
@@ -633,8 +652,12 @@ msgid "action parameter"
msgstr "action parameter"
#: paperless_mail/models.py:167
msgid "Additional parameter for the action selected above, i.e., the target folder of the move to folder action."
msgstr "Additional parameter for the action selected above, i.e., the target folder of the move to folder action."
msgid ""
"Additional parameter for the action selected above, i.e., the target folder "
"of the move to folder action."
msgstr ""
"Additional parameter for the action selected above, i.e., the target folder "
"of the move to folder action."
#: paperless_mail/models.py:173
msgid "assign title from"
@@ -655,4 +678,3 @@ msgstr "assign correspondent from"
#: paperless_mail/models.py:205
msgid "assign this correspondent"
msgstr "assign this correspondent"
+15 -31
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-03-14 13:33+0100\n"
"POT-Creation-Date: 2021-02-28 12:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -230,7 +230,7 @@ msgstr ""
msgid "logs"
msgstr ""
#: documents/models.py:344 documents/models.py:396
#: documents/models.py:344 documents/models.py:394
msgid "saved view"
msgstr ""
@@ -330,33 +330,25 @@ msgstr ""
msgid "does not have tag"
msgstr ""
#: documents/models.py:388
msgid "does not have ASN"
msgstr ""
#: documents/models.py:389
msgid "title or content contains"
msgstr ""
#: documents/models.py:400
#: documents/models.py:398
msgid "rule type"
msgstr ""
#: documents/models.py:404
#: documents/models.py:402
msgid "value"
msgstr ""
#: documents/models.py:410
#: documents/models.py:408
msgid "filter rule"
msgstr ""
#: documents/models.py:411
#: documents/models.py:409
msgid "filter rules"
msgstr ""
#: documents/serialisers.py:53
#, python-format
msgid "Invalid regular expression: %(error)s"
msgid "Invalid regular expresssion: %(error)s"
msgstr ""
#: documents/serialisers.py:177
@@ -408,46 +400,38 @@ msgstr ""
msgid "Sign in"
msgstr ""
#: paperless/settings.py:298
#: paperless/settings.py:297
msgid "English (US)"
msgstr ""
#: paperless/settings.py:299
#: paperless/settings.py:298
msgid "English (GB)"
msgstr ""
#: paperless/settings.py:300
#: paperless/settings.py:299
msgid "German"
msgstr ""
#: paperless/settings.py:301
#: paperless/settings.py:300
msgid "Dutch"
msgstr ""
#: paperless/settings.py:302
#: paperless/settings.py:301
msgid "French"
msgstr ""
#: paperless/settings.py:303
#: paperless/settings.py:302
msgid "Portuguese (Brazil)"
msgstr ""
#: paperless/settings.py:304
#: paperless/settings.py:303
msgid "Italian"
msgstr ""
#: paperless/settings.py:305
#: paperless/settings.py:304
msgid "Romanian"
msgstr ""
#: paperless/settings.py:306
msgid "Russian"
msgstr ""
#: paperless/settings.py:307
msgid "Spanish"
msgstr ""
#: paperless/urls.py:118
msgid "Paperless-ng administration"
msgstr ""
-658
View File
@@ -1,658 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: paperless-ng\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-03-14 13:33+0100\n"
"PO-Revision-Date: 2021-03-14 13:58\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
"Language: es_ES\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: paperless-ng\n"
"X-Crowdin-Project-ID: 434940\n"
"X-Crowdin-Language: es-ES\n"
"X-Crowdin-File: /dev/src/locale/en_US/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 54\n"
#: documents/apps.py:10
msgid "Documents"
msgstr "Documentos"
#: documents/models.py:32
msgid "Any word"
msgstr "Cualquier palabra"
#: documents/models.py:33
msgid "All words"
msgstr "Todas las palabras"
#: documents/models.py:34
msgid "Exact match"
msgstr "Coincidencia exacta"
#: documents/models.py:35
msgid "Regular expression"
msgstr "Expresión regular"
#: documents/models.py:36
msgid "Fuzzy word"
msgstr "Palabra borrosa"
#: documents/models.py:37
msgid "Automatic"
msgstr "Automático"
#: documents/models.py:41 documents/models.py:350 paperless_mail/models.py:25
#: paperless_mail/models.py:109
msgid "name"
msgstr "nombre"
#: documents/models.py:45
msgid "match"
msgstr "coincidencia"
#: documents/models.py:49
msgid "matching algorithm"
msgstr "Algoritmo de coincidencia"
#: documents/models.py:55
msgid "is insensitive"
msgstr "es insensible"
#: documents/models.py:74 documents/models.py:120
msgid "correspondent"
msgstr "Tipo de documento"
#: documents/models.py:75
msgid "correspondents"
msgstr "Tipos de documento"
#: documents/models.py:81
msgid "color"
msgstr "color"
#: documents/models.py:87
msgid "is inbox tag"
msgstr "es etiqueta de bandeja"
#: documents/models.py:89
msgid "Marks this tag as an inbox tag: All newly consumed documents will be tagged with inbox tags."
msgstr "Marca esta etiqueta como una etiqueta de bandeja: todos los documentos recién consumidos serán etiquetados con las etiquetas de bandeja."
#: documents/models.py:94
msgid "tag"
msgstr "etiqueta"
#: documents/models.py:95 documents/models.py:151
msgid "tags"
msgstr "etiquetas"
#: documents/models.py:101 documents/models.py:133
msgid "document type"
msgstr "tipo de documento"
#: documents/models.py:102
msgid "document types"
msgstr "tipos de documento"
#: documents/models.py:110
msgid "Unencrypted"
msgstr "Sin encriptar"
#: documents/models.py:111
msgid "Encrypted with GNU Privacy Guard"
msgstr "Encriptado con GNU Privacy Guard"
#: documents/models.py:124
msgid "title"
msgstr "titulo"
#: documents/models.py:137
msgid "content"
msgstr "contenido"
#: documents/models.py:139
msgid "The raw, text-only data of the document. This field is primarily used for searching."
msgstr "Los datos de texto en bruto del documento. Este campo se utiliza principalmente para las búsquedas."
#: documents/models.py:144
msgid "mime type"
msgstr "tipo MIME"
#: documents/models.py:155
msgid "checksum"
msgstr "Cadena de verificación"
#: documents/models.py:159
msgid "The checksum of the original document."
msgstr "La cadena de verificación del documento original."
#: documents/models.py:163
msgid "archive checksum"
msgstr "cadena de comprobación del archivo"
#: documents/models.py:168
msgid "The checksum of the archived document."
msgstr "La cadena de verificación del documento archivado."
#: documents/models.py:172 documents/models.py:328
msgid "created"
msgstr "creado"
#: documents/models.py:176
msgid "modified"
msgstr "modificado"
#: documents/models.py:180
msgid "storage type"
msgstr "tipo de almacenamiento"
#: documents/models.py:188
msgid "added"
msgstr "añadido"
#: documents/models.py:192
msgid "filename"
msgstr "nombre del archivo"
#: documents/models.py:198
msgid "Current filename in storage"
msgstr "Nombre de archivo actual en disco"
#: documents/models.py:202
msgid "archive filename"
msgstr "nombre de archivo"
#: documents/models.py:208
msgid "Current archive filename in storage"
msgstr "Nombre de archivo actual en disco"
#: documents/models.py:212
msgid "archive serial number"
msgstr "número de serie del archivo"
#: documents/models.py:217
msgid "The position of this document in your physical document archive."
msgstr "Posición de este documento en tu archivo físico de documentos."
#: documents/models.py:223
msgid "document"
msgstr "documento"
#: documents/models.py:224
msgid "documents"
msgstr "documentos"
#: documents/models.py:311
msgid "debug"
msgstr "depuración"
#: documents/models.py:312
msgid "information"
msgstr "información"
#: documents/models.py:313
msgid "warning"
msgstr "alerta"
#: documents/models.py:314
msgid "error"
msgstr "error"
#: documents/models.py:315
msgid "critical"
msgstr "crítico"
#: documents/models.py:319
msgid "group"
msgstr "grupo"
#: documents/models.py:322
msgid "message"
msgstr "mensaje"
#: documents/models.py:325
msgid "level"
msgstr "nivel"
#: documents/models.py:332
msgid "log"
msgstr "log"
#: documents/models.py:333
msgid "logs"
msgstr "logs"
#: documents/models.py:344 documents/models.py:396
msgid "saved view"
msgstr "vista guardada"
#: documents/models.py:345
msgid "saved views"
msgstr "vistas guardadas"
#: documents/models.py:348
msgid "user"
msgstr "usuario"
#: documents/models.py:354
msgid "show on dashboard"
msgstr "mostrar en el panel de control"
#: documents/models.py:357
msgid "show in sidebar"
msgstr "mostrar en barra lateral"
#: documents/models.py:361
msgid "sort field"
msgstr "campo de ordenación"
#: documents/models.py:364
msgid "sort reverse"
msgstr "ordenar al revés"
#: documents/models.py:370
msgid "title contains"
msgstr "el titulo contiene"
#: documents/models.py:371
msgid "content contains"
msgstr "el contenido contiene"
#: documents/models.py:372
msgid "ASN is"
msgstr "ASN es"
#: documents/models.py:373
msgid "correspondent is"
msgstr "tipo de documento es"
#: documents/models.py:374
msgid "document type is"
msgstr "el tipo de documento es"
#: documents/models.py:375
msgid "is in inbox"
msgstr "está en la bandeja de entrada"
#: documents/models.py:376
msgid "has tag"
msgstr "tiene la etiqueta"
#: documents/models.py:377
msgid "has any tag"
msgstr "tiene cualquier etiqueta"
#: documents/models.py:378
msgid "created before"
msgstr "creado antes"
#: documents/models.py:379
msgid "created after"
msgstr "creado después"
#: documents/models.py:380
msgid "created year is"
msgstr "el año de creación es"
#: documents/models.py:381
msgid "created month is"
msgstr "el mes de creación es"
#: documents/models.py:382
msgid "created day is"
msgstr "creado el día"
#: documents/models.py:383
msgid "added before"
msgstr "agregado antes de"
#: documents/models.py:384
msgid "added after"
msgstr "agregado después de"
#: documents/models.py:385
msgid "modified before"
msgstr "modificado después de"
#: documents/models.py:386
msgid "modified after"
msgstr "modificado antes de"
#: documents/models.py:387
msgid "does not have tag"
msgstr "no tiene la etiqueta"
#: documents/models.py:388
msgid "does not have ASN"
msgstr "no tiene ASN"
#: documents/models.py:389
msgid "title or content contains"
msgstr "el título o cuerpo contiene"
#: documents/models.py:400
msgid "rule type"
msgstr "tipo de regla"
#: documents/models.py:404
msgid "value"
msgstr "valor"
#: documents/models.py:410
msgid "filter rule"
msgstr "regla de filtrado"
#: documents/models.py:411
msgid "filter rules"
msgstr "reglas de filtrado"
#: documents/serialisers.py:53
#, python-format
msgid "Invalid regular expression: %(error)s"
msgstr "Expresión irregular inválida: %(error)s"
#: documents/serialisers.py:177
msgid "Invalid color."
msgstr "Color inválido."
#: documents/serialisers.py:451
#, python-format
msgid "File type %(type)s not supported"
msgstr "Tipo de fichero %(type)s no suportado"
#: documents/templates/index.html:21
msgid "Paperless-ng is loading..."
msgstr "Paperless-ng está cargándose..."
#: documents/templates/registration/logged_out.html:13
msgid "Paperless-ng signed out"
msgstr "Paperless-ng Sesión cerrada"
#: documents/templates/registration/logged_out.html:41
msgid "You have been successfully logged out. Bye!"
msgstr "Has cerrado la sesión satisfactoriamente. ¡Adiós!"
#: documents/templates/registration/logged_out.html:42
msgid "Sign in again"
msgstr "Iniciar sesión de nuevo"
#: documents/templates/registration/login.html:13
msgid "Paperless-ng sign in"
msgstr "Paperless-ng Iniciar sesión"
#: documents/templates/registration/login.html:42
msgid "Please sign in."
msgstr "Por favor, inicie sesión"
#: documents/templates/registration/login.html:45
msgid "Your username and password didn't match. Please try again."
msgstr "Tu usuario y contraseña no coinciden. Inténtalo de nuevo."
#: documents/templates/registration/login.html:48
msgid "Username"
msgstr "Usuario"
#: documents/templates/registration/login.html:49
msgid "Password"
msgstr "Contraseña"
#: documents/templates/registration/login.html:54
msgid "Sign in"
msgstr "Iniciar sesión"
#: paperless/settings.py:298
msgid "English (US)"
msgstr "Inglés (US)"
#: paperless/settings.py:299
msgid "English (GB)"
msgstr "Inglés (Gran Bretaña)"
#: paperless/settings.py:300
msgid "German"
msgstr "Alemán"
#: paperless/settings.py:301
msgid "Dutch"
msgstr "Alemán"
#: paperless/settings.py:302
msgid "French"
msgstr "Francés"
#: paperless/settings.py:303
msgid "Portuguese (Brazil)"
msgstr "Portugués (Brasil)"
#: paperless/settings.py:304
msgid "Italian"
msgstr "Italiano"
#: paperless/settings.py:305
msgid "Romanian"
msgstr "Rumano"
#: paperless/settings.py:306
msgid "Russian"
msgstr "Ruso"
#: paperless/settings.py:307
msgid "Spanish"
msgstr ""
#: paperless/urls.py:118
msgid "Paperless-ng administration"
msgstr "Paperless-ng Administración"
#: paperless_mail/admin.py:25
msgid "Filter"
msgstr "Filtro"
#: paperless_mail/admin.py:27
msgid "Paperless will only process mails that match ALL of the filters given below."
msgstr "Paperless solo procesará los correos que coincidan con TODOS los filtros escritos abajo."
#: paperless_mail/admin.py:37
msgid "Actions"
msgstr "Acciones"
#: paperless_mail/admin.py:39
msgid "The action applied to the mail. This action is only performed when documents were consumed from the mail. Mails without attachments will remain entirely untouched."
msgstr "La acción aplicada al correo. Esta acción solo se realiza cuando los documentos se consumen del correo. Los correos sin archivos adjuntos permanecerán totalmente intactos."
#: paperless_mail/admin.py:46
msgid "Metadata"
msgstr "Metadatos"
#: paperless_mail/admin.py:48
msgid "Assign metadata to documents consumed from this rule automatically. If you do not assign tags, types or correspondents here, paperless will still process all matching rules that you have defined."
msgstr "Asignar metadatos a documentos consumidos por esta regla automáticamente. Si no asigna etiquetas, o ipos aquí, paperless procesará igualmente todas las reglas que haya definido."
#: paperless_mail/apps.py:9
msgid "Paperless mail"
msgstr "Correo Paperless"
#: paperless_mail/models.py:11
msgid "mail account"
msgstr "cuenta de correo"
#: paperless_mail/models.py:12
msgid "mail accounts"
msgstr "cuentas de correo"
#: paperless_mail/models.py:19
msgid "No encryption"
msgstr "Sin encriptar"
#: paperless_mail/models.py:20
msgid "Use SSL"
msgstr "Usar SSL"
#: paperless_mail/models.py:21
msgid "Use STARTTLS"
msgstr "Usar STARTTLS"
#: paperless_mail/models.py:29
msgid "IMAP server"
msgstr "Servidor IMAP"
#: paperless_mail/models.py:33
msgid "IMAP port"
msgstr "Puerto IMAP"
#: paperless_mail/models.py:36
msgid "This is usually 143 for unencrypted and STARTTLS connections, and 993 for SSL connections."
msgstr "Normalmente 143 para conexiones sin encriptar y STARTTLS, y 993 para conexiones SSL."
#: paperless_mail/models.py:40
msgid "IMAP security"
msgstr "Seguridad IMAP"
#: paperless_mail/models.py:46
msgid "username"
msgstr "usuario"
#: paperless_mail/models.py:50
msgid "password"
msgstr "contraseña"
#: paperless_mail/models.py:60
msgid "mail rule"
msgstr "regla de correo"
#: paperless_mail/models.py:61
msgid "mail rules"
msgstr "reglas de correo"
#: paperless_mail/models.py:67
msgid "Only process attachments."
msgstr "Solo procesar ficheros adjuntos."
#: paperless_mail/models.py:68
msgid "Process all files, including 'inline' attachments."
msgstr "Procesar todos los ficheros, incluyendo ficheros 'incrustados'."
#: paperless_mail/models.py:78
msgid "Mark as read, don't process read mails"
msgstr "Marcar como leído, no procesar archivos leídos"
#: paperless_mail/models.py:79
msgid "Flag the mail, don't process flagged mails"
msgstr "Marcar el correo, no procesar correos marcados"
#: paperless_mail/models.py:80
msgid "Move to specified folder"
msgstr "Mover a carpeta específica"
#: paperless_mail/models.py:81
msgid "Delete"
msgstr "Borrar"
#: paperless_mail/models.py:88
msgid "Use subject as title"
msgstr "Usar asunto como titulo"
#: paperless_mail/models.py:89
msgid "Use attachment filename as title"
msgstr "Usar nombre del fichero adjunto como título"
#: paperless_mail/models.py:99
msgid "Do not assign a correspondent"
msgstr "No asignar un tipo de documento"
#: paperless_mail/models.py:101
msgid "Use mail address"
msgstr "Usar dirección de correo"
#: paperless_mail/models.py:103
msgid "Use name (or mail address if not available)"
msgstr "Usar nombre (o dirección de correo si no está disponible)"
#: paperless_mail/models.py:105
msgid "Use correspondent selected below"
msgstr "Usar el tipo seleccionado debajo"
#: paperless_mail/models.py:113
msgid "order"
msgstr "orden"
#: paperless_mail/models.py:120
msgid "account"
msgstr "cuenta"
#: paperless_mail/models.py:124
msgid "folder"
msgstr "carpeta"
#: paperless_mail/models.py:128
msgid "filter from"
msgstr "filtrar desde"
#: paperless_mail/models.py:131
msgid "filter subject"
msgstr "filtrar asunto"
#: paperless_mail/models.py:134
msgid "filter body"
msgstr "filtrar cuerpo"
#: paperless_mail/models.py:138
msgid "filter attachment filename"
msgstr "filtrar nombre del fichero adjunto"
#: paperless_mail/models.py:140
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
msgstr "Sólo consumirá documentos que coincidan completamente con este nombre de archivo si se especifica. Se permiten comodines como *.pdf o *factura*. No diferencia mayúsculas."
#: paperless_mail/models.py:146
msgid "maximum age"
msgstr "antigüedad máxima"
#: paperless_mail/models.py:148
msgid "Specified in days."
msgstr "Especificado en días."
#: paperless_mail/models.py:151
msgid "attachment type"
msgstr "tipo de fichero adjunto"
#: paperless_mail/models.py:154
msgid "Inline attachments include embedded images, so it's best to combine this option with a filename filter."
msgstr "Adjuntos incrustados incluyen imágenes, por lo que es mejor combina resta opción un filtro de nombre de fichero."
#: paperless_mail/models.py:159
msgid "action"
msgstr "acción"
#: paperless_mail/models.py:165
msgid "action parameter"
msgstr "parámetro de acción"
#: paperless_mail/models.py:167
msgid "Additional parameter for the action selected above, i.e., the target folder of the move to folder action."
msgstr "Parámetro adicional para la acción seleccionada arriba. Ej. la carpeta de destino de la acción de mover a carpeta."
#: paperless_mail/models.py:173
msgid "assign title from"
msgstr "asignar titulo desde"
#: paperless_mail/models.py:183
msgid "assign this tag"
msgstr "asignar esta etiqueta"
#: paperless_mail/models.py:191
msgid "assign this document type"
msgstr "asignar este tipo de documento"
#: paperless_mail/models.py:195
msgid "assign correspondent from"
msgstr "Asignar tipo de documento desde"
#: paperless_mail/models.py:205
msgid "assign this correspondent"
msgstr "asignar este tipo de documento"
@@ -1,21 +1,26 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Jonas Winkler, 2021
# Philmo67, 2021
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: paperless-ng\n"
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-03-14 13:33+0100\n"
"PO-Revision-Date: 2021-03-14 13:58\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Language: fr_FR\n"
"POT-Creation-Date: 2021-02-28 12:40+0100\n"
"PO-Revision-Date: 2021-02-16 18:37+0000\n"
"Last-Translator: Philmo67, 2021\n"
"Language-Team: French (https://www.transifex.com/paperless/teams/115905/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Crowdin-Project: paperless-ng\n"
"X-Crowdin-Project-ID: 434940\n"
"X-Crowdin-Language: fr\n"
"X-Crowdin-File: /dev/src/locale/en_US/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 54\n"
#: documents/apps.py:10
msgid "Documents"
@@ -79,8 +84,12 @@ msgid "is inbox tag"
msgstr "est une étiquette de boîte de réception"
#: documents/models.py:89
msgid "Marks this tag as an inbox tag: All newly consumed documents will be tagged with inbox tags."
msgstr "Marque cette étiquette comme étiquette de boîte de réception : ces étiquettes sont affectées à tous les documents nouvellement traités."
msgid ""
"Marks this tag as an inbox tag: All newly consumed documents will be tagged "
"with inbox tags."
msgstr ""
"Marque cette étiquette comme étiquette de boîte de réception : ces "
"étiquettes sont affectées à tous les documents nouvellement traités."
#: documents/models.py:94
msgid "tag"
@@ -115,8 +124,12 @@ msgid "content"
msgstr "contenu"
#: documents/models.py:139
msgid "The raw, text-only data of the document. This field is primarily used for searching."
msgstr "Les données brutes du document, en format texte uniquement. Ce champ est principalement utilisé pour la recherche."
msgid ""
"The raw, text-only data of the document. This field is primarily used for "
"searching."
msgstr ""
"Les données brutes du document, en format texte uniquement. Ce champ est "
"principalement utilisé pour la recherche."
#: documents/models.py:144
msgid "mime type"
@@ -176,7 +189,8 @@ msgstr "numéro de série de l'archive"
#: documents/models.py:217
msgid "The position of this document in your physical document archive."
msgstr "Le classement de ce document dans votre archive de documents physiques."
msgstr ""
"Le classement de ce document dans votre archive de documents physiques."
#: documents/models.py:223
msgid "document"
@@ -220,13 +234,13 @@ msgstr "niveau"
#: documents/models.py:332
msgid "log"
msgstr "journal"
msgstr "rapport"
#: documents/models.py:333
msgid "logs"
msgstr "journaux"
msgstr "rapports"
#: documents/models.py:344 documents/models.py:396
#: documents/models.py:344 documents/models.py:394
msgid "saved view"
msgstr "vue enregistrée"
@@ -326,33 +340,25 @@ msgstr "modifié après"
msgid "does not have tag"
msgstr "ne porte pas d'étiquette"
#: documents/models.py:388
msgid "does not have ASN"
msgstr "ne porte pas de NSA"
#: documents/models.py:389
msgid "title or content contains"
msgstr "le titre ou le contenu contient"
#: documents/models.py:400
#: documents/models.py:398
msgid "rule type"
msgstr "type de règle"
#: documents/models.py:404
#: documents/models.py:402
msgid "value"
msgstr "valeur"
#: documents/models.py:410
#: documents/models.py:408
msgid "filter rule"
msgstr "règle de filtrage"
#: documents/models.py:411
#: documents/models.py:409
msgid "filter rules"
msgstr "règles de filtrage"
#: documents/serialisers.py:53
#, python-format
msgid "Invalid regular expression: %(error)s"
msgid "Invalid regular expresssion: %(error)s"
msgstr "Expression régulière incorrecte : %(error)s"
#: documents/serialisers.py:177
@@ -390,7 +396,9 @@ msgstr "Veuillez vous connecter."
#: documents/templates/registration/login.html:45
msgid "Your username and password didn't match. Please try again."
msgstr "Votre nom d'utilisateur et votre mot de passe ne correspondent pas. Veuillez réessayer."
msgstr ""
"Votre nom d'utilisateur et votre mot de passe ne correspondent pas. Veuillez"
" réessayer."
#: documents/templates/registration/login.html:48
msgid "Username"
@@ -404,46 +412,38 @@ msgstr "Mot de passe"
msgid "Sign in"
msgstr "S'identifier"
#: paperless/settings.py:298
#: paperless/settings.py:297
msgid "English (US)"
msgstr "Anglais (US)"
#: paperless/settings.py:299
#: paperless/settings.py:298
msgid "English (GB)"
msgstr "Anglais (GB)"
#: paperless/settings.py:300
#: paperless/settings.py:299
msgid "German"
msgstr "Allemand"
#: paperless/settings.py:301
#: paperless/settings.py:300
msgid "Dutch"
msgstr "Néerlandais"
#: paperless/settings.py:302
#: paperless/settings.py:301
msgid "French"
msgstr "Français"
#: paperless/settings.py:303
#: paperless/settings.py:302
msgid "Portuguese (Brazil)"
msgstr "Portugais (Brésil)"
#: paperless/settings.py:304
#: paperless/settings.py:303
msgid "Italian"
msgstr "Italien"
#: paperless/settings.py:305
#: paperless/settings.py:304
msgid "Romanian"
msgstr "Roumain"
#: paperless/settings.py:306
msgid "Russian"
msgstr "Russe"
#: paperless/settings.py:307
msgid "Spanish"
msgstr ""
#: paperless/urls.py:118
msgid "Paperless-ng administration"
msgstr "Administration de Paperless-ng"
@@ -453,24 +453,40 @@ msgid "Filter"
msgstr "Filtrage"
#: paperless_mail/admin.py:27
msgid "Paperless will only process mails that match ALL of the filters given below."
msgstr "Paperless-ng ne traitera que les courriers qui correspondent à TOUS les filtres ci-dessous."
msgid ""
"Paperless will only process mails that match ALL of the filters given below."
msgstr ""
"Paperless-ng ne traitera que les courriers qui correspondent à TOUS les "
"filtres ci-dessous."
#: paperless_mail/admin.py:37
msgid "Actions"
msgstr "Actions"
#: paperless_mail/admin.py:39
msgid "The action applied to the mail. This action is only performed when documents were consumed from the mail. Mails without attachments will remain entirely untouched."
msgstr "Action appliquée au courriel. Cette action n'est exécutée que lorsque les documents ont été traités depuis des courriels. Les courriels sans pièces jointes demeurent totalement inchangés."
msgid ""
"The action applied to the mail. This action is only performed when documents"
" were consumed from the mail. Mails without attachments will remain entirely"
" untouched."
msgstr ""
"Action appliquée au courriel. Cette action n'est exécutée que lorsque les "
"documents ont été traités depuis des courriels. Les courriels sans pièces "
"jointes demeurent totalement inchangés."
#: paperless_mail/admin.py:46
msgid "Metadata"
msgstr "Métadonnées"
#: paperless_mail/admin.py:48
msgid "Assign metadata to documents consumed from this rule automatically. If you do not assign tags, types or correspondents here, paperless will still process all matching rules that you have defined."
msgstr "Affecter automatiquement des métadonnées aux documents traités à partir de cette règle. Si vous n'affectez pas d'étiquette, de type ou de correspondant ici, Paperless-ng appliquera toutes les autres règles de rapprochement que vous avez définies."
msgid ""
"Assign metadata to documents consumed from this rule automatically. If you "
"do not assign tags, types or correspondents here, paperless will still "
"process all matching rules that you have defined."
msgstr ""
"Affecter automatiquement des métadonnées aux documents traités à partir de "
"cette règle. Si vous n'affectez pas d'étiquette, de type ou de correspondant"
" ici, Paperless-ng appliquera toutes les autres règles de rapprochement que "
"vous avez définies."
#: paperless_mail/apps.py:9
msgid "Paperless mail"
@@ -505,8 +521,12 @@ msgid "IMAP port"
msgstr "Port IMAP"
#: paperless_mail/models.py:36
msgid "This is usually 143 for unencrypted and STARTTLS connections, and 993 for SSL connections."
msgstr "Généralement 143 pour les connexions non chiffrées et STARTTLS, et 993 pour les connexions SSL."
msgid ""
"This is usually 143 for unencrypted and STARTTLS connections, and 993 for "
"SSL connections."
msgstr ""
"Généralement 143 pour les connexions non chiffrées et STARTTLS, et 993 pour "
"les connexions SSL."
#: paperless_mail/models.py:40
msgid "IMAP security"
@@ -605,8 +625,13 @@ msgid "filter attachment filename"
msgstr "filtrer le nom de fichier de la pièce jointe"
#: paperless_mail/models.py:140
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
msgstr "Ne traiter que les documents correspondant intégralement à ce nom de fichier s'il est spécifié. Les jokers tels que *.pdf ou *facture* sont autorisés. La casse n'est pas prise en compte."
msgid ""
"Only consume documents which entirely match this filename if specified. "
"Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
msgstr ""
"Ne traiter que les documents correspondant intégralement à ce nom de fichier"
" s'il est spécifié. Les jokers tels que *.pdf ou *facture* sont autorisés. "
"La casse n'est pas prise en compte."
#: paperless_mail/models.py:146
msgid "maximum age"
@@ -621,8 +646,12 @@ msgid "attachment type"
msgstr "type de pièce jointe"
#: paperless_mail/models.py:154
msgid "Inline attachments include embedded images, so it's best to combine this option with a filename filter."
msgstr "Les pièces jointes en ligne comprennent les images intégrées, il est donc préférable de combiner cette option avec un filtre de nom de fichier."
msgid ""
"Inline attachments include embedded images, so it's best to combine this "
"option with a filename filter."
msgstr ""
"Les pièces jointes en ligne comprennent les images intégrées, il est donc "
"préférable de combiner cette option avec un filtre de nom de fichier."
#: paperless_mail/models.py:159
msgid "action"
@@ -633,8 +662,12 @@ msgid "action parameter"
msgstr "paramètre d'action"
#: paperless_mail/models.py:167
msgid "Additional parameter for the action selected above, i.e., the target folder of the move to folder action."
msgstr "Paramètre supplémentaire pour l'action sélectionnée ci-dessus, par exemple le dossier cible de l'action de déplacement vers un dossier."
msgid ""
"Additional parameter for the action selected above, i.e., the target folder "
"of the move to folder action."
msgstr ""
"Paramètre supplémentaire pour l'action sélectionnée ci-dessus, par exemple "
"le dossier cible de l'action de déplacement vers un dossier."
#: paperless_mail/models.py:173
msgid "assign title from"
@@ -655,4 +688,3 @@ msgstr "affecter le correspondant depuis"
#: paperless_mail/models.py:205
msgid "assign this correspondent"
msgstr "affecter ce correspondant"
-658
View File
@@ -1,658 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: paperless-ng\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-03-14 13:33+0100\n"
"PO-Revision-Date: 2021-03-14 13:57\n"
"Last-Translator: \n"
"Language-Team: Hungarian\n"
"Language: hu_HU\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: paperless-ng\n"
"X-Crowdin-Project-ID: 434940\n"
"X-Crowdin-Language: hu\n"
"X-Crowdin-File: /dev/src/locale/en_US/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 54\n"
#: documents/apps.py:10
msgid "Documents"
msgstr "Dokumentumok"
#: documents/models.py:32
msgid "Any word"
msgstr ""
#: documents/models.py:33
msgid "All words"
msgstr ""
#: documents/models.py:34
msgid "Exact match"
msgstr ""
#: documents/models.py:35
msgid "Regular expression"
msgstr "Regexp"
#: documents/models.py:36
msgid "Fuzzy word"
msgstr ""
#: documents/models.py:37
msgid "Automatic"
msgstr "Automatikus"
#: documents/models.py:41 documents/models.py:350 paperless_mail/models.py:25
#: paperless_mail/models.py:109
msgid "name"
msgstr ""
#: documents/models.py:45
msgid "match"
msgstr ""
#: documents/models.py:49
msgid "matching algorithm"
msgstr ""
#: documents/models.py:55
msgid "is insensitive"
msgstr ""
#: documents/models.py:74 documents/models.py:120
msgid "correspondent"
msgstr ""
#: documents/models.py:75
msgid "correspondents"
msgstr ""
#: documents/models.py:81
msgid "color"
msgstr ""
#: documents/models.py:87
msgid "is inbox tag"
msgstr ""
#: documents/models.py:89
msgid "Marks this tag as an inbox tag: All newly consumed documents will be tagged with inbox tags."
msgstr ""
#: documents/models.py:94
msgid "tag"
msgstr ""
#: documents/models.py:95 documents/models.py:151
msgid "tags"
msgstr ""
#: documents/models.py:101 documents/models.py:133
msgid "document type"
msgstr ""
#: documents/models.py:102
msgid "document types"
msgstr ""
#: documents/models.py:110
msgid "Unencrypted"
msgstr ""
#: documents/models.py:111
msgid "Encrypted with GNU Privacy Guard"
msgstr ""
#: documents/models.py:124
msgid "title"
msgstr ""
#: documents/models.py:137
msgid "content"
msgstr ""
#: documents/models.py:139
msgid "The raw, text-only data of the document. This field is primarily used for searching."
msgstr ""
#: documents/models.py:144
msgid "mime type"
msgstr ""
#: documents/models.py:155
msgid "checksum"
msgstr ""
#: documents/models.py:159
msgid "The checksum of the original document."
msgstr ""
#: documents/models.py:163
msgid "archive checksum"
msgstr ""
#: documents/models.py:168
msgid "The checksum of the archived document."
msgstr ""
#: documents/models.py:172 documents/models.py:328
msgid "created"
msgstr ""
#: documents/models.py:176
msgid "modified"
msgstr ""
#: documents/models.py:180
msgid "storage type"
msgstr ""
#: documents/models.py:188
msgid "added"
msgstr ""
#: documents/models.py:192
msgid "filename"
msgstr ""
#: documents/models.py:198
msgid "Current filename in storage"
msgstr ""
#: documents/models.py:202
msgid "archive filename"
msgstr ""
#: documents/models.py:208
msgid "Current archive filename in storage"
msgstr ""
#: documents/models.py:212
msgid "archive serial number"
msgstr ""
#: documents/models.py:217
msgid "The position of this document in your physical document archive."
msgstr ""
#: documents/models.py:223
msgid "document"
msgstr ""
#: documents/models.py:224
msgid "documents"
msgstr ""
#: documents/models.py:311
msgid "debug"
msgstr ""
#: documents/models.py:312
msgid "information"
msgstr ""
#: documents/models.py:313
msgid "warning"
msgstr ""
#: documents/models.py:314
msgid "error"
msgstr ""
#: documents/models.py:315
msgid "critical"
msgstr ""
#: documents/models.py:319
msgid "group"
msgstr ""
#: documents/models.py:322
msgid "message"
msgstr ""
#: documents/models.py:325
msgid "level"
msgstr ""
#: documents/models.py:332
msgid "log"
msgstr ""
#: documents/models.py:333
msgid "logs"
msgstr ""
#: documents/models.py:344 documents/models.py:396
msgid "saved view"
msgstr ""
#: documents/models.py:345
msgid "saved views"
msgstr ""
#: documents/models.py:348
msgid "user"
msgstr ""
#: documents/models.py:354
msgid "show on dashboard"
msgstr ""
#: documents/models.py:357
msgid "show in sidebar"
msgstr ""
#: documents/models.py:361
msgid "sort field"
msgstr ""
#: documents/models.py:364
msgid "sort reverse"
msgstr ""
#: documents/models.py:370
msgid "title contains"
msgstr ""
#: documents/models.py:371
msgid "content contains"
msgstr ""
#: documents/models.py:372
msgid "ASN is"
msgstr ""
#: documents/models.py:373
msgid "correspondent is"
msgstr ""
#: documents/models.py:374
msgid "document type is"
msgstr ""
#: documents/models.py:375
msgid "is in inbox"
msgstr ""
#: documents/models.py:376
msgid "has tag"
msgstr ""
#: documents/models.py:377
msgid "has any tag"
msgstr ""
#: documents/models.py:378
msgid "created before"
msgstr ""
#: documents/models.py:379
msgid "created after"
msgstr ""
#: documents/models.py:380
msgid "created year is"
msgstr ""
#: documents/models.py:381
msgid "created month is"
msgstr ""
#: documents/models.py:382
msgid "created day is"
msgstr ""
#: documents/models.py:383
msgid "added before"
msgstr ""
#: documents/models.py:384
msgid "added after"
msgstr ""
#: documents/models.py:385
msgid "modified before"
msgstr ""
#: documents/models.py:386
msgid "modified after"
msgstr ""
#: documents/models.py:387
msgid "does not have tag"
msgstr ""
#: documents/models.py:388
msgid "does not have ASN"
msgstr ""
#: documents/models.py:389
msgid "title or content contains"
msgstr ""
#: documents/models.py:400
msgid "rule type"
msgstr ""
#: documents/models.py:404
msgid "value"
msgstr ""
#: documents/models.py:410
msgid "filter rule"
msgstr ""
#: documents/models.py:411
msgid "filter rules"
msgstr ""
#: documents/serialisers.py:53
#, python-format
msgid "Invalid regular expression: %(error)s"
msgstr ""
#: documents/serialisers.py:177
msgid "Invalid color."
msgstr ""
#: documents/serialisers.py:451
#, python-format
msgid "File type %(type)s not supported"
msgstr ""
#: documents/templates/index.html:21
msgid "Paperless-ng is loading..."
msgstr ""
#: documents/templates/registration/logged_out.html:13
msgid "Paperless-ng signed out"
msgstr ""
#: documents/templates/registration/logged_out.html:41
msgid "You have been successfully logged out. Bye!"
msgstr ""
#: documents/templates/registration/logged_out.html:42
msgid "Sign in again"
msgstr ""
#: documents/templates/registration/login.html:13
msgid "Paperless-ng sign in"
msgstr ""
#: documents/templates/registration/login.html:42
msgid "Please sign in."
msgstr ""
#: documents/templates/registration/login.html:45
msgid "Your username and password didn't match. Please try again."
msgstr ""
#: documents/templates/registration/login.html:48
msgid "Username"
msgstr ""
#: documents/templates/registration/login.html:49
msgid "Password"
msgstr ""
#: documents/templates/registration/login.html:54
msgid "Sign in"
msgstr ""
#: paperless/settings.py:298
msgid "English (US)"
msgstr "Angol (US)"
#: paperless/settings.py:299
msgid "English (GB)"
msgstr ""
#: paperless/settings.py:300
msgid "German"
msgstr "Német"
#: paperless/settings.py:301
msgid "Dutch"
msgstr ""
#: paperless/settings.py:302
msgid "French"
msgstr ""
#: paperless/settings.py:303
msgid "Portuguese (Brazil)"
msgstr ""
#: paperless/settings.py:304
msgid "Italian"
msgstr ""
#: paperless/settings.py:305
msgid "Romanian"
msgstr ""
#: paperless/settings.py:306
msgid "Russian"
msgstr ""
#: paperless/settings.py:307
msgid "Spanish"
msgstr ""
#: paperless/urls.py:118
msgid "Paperless-ng administration"
msgstr ""
#: paperless_mail/admin.py:25
msgid "Filter"
msgstr "Szűrő"
#: paperless_mail/admin.py:27
msgid "Paperless will only process mails that match ALL of the filters given below."
msgstr ""
#: paperless_mail/admin.py:37
msgid "Actions"
msgstr "Műveletek"
#: paperless_mail/admin.py:39
msgid "The action applied to the mail. This action is only performed when documents were consumed from the mail. Mails without attachments will remain entirely untouched."
msgstr ""
#: paperless_mail/admin.py:46
msgid "Metadata"
msgstr "Metaadat"
#: paperless_mail/admin.py:48
msgid "Assign metadata to documents consumed from this rule automatically. If you do not assign tags, types or correspondents here, paperless will still process all matching rules that you have defined."
msgstr ""
#: paperless_mail/apps.py:9
msgid "Paperless mail"
msgstr ""
#: paperless_mail/models.py:11
msgid "mail account"
msgstr ""
#: paperless_mail/models.py:12
msgid "mail accounts"
msgstr ""
#: paperless_mail/models.py:19
msgid "No encryption"
msgstr ""
#: paperless_mail/models.py:20
msgid "Use SSL"
msgstr ""
#: paperless_mail/models.py:21
msgid "Use STARTTLS"
msgstr ""
#: paperless_mail/models.py:29
msgid "IMAP server"
msgstr ""
#: paperless_mail/models.py:33
msgid "IMAP port"
msgstr ""
#: paperless_mail/models.py:36
msgid "This is usually 143 for unencrypted and STARTTLS connections, and 993 for SSL connections."
msgstr ""
#: paperless_mail/models.py:40
msgid "IMAP security"
msgstr ""
#: paperless_mail/models.py:46
msgid "username"
msgstr ""
#: paperless_mail/models.py:50
msgid "password"
msgstr ""
#: paperless_mail/models.py:60
msgid "mail rule"
msgstr ""
#: paperless_mail/models.py:61
msgid "mail rules"
msgstr ""
#: paperless_mail/models.py:67
msgid "Only process attachments."
msgstr ""
#: paperless_mail/models.py:68
msgid "Process all files, including 'inline' attachments."
msgstr ""
#: paperless_mail/models.py:78
msgid "Mark as read, don't process read mails"
msgstr ""
#: paperless_mail/models.py:79
msgid "Flag the mail, don't process flagged mails"
msgstr ""
#: paperless_mail/models.py:80
msgid "Move to specified folder"
msgstr ""
#: paperless_mail/models.py:81
msgid "Delete"
msgstr "Törlés"
#: paperless_mail/models.py:88
msgid "Use subject as title"
msgstr ""
#: paperless_mail/models.py:89
msgid "Use attachment filename as title"
msgstr ""
#: paperless_mail/models.py:99
msgid "Do not assign a correspondent"
msgstr ""
#: paperless_mail/models.py:101
msgid "Use mail address"
msgstr ""
#: paperless_mail/models.py:103
msgid "Use name (or mail address if not available)"
msgstr ""
#: paperless_mail/models.py:105
msgid "Use correspondent selected below"
msgstr ""
#: paperless_mail/models.py:113
msgid "order"
msgstr ""
#: paperless_mail/models.py:120
msgid "account"
msgstr ""
#: paperless_mail/models.py:124
msgid "folder"
msgstr ""
#: paperless_mail/models.py:128
msgid "filter from"
msgstr ""
#: paperless_mail/models.py:131
msgid "filter subject"
msgstr ""
#: paperless_mail/models.py:134
msgid "filter body"
msgstr ""
#: paperless_mail/models.py:138
msgid "filter attachment filename"
msgstr ""
#: paperless_mail/models.py:140
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
msgstr ""
#: paperless_mail/models.py:146
msgid "maximum age"
msgstr ""
#: paperless_mail/models.py:148
msgid "Specified in days."
msgstr ""
#: paperless_mail/models.py:151
msgid "attachment type"
msgstr ""
#: paperless_mail/models.py:154
msgid "Inline attachments include embedded images, so it's best to combine this option with a filename filter."
msgstr ""
#: paperless_mail/models.py:159
msgid "action"
msgstr ""
#: paperless_mail/models.py:165
msgid "action parameter"
msgstr ""
#: paperless_mail/models.py:167
msgid "Additional parameter for the action selected above, i.e., the target folder of the move to folder action."
msgstr ""
#: paperless_mail/models.py:173
msgid "assign title from"
msgstr ""
#: paperless_mail/models.py:183
msgid "assign this tag"
msgstr ""
#: paperless_mail/models.py:191
msgid "assign this document type"
msgstr ""
#: paperless_mail/models.py:195
msgid "assign correspondent from"
msgstr ""
#: paperless_mail/models.py:205
msgid "assign this correspondent"
msgstr ""
@@ -1,21 +1,28 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Ioma Taani, 2021
# Jonas Winkler, 2021
# Oliver Thomas Cervera <cervera93-10@yahoo.it>, 2021
# Alex Camilleri <camilleri.alex@gmail.com>, 2021
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: paperless-ng\n"
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-03-14 13:33+0100\n"
"PO-Revision-Date: 2021-03-14 13:57\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
"Language: it_IT\n"
"POT-Creation-Date: 2021-02-28 12:40+0100\n"
"PO-Revision-Date: 2021-02-16 18:37+0000\n"
"Last-Translator: Alex Camilleri <camilleri.alex@gmail.com>, 2021\n"
"Language-Team: Italian (https://www.transifex.com/paperless/teams/115905/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: it\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: paperless-ng\n"
"X-Crowdin-Project-ID: 434940\n"
"X-Crowdin-Language: it\n"
"X-Crowdin-File: /dev/src/locale/en_US/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 54\n"
#: documents/apps.py:10
msgid "Documents"
@@ -79,8 +86,12 @@ msgid "is inbox tag"
msgstr "è tag di arrivo"
#: documents/models.py:89
msgid "Marks this tag as an inbox tag: All newly consumed documents will be tagged with inbox tags."
msgstr "Contrassegna questo tag come tag in arrivo: tutti i documenti elaborati verranno taggati con questo tag."
msgid ""
"Marks this tag as an inbox tag: All newly consumed documents will be tagged "
"with inbox tags."
msgstr ""
"Contrassegna questo tag come tag in arrivo: tutti i documenti elaborati "
"verranno taggati con questo tag."
#: documents/models.py:94
msgid "tag"
@@ -115,8 +126,12 @@ msgid "content"
msgstr "contenuto"
#: documents/models.py:139
msgid "The raw, text-only data of the document. This field is primarily used for searching."
msgstr "I dati grezzi o solo testo del documento. Questo campo è usato principalmente per la ricerca."
msgid ""
"The raw, text-only data of the document. This field is primarily used for "
"searching."
msgstr ""
"I dati grezzi o solo testo del documento. Questo campo è usato "
"principalmente per la ricerca."
#: documents/models.py:144
msgid "mime type"
@@ -226,7 +241,7 @@ msgstr "log"
msgid "logs"
msgstr "log"
#: documents/models.py:344 documents/models.py:396
#: documents/models.py:344 documents/models.py:394
msgid "saved view"
msgstr "vista salvata"
@@ -326,33 +341,25 @@ msgstr "modificato dopo"
msgid "does not have tag"
msgstr "non ha tag"
#: documents/models.py:388
msgid "does not have ASN"
msgstr "non ha ASN"
#: documents/models.py:389
msgid "title or content contains"
msgstr "il titolo o il contenuto contiene"
#: documents/models.py:400
#: documents/models.py:398
msgid "rule type"
msgstr "tipo di regola"
#: documents/models.py:404
#: documents/models.py:402
msgid "value"
msgstr "valore"
#: documents/models.py:410
#: documents/models.py:408
msgid "filter rule"
msgstr "regola filtro"
#: documents/models.py:411
#: documents/models.py:409
msgid "filter rules"
msgstr "regole filtro"
#: documents/serialisers.py:53
#, python-format
msgid "Invalid regular expression: %(error)s"
msgid "Invalid regular expresssion: %(error)s"
msgstr "Espressione regolare non valida: %(error)s"
#: documents/serialisers.py:177
@@ -404,46 +411,38 @@ msgstr "Password"
msgid "Sign in"
msgstr "Accedi"
#: paperless/settings.py:298
#: paperless/settings.py:297
msgid "English (US)"
msgstr "Inglese (US)"
#: paperless/settings.py:299
#: paperless/settings.py:298
msgid "English (GB)"
msgstr "Inglese (GB)"
#: paperless/settings.py:300
#: paperless/settings.py:299
msgid "German"
msgstr "Tedesco"
#: paperless/settings.py:301
#: paperless/settings.py:300
msgid "Dutch"
msgstr "Olandese"
#: paperless/settings.py:302
#: paperless/settings.py:301
msgid "French"
msgstr "Francese"
#: paperless/settings.py:303
#: paperless/settings.py:302
msgid "Portuguese (Brazil)"
msgstr "Portoghese (Brasile)"
#: paperless/settings.py:304
#: paperless/settings.py:303
msgid "Italian"
msgstr "Italiano"
#: paperless/settings.py:305
#: paperless/settings.py:304
msgid "Romanian"
msgstr "Rumeno"
#: paperless/settings.py:306
msgid "Russian"
msgstr "Russo"
#: paperless/settings.py:307
msgid "Spanish"
msgstr ""
#: paperless/urls.py:118
msgid "Paperless-ng administration"
msgstr "Amministrazione di Paperless-ng"
@@ -453,24 +452,39 @@ msgid "Filter"
msgstr "Filtro"
#: paperless_mail/admin.py:27
msgid "Paperless will only process mails that match ALL of the filters given below."
msgstr "Paperless-ng processerà solo la posta che rientra in TUTTI i filtri impostati."
msgid ""
"Paperless will only process mails that match ALL of the filters given below."
msgstr ""
"Paperless-ng processerà solo la posta che rientra in TUTTI i filtri "
"impostati."
#: paperless_mail/admin.py:37
msgid "Actions"
msgstr "Azioni"
#: paperless_mail/admin.py:39
msgid "The action applied to the mail. This action is only performed when documents were consumed from the mail. Mails without attachments will remain entirely untouched."
msgstr "L'azione che viene applicata alla email. Questa azione viene eseguita solo quando dei documenti vengono elaborati dalla email. Le email senza allegati vengono ignorate."
msgid ""
"The action applied to the mail. This action is only performed when documents"
" were consumed from the mail. Mails without attachments will remain entirely"
" untouched."
msgstr ""
"L'azione che viene applicata alla email. Questa azione viene eseguita solo "
"quando dei documenti vengono elaborati dalla email. Le email senza allegati "
"vengono ignorate."
#: paperless_mail/admin.py:46
msgid "Metadata"
msgstr "Metadati"
#: paperless_mail/admin.py:48
msgid "Assign metadata to documents consumed from this rule automatically. If you do not assign tags, types or correspondents here, paperless will still process all matching rules that you have defined."
msgstr "Assegna automaticamente i metadati ai documenti elaborati da questa regola. Se non assegni qui dei tag, tipi di documenti o corrispondenti, Paperless userà comunque le regole corrispondenti che hai configurato."
msgid ""
"Assign metadata to documents consumed from this rule automatically. If you "
"do not assign tags, types or correspondents here, paperless will still "
"process all matching rules that you have defined."
msgstr ""
"Assegna automaticamente i metadati ai documenti elaborati da questa regola. "
"Se non assegni qui dei tag, tipi di documenti o corrispondenti, Paperless "
"userà comunque le regole corrispondenti che hai configurato."
#: paperless_mail/apps.py:9
msgid "Paperless mail"
@@ -505,8 +519,11 @@ msgid "IMAP port"
msgstr "Porta IMAP"
#: paperless_mail/models.py:36
msgid "This is usually 143 for unencrypted and STARTTLS connections, and 993 for SSL connections."
msgstr "Di solito si usa 143 per STARTTLS o nessuna crittografia e 993 per SSL."
msgid ""
"This is usually 143 for unencrypted and STARTTLS connections, and 993 for "
"SSL connections."
msgstr ""
"Di solito si usa 143 per STARTTLS o nessuna crittografia e 993 per SSL."
#: paperless_mail/models.py:40
msgid "IMAP security"
@@ -605,8 +622,12 @@ msgid "filter attachment filename"
msgstr "filtra nome allegato"
#: paperless_mail/models.py:140
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
msgstr "Elabora i documenti che corrispondono a questo nome. Puoi usare wildcard come *.pdf o *fattura*. Non fa differenza fra maiuscole e minuscole."
msgid ""
"Only consume documents which entirely match this filename if specified. "
"Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
msgstr ""
"Elabora i documenti che corrispondono a questo nome. Puoi usare wildcard "
"come *.pdf o *fattura*. Non fa differenza fra maiuscole e minuscole."
#: paperless_mail/models.py:146
msgid "maximum age"
@@ -621,8 +642,12 @@ msgid "attachment type"
msgstr "tipo di allegato"
#: paperless_mail/models.py:154
msgid "Inline attachments include embedded images, so it's best to combine this option with a filename filter."
msgstr "Gli allegati in linea includono le immagini nel corpo, quindi è meglio combinare questa opzione con il filtro nome."
msgid ""
"Inline attachments include embedded images, so it's best to combine this "
"option with a filename filter."
msgstr ""
"Gli allegati in linea includono le immagini nel corpo, quindi è meglio "
"combinare questa opzione con il filtro nome."
#: paperless_mail/models.py:159
msgid "action"
@@ -633,8 +658,12 @@ msgid "action parameter"
msgstr "parametro azione"
#: paperless_mail/models.py:167
msgid "Additional parameter for the action selected above, i.e., the target folder of the move to folder action."
msgstr "Parametro aggiuntivo per l'azione selezionata, ad esempio la cartella di destinazione per l'azione che sposta in una cartella."
msgid ""
"Additional parameter for the action selected above, i.e., the target folder "
"of the move to folder action."
msgstr ""
"Parametro aggiuntivo per l'azione selezionata, ad esempio la cartella di "
"destinazione per l'azione che sposta in una cartella."
#: paperless_mail/models.py:173
msgid "assign title from"
@@ -655,4 +684,3 @@ msgstr "assegna corrispondente da"
#: paperless_mail/models.py:205
msgid "assign this correspondent"
msgstr "assegna questo corrispondente"
-642
View File
@@ -1,642 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: paperless-ng\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-28 12:40+0100\n"
"PO-Revision-Date: 2021-03-06 21:39\n"
"Last-Translator: \n"
"Language-Team: Latin\n"
"Language: la_LA\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: paperless-ng\n"
"X-Crowdin-Project-ID: 434940\n"
"X-Crowdin-Language: la-LA\n"
"X-Crowdin-File: /dev/src/locale/en_US/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 54\n"
#: documents/apps.py:10
msgid "Documents"
msgstr ""
#: documents/models.py:32
msgid "Any word"
msgstr ""
#: documents/models.py:33
msgid "All words"
msgstr ""
#: documents/models.py:34
msgid "Exact match"
msgstr ""
#: documents/models.py:35
msgid "Regular expression"
msgstr ""
#: documents/models.py:36
msgid "Fuzzy word"
msgstr ""
#: documents/models.py:37
msgid "Automatic"
msgstr ""
#: documents/models.py:41 documents/models.py:350 paperless_mail/models.py:25
#: paperless_mail/models.py:109
msgid "name"
msgstr ""
#: documents/models.py:45
msgid "match"
msgstr ""
#: documents/models.py:49
msgid "matching algorithm"
msgstr ""
#: documents/models.py:55
msgid "is insensitive"
msgstr ""
#: documents/models.py:74 documents/models.py:120
msgid "correspondent"
msgstr ""
#: documents/models.py:75
msgid "correspondents"
msgstr ""
#: documents/models.py:81
msgid "color"
msgstr ""
#: documents/models.py:87
msgid "is inbox tag"
msgstr ""
#: documents/models.py:89
msgid "Marks this tag as an inbox tag: All newly consumed documents will be tagged with inbox tags."
msgstr ""
#: documents/models.py:94
msgid "tag"
msgstr ""
#: documents/models.py:95 documents/models.py:151
msgid "tags"
msgstr ""
#: documents/models.py:101 documents/models.py:133
msgid "document type"
msgstr ""
#: documents/models.py:102
msgid "document types"
msgstr ""
#: documents/models.py:110
msgid "Unencrypted"
msgstr ""
#: documents/models.py:111
msgid "Encrypted with GNU Privacy Guard"
msgstr ""
#: documents/models.py:124
msgid "title"
msgstr ""
#: documents/models.py:137
msgid "content"
msgstr ""
#: documents/models.py:139
msgid "The raw, text-only data of the document. This field is primarily used for searching."
msgstr ""
#: documents/models.py:144
msgid "mime type"
msgstr ""
#: documents/models.py:155
msgid "checksum"
msgstr ""
#: documents/models.py:159
msgid "The checksum of the original document."
msgstr ""
#: documents/models.py:163
msgid "archive checksum"
msgstr ""
#: documents/models.py:168
msgid "The checksum of the archived document."
msgstr ""
#: documents/models.py:172 documents/models.py:328
msgid "created"
msgstr ""
#: documents/models.py:176
msgid "modified"
msgstr ""
#: documents/models.py:180
msgid "storage type"
msgstr ""
#: documents/models.py:188
msgid "added"
msgstr ""
#: documents/models.py:192
msgid "filename"
msgstr ""
#: documents/models.py:198
msgid "Current filename in storage"
msgstr ""
#: documents/models.py:202
msgid "archive filename"
msgstr ""
#: documents/models.py:208
msgid "Current archive filename in storage"
msgstr ""
#: documents/models.py:212
msgid "archive serial number"
msgstr ""
#: documents/models.py:217
msgid "The position of this document in your physical document archive."
msgstr ""
#: documents/models.py:223
msgid "document"
msgstr ""
#: documents/models.py:224
msgid "documents"
msgstr ""
#: documents/models.py:311
msgid "debug"
msgstr ""
#: documents/models.py:312
msgid "information"
msgstr ""
#: documents/models.py:313
msgid "warning"
msgstr ""
#: documents/models.py:314
msgid "error"
msgstr ""
#: documents/models.py:315
msgid "critical"
msgstr ""
#: documents/models.py:319
msgid "group"
msgstr ""
#: documents/models.py:322
msgid "message"
msgstr ""
#: documents/models.py:325
msgid "level"
msgstr ""
#: documents/models.py:332
msgid "log"
msgstr ""
#: documents/models.py:333
msgid "logs"
msgstr ""
#: documents/models.py:344 documents/models.py:394
msgid "saved view"
msgstr ""
#: documents/models.py:345
msgid "saved views"
msgstr ""
#: documents/models.py:348
msgid "user"
msgstr ""
#: documents/models.py:354
msgid "show on dashboard"
msgstr ""
#: documents/models.py:357
msgid "show in sidebar"
msgstr ""
#: documents/models.py:361
msgid "sort field"
msgstr ""
#: documents/models.py:364
msgid "sort reverse"
msgstr ""
#: documents/models.py:370
msgid "title contains"
msgstr ""
#: documents/models.py:371
msgid "content contains"
msgstr ""
#: documents/models.py:372
msgid "ASN is"
msgstr ""
#: documents/models.py:373
msgid "correspondent is"
msgstr ""
#: documents/models.py:374
msgid "document type is"
msgstr ""
#: documents/models.py:375
msgid "is in inbox"
msgstr ""
#: documents/models.py:376
msgid "has tag"
msgstr ""
#: documents/models.py:377
msgid "has any tag"
msgstr ""
#: documents/models.py:378
msgid "created before"
msgstr ""
#: documents/models.py:379
msgid "created after"
msgstr ""
#: documents/models.py:380
msgid "created year is"
msgstr ""
#: documents/models.py:381
msgid "created month is"
msgstr ""
#: documents/models.py:382
msgid "created day is"
msgstr ""
#: documents/models.py:383
msgid "added before"
msgstr ""
#: documents/models.py:384
msgid "added after"
msgstr ""
#: documents/models.py:385
msgid "modified before"
msgstr ""
#: documents/models.py:386
msgid "modified after"
msgstr ""
#: documents/models.py:387
msgid "does not have tag"
msgstr ""
#: documents/models.py:398
msgid "rule type"
msgstr ""
#: documents/models.py:402
msgid "value"
msgstr ""
#: documents/models.py:408
msgid "filter rule"
msgstr ""
#: documents/models.py:409
msgid "filter rules"
msgstr ""
#: documents/serialisers.py:53
#, python-format
msgid "Invalid regular expresssion: %(error)s"
msgstr ""
#: documents/serialisers.py:177
msgid "Invalid color."
msgstr ""
#: documents/serialisers.py:451
#, python-format
msgid "File type %(type)s not supported"
msgstr ""
#: documents/templates/index.html:21
msgid "Paperless-ng is loading..."
msgstr ""
#: documents/templates/registration/logged_out.html:13
msgid "Paperless-ng signed out"
msgstr ""
#: documents/templates/registration/logged_out.html:41
msgid "You have been successfully logged out. Bye!"
msgstr ""
#: documents/templates/registration/logged_out.html:42
msgid "Sign in again"
msgstr ""
#: documents/templates/registration/login.html:13
msgid "Paperless-ng sign in"
msgstr ""
#: documents/templates/registration/login.html:42
msgid "Please sign in."
msgstr ""
#: documents/templates/registration/login.html:45
msgid "Your username and password didn't match. Please try again."
msgstr ""
#: documents/templates/registration/login.html:48
msgid "Username"
msgstr ""
#: documents/templates/registration/login.html:49
msgid "Password"
msgstr ""
#: documents/templates/registration/login.html:54
msgid "Sign in"
msgstr ""
#: paperless/settings.py:297
msgid "English (US)"
msgstr ""
#: paperless/settings.py:298
msgid "English (GB)"
msgstr ""
#: paperless/settings.py:299
msgid "German"
msgstr ""
#: paperless/settings.py:300
msgid "Dutch"
msgstr ""
#: paperless/settings.py:301
msgid "French"
msgstr ""
#: paperless/settings.py:302
msgid "Portuguese (Brazil)"
msgstr ""
#: paperless/settings.py:303
msgid "Italian"
msgstr ""
#: paperless/settings.py:304
msgid "Romanian"
msgstr ""
#: paperless/urls.py:118
msgid "Paperless-ng administration"
msgstr ""
#: paperless_mail/admin.py:25
msgid "Filter"
msgstr ""
#: paperless_mail/admin.py:27
msgid "Paperless will only process mails that match ALL of the filters given below."
msgstr ""
#: paperless_mail/admin.py:37
msgid "Actions"
msgstr ""
#: paperless_mail/admin.py:39
msgid "The action applied to the mail. This action is only performed when documents were consumed from the mail. Mails without attachments will remain entirely untouched."
msgstr ""
#: paperless_mail/admin.py:46
msgid "Metadata"
msgstr ""
#: paperless_mail/admin.py:48
msgid "Assign metadata to documents consumed from this rule automatically. If you do not assign tags, types or correspondents here, paperless will still process all matching rules that you have defined."
msgstr ""
#: paperless_mail/apps.py:9
msgid "Paperless mail"
msgstr ""
#: paperless_mail/models.py:11
msgid "mail account"
msgstr ""
#: paperless_mail/models.py:12
msgid "mail accounts"
msgstr ""
#: paperless_mail/models.py:19
msgid "No encryption"
msgstr ""
#: paperless_mail/models.py:20
msgid "Use SSL"
msgstr ""
#: paperless_mail/models.py:21
msgid "Use STARTTLS"
msgstr ""
#: paperless_mail/models.py:29
msgid "IMAP server"
msgstr ""
#: paperless_mail/models.py:33
msgid "IMAP port"
msgstr ""
#: paperless_mail/models.py:36
msgid "This is usually 143 for unencrypted and STARTTLS connections, and 993 for SSL connections."
msgstr ""
#: paperless_mail/models.py:40
msgid "IMAP security"
msgstr ""
#: paperless_mail/models.py:46
msgid "username"
msgstr ""
#: paperless_mail/models.py:50
msgid "password"
msgstr ""
#: paperless_mail/models.py:60
msgid "mail rule"
msgstr ""
#: paperless_mail/models.py:61
msgid "mail rules"
msgstr ""
#: paperless_mail/models.py:67
msgid "Only process attachments."
msgstr ""
#: paperless_mail/models.py:68
msgid "Process all files, including 'inline' attachments."
msgstr ""
#: paperless_mail/models.py:78
msgid "Mark as read, don't process read mails"
msgstr ""
#: paperless_mail/models.py:79
msgid "Flag the mail, don't process flagged mails"
msgstr ""
#: paperless_mail/models.py:80
msgid "Move to specified folder"
msgstr ""
#: paperless_mail/models.py:81
msgid "Delete"
msgstr ""
#: paperless_mail/models.py:88
msgid "Use subject as title"
msgstr ""
#: paperless_mail/models.py:89
msgid "Use attachment filename as title"
msgstr ""
#: paperless_mail/models.py:99
msgid "Do not assign a correspondent"
msgstr ""
#: paperless_mail/models.py:101
msgid "Use mail address"
msgstr ""
#: paperless_mail/models.py:103
msgid "Use name (or mail address if not available)"
msgstr ""
#: paperless_mail/models.py:105
msgid "Use correspondent selected below"
msgstr ""
#: paperless_mail/models.py:113
msgid "order"
msgstr ""
#: paperless_mail/models.py:120
msgid "account"
msgstr ""
#: paperless_mail/models.py:124
msgid "folder"
msgstr ""
#: paperless_mail/models.py:128
msgid "filter from"
msgstr ""
#: paperless_mail/models.py:131
msgid "filter subject"
msgstr ""
#: paperless_mail/models.py:134
msgid "filter body"
msgstr ""
#: paperless_mail/models.py:138
msgid "filter attachment filename"
msgstr ""
#: paperless_mail/models.py:140
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
msgstr ""
#: paperless_mail/models.py:146
msgid "maximum age"
msgstr ""
#: paperless_mail/models.py:148
msgid "Specified in days."
msgstr ""
#: paperless_mail/models.py:151
msgid "attachment type"
msgstr ""
#: paperless_mail/models.py:154
msgid "Inline attachments include embedded images, so it's best to combine this option with a filename filter."
msgstr ""
#: paperless_mail/models.py:159
msgid "action"
msgstr ""
#: paperless_mail/models.py:165
msgid "action parameter"
msgstr ""
#: paperless_mail/models.py:167
msgid "Additional parameter for the action selected above, i.e., the target folder of the move to folder action."
msgstr ""
#: paperless_mail/models.py:173
msgid "assign title from"
msgstr ""
#: paperless_mail/models.py:183
msgid "assign this tag"
msgstr ""
#: paperless_mail/models.py:191
msgid "assign this document type"
msgstr ""
#: paperless_mail/models.py:195
msgid "assign correspondent from"
msgstr ""
#: paperless_mail/models.py:205
msgid "assign this correspondent"
msgstr ""
+88 -60
View File
@@ -1,21 +1,27 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Jonas Winkler, 2021
# Jo Vandeginste <jo.vandeginste@gmail.com>, 2021
# Ben <bzweekhorst@gmail.com>, 2021
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: paperless-ng\n"
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-03-14 13:33+0100\n"
"PO-Revision-Date: 2021-03-14 13:57\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
"Language: nl_NL\n"
"POT-Creation-Date: 2021-02-28 12:40+0100\n"
"PO-Revision-Date: 2021-02-16 18:37+0000\n"
"Last-Translator: Ben <bzweekhorst@gmail.com>, 2021\n"
"Language-Team: Dutch (Netherlands) (https://www.transifex.com/paperless/teams/115905/nl_NL/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: nl_NL\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: paperless-ng\n"
"X-Crowdin-Project-ID: 434940\n"
"X-Crowdin-Language: nl\n"
"X-Crowdin-File: /dev/src/locale/en_US/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 54\n"
#: documents/apps.py:10
msgid "Documents"
@@ -79,8 +85,12 @@ msgid "is inbox tag"
msgstr "is \"Postvak in\"-etiket"
#: documents/models.py:89
msgid "Marks this tag as an inbox tag: All newly consumed documents will be tagged with inbox tags."
msgstr "Markeer dit etiket als een \"Postvak in\"-etiket: alle nieuw verwerkte documenten krijgen de \"Postvak in\"-etiketten."
msgid ""
"Marks this tag as an inbox tag: All newly consumed documents will be tagged "
"with inbox tags."
msgstr ""
"Markeer dit etiket als een \"Postvak in\"-etiket: alle nieuw verwerkte "
"documenten krijgen de \"Postvak in\"-etiketten."
#: documents/models.py:94
msgid "tag"
@@ -115,8 +125,12 @@ msgid "content"
msgstr "inhoud"
#: documents/models.py:139
msgid "The raw, text-only data of the document. This field is primarily used for searching."
msgstr "De onbewerkte gegevens van het document. Dit veld wordt voornamelijk gebruikt om te zoeken."
msgid ""
"The raw, text-only data of the document. This field is primarily used for "
"searching."
msgstr ""
"De onbewerkte gegevens van het document. Dit veld wordt voornamelijk "
"gebruikt om te zoeken."
#: documents/models.py:144
msgid "mime type"
@@ -226,7 +240,7 @@ msgstr "bericht"
msgid "logs"
msgstr "berichten"
#: documents/models.py:344 documents/models.py:396
#: documents/models.py:344 documents/models.py:394
msgid "saved view"
msgstr "opgeslagen view"
@@ -326,33 +340,25 @@ msgstr "gewijzigd na"
msgid "does not have tag"
msgstr "heeft geen etiket"
#: documents/models.py:388
msgid "does not have ASN"
msgstr "heeft geen ASN"
#: documents/models.py:389
msgid "title or content contains"
msgstr "titel of inhoud bevat"
#: documents/models.py:400
#: documents/models.py:398
msgid "rule type"
msgstr "type regel"
#: documents/models.py:404
#: documents/models.py:402
msgid "value"
msgstr "waarde"
#: documents/models.py:410
#: documents/models.py:408
msgid "filter rule"
msgstr "filterregel"
#: documents/models.py:411
#: documents/models.py:409
msgid "filter rules"
msgstr "filterregels"
#: documents/serialisers.py:53
#, python-format
msgid "Invalid regular expression: %(error)s"
msgid "Invalid regular expresssion: %(error)s"
msgstr "Ongeldige reguliere expressie: %(error)s"
#: documents/serialisers.py:177
@@ -404,46 +410,38 @@ msgstr "Wachtwoord"
msgid "Sign in"
msgstr "Aanmelden"
#: paperless/settings.py:298
#: paperless/settings.py:297
msgid "English (US)"
msgstr "Engels (US)"
#: paperless/settings.py:299
#: paperless/settings.py:298
msgid "English (GB)"
msgstr "Engels (Brits)"
#: paperless/settings.py:300
#: paperless/settings.py:299
msgid "German"
msgstr "Duits"
#: paperless/settings.py:301
#: paperless/settings.py:300
msgid "Dutch"
msgstr "Nederlands"
#: paperless/settings.py:302
#: paperless/settings.py:301
msgid "French"
msgstr "Frans"
#: paperless/settings.py:303
#: paperless/settings.py:302
msgid "Portuguese (Brazil)"
msgstr "Portugees (Brazilië)"
#: paperless/settings.py:304
#: paperless/settings.py:303
msgid "Italian"
msgstr "Italiaans"
#: paperless/settings.py:305
#: paperless/settings.py:304
msgid "Romanian"
msgstr "Roemeens"
#: paperless/settings.py:306
msgid "Russian"
msgstr "Russisch"
#: paperless/settings.py:307
msgid "Spanish"
msgstr ""
#: paperless/urls.py:118
msgid "Paperless-ng administration"
msgstr "Paperless-ng administratie"
@@ -453,24 +451,38 @@ msgid "Filter"
msgstr "Filter"
#: paperless_mail/admin.py:27
msgid "Paperless will only process mails that match ALL of the filters given below."
msgstr "Paperless verwerkt alleen e-mails die voldoen aan ALLE onderstaande filters."
msgid ""
"Paperless will only process mails that match ALL of the filters given below."
msgstr ""
"Paperless verwerkt alleen e-mails die voldoen aan ALLE onderstaande filters."
#: paperless_mail/admin.py:37
msgid "Actions"
msgstr "Acties"
#: paperless_mail/admin.py:39
msgid "The action applied to the mail. This action is only performed when documents were consumed from the mail. Mails without attachments will remain entirely untouched."
msgstr "De actie die wordt toegepast op de mail. Deze actie wordt alleen uitgevoerd wanneer documenten verwerkt werden uit de mail. Mails zonder bijlage blijven onaangeroerd."
msgid ""
"The action applied to the mail. This action is only performed when documents"
" were consumed from the mail. Mails without attachments will remain entirely"
" untouched."
msgstr ""
"De actie die wordt toegepast op de mail. Deze actie wordt alleen uitgevoerd "
"wanneer documenten verwerkt werden uit de mail. Mails zonder bijlage blijven"
" onaangeroerd."
#: paperless_mail/admin.py:46
msgid "Metadata"
msgstr "Metadata"
#: paperless_mail/admin.py:48
msgid "Assign metadata to documents consumed from this rule automatically. If you do not assign tags, types or correspondents here, paperless will still process all matching rules that you have defined."
msgstr "Automatisch metadata toewijzen aan documenten vanuit deze regel. Indien je geen etiketten, documenttypes of correspondenten toewijst, zal Paperless nog steeds alle regels verwerken die je hebt gedefinieerd."
msgid ""
"Assign metadata to documents consumed from this rule automatically. If you "
"do not assign tags, types or correspondents here, paperless will still "
"process all matching rules that you have defined."
msgstr ""
"Automatisch metadata toewijzen aan documenten vanuit deze regel. Indien je "
"geen etiketten, documenttypes of correspondenten toewijst, zal Paperless nog"
" steeds alle regels verwerken die je hebt gedefinieerd."
#: paperless_mail/apps.py:9
msgid "Paperless mail"
@@ -505,8 +517,12 @@ msgid "IMAP port"
msgstr "IMAP-poort"
#: paperless_mail/models.py:36
msgid "This is usually 143 for unencrypted and STARTTLS connections, and 993 for SSL connections."
msgstr "Dit is gewoonlijk 143 voor onversleutelde of STARTTLS verbindingen, en 993 voor SSL verbindingen."
msgid ""
"This is usually 143 for unencrypted and STARTTLS connections, and 993 for "
"SSL connections."
msgstr ""
"Dit is gewoonlijk 143 voor onversleutelde of STARTTLS verbindingen, en 993 "
"voor SSL verbindingen."
#: paperless_mail/models.py:40
msgid "IMAP security"
@@ -605,8 +621,13 @@ msgid "filter attachment filename"
msgstr "Filter bestandsnaam van bijlage"
#: paperless_mail/models.py:140
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
msgstr "Alleen documenten verwerken die volledig overeenkomen, indien aangegeven. Je kunt jokertekens gebruiken, zoals *.pdf of *factuur*. Dit is niet hoofdlettergevoelig."
msgid ""
"Only consume documents which entirely match this filename if specified. "
"Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
msgstr ""
"Alleen documenten verwerken die volledig overeenkomen, indien aangegeven. Je"
" kunt jokertekens gebruiken, zoals *.pdf of *factuur*. Dit is niet "
"hoofdlettergevoelig."
#: paperless_mail/models.py:146
msgid "maximum age"
@@ -621,8 +642,12 @@ msgid "attachment type"
msgstr "Type bijlage"
#: paperless_mail/models.py:154
msgid "Inline attachments include embedded images, so it's best to combine this option with a filename filter."
msgstr "\"Inline\" bijlagen bevatten vaak ook afbeeldingen. In dit geval valt het aan te raden om ook een filter voor de bestandsnaam op te geven."
msgid ""
"Inline attachments include embedded images, so it's best to combine this "
"option with a filename filter."
msgstr ""
"\"Inline\" bijlagen bevatten vaak ook afbeeldingen. In dit geval valt het "
"aan te raden om ook een filter voor de bestandsnaam op te geven."
#: paperless_mail/models.py:159
msgid "action"
@@ -633,8 +658,12 @@ msgid "action parameter"
msgstr "actie parameters"
#: paperless_mail/models.py:167
msgid "Additional parameter for the action selected above, i.e., the target folder of the move to folder action."
msgstr "Extra parameters voor de hierboven gekozen actie, met andere woorden: de bestemmingsmap voor de verplaats-actie."
msgid ""
"Additional parameter for the action selected above, i.e., the target folder "
"of the move to folder action."
msgstr ""
"Extra parameters voor de hierboven gekozen actie, met andere woorden: de "
"bestemmingsmap voor de verplaats-actie."
#: paperless_mail/models.py:173
msgid "assign title from"
@@ -655,4 +684,3 @@ msgstr "wijs correspondent toe van"
#: paperless_mail/models.py:205
msgid "assign this correspondent"
msgstr "wijs deze correspondent toe"
+86 -61
View File
@@ -1,21 +1,26 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Jonas Winkler, 2021
# Rodrigo A <rodrigo.avelino@meliuz.com.br>, 2021
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: paperless-ng\n"
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-03-14 13:33+0100\n"
"PO-Revision-Date: 2021-03-14 13:57\n"
"Last-Translator: \n"
"Language-Team: Portuguese, Brazilian\n"
"Language: pt_BR\n"
"POT-Creation-Date: 2021-02-28 12:40+0100\n"
"PO-Revision-Date: 2021-02-16 18:37+0000\n"
"Last-Translator: Rodrigo A <rodrigo.avelino@meliuz.com.br>, 2021\n"
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/paperless/teams/115905/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: paperless-ng\n"
"X-Crowdin-Project-ID: 434940\n"
"X-Crowdin-Language: pt-BR\n"
"X-Crowdin-File: /dev/src/locale/en_US/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 54\n"
"Language: pt_BR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: documents/apps.py:10
msgid "Documents"
@@ -79,8 +84,12 @@ msgid "is inbox tag"
msgstr "é etiqueta caixa de entrada"
#: documents/models.py:89
msgid "Marks this tag as an inbox tag: All newly consumed documents will be tagged with inbox tags."
msgstr "Marca essa etiqueta como caixa de entrada: Todos os novos documentos consumidos terão as etiquetas de caixa de entrada."
msgid ""
"Marks this tag as an inbox tag: All newly consumed documents will be tagged "
"with inbox tags."
msgstr ""
"Marca essa etiqueta como caixa de entrada: Todos os novos documentos "
"consumidos terão as etiquetas de caixa de entrada."
#: documents/models.py:94
msgid "tag"
@@ -115,8 +124,12 @@ msgid "content"
msgstr "conteúdo"
#: documents/models.py:139
msgid "The raw, text-only data of the document. This field is primarily used for searching."
msgstr "O conteúdo de texto bruto do documento. Esse campo é usado principalmente para busca."
msgid ""
"The raw, text-only data of the document. This field is primarily used for "
"searching."
msgstr ""
"O conteúdo de texto bruto do documento. Esse campo é usado principalmente "
"para busca."
#: documents/models.py:144
msgid "mime type"
@@ -226,7 +239,7 @@ msgstr "log"
msgid "logs"
msgstr "logs"
#: documents/models.py:344 documents/models.py:396
#: documents/models.py:344 documents/models.py:394
msgid "saved view"
msgstr "visualização"
@@ -326,33 +339,25 @@ msgstr "modificado depois de"
msgid "does not have tag"
msgstr "não tem etiqueta"
#: documents/models.py:388
msgid "does not have ASN"
msgstr ""
#: documents/models.py:389
msgid "title or content contains"
msgstr "título ou conteúdo contém"
#: documents/models.py:400
#: documents/models.py:398
msgid "rule type"
msgstr "tipo de regra"
#: documents/models.py:404
#: documents/models.py:402
msgid "value"
msgstr "valor"
#: documents/models.py:410
#: documents/models.py:408
msgid "filter rule"
msgstr "regra de filtragem"
#: documents/models.py:411
#: documents/models.py:409
msgid "filter rules"
msgstr "regras de filtragem"
#: documents/serialisers.py:53
#, python-format
msgid "Invalid regular expression: %(error)s"
msgid "Invalid regular expresssion: %(error)s"
msgstr "Expressão regular inválida: %(error)s"
#: documents/serialisers.py:177
@@ -404,46 +409,38 @@ msgstr "Senha"
msgid "Sign in"
msgstr "Entrar"
#: paperless/settings.py:298
#: paperless/settings.py:297
msgid "English (US)"
msgstr "Inglês (EUA)"
#: paperless/settings.py:299
#: paperless/settings.py:298
msgid "English (GB)"
msgstr "Inglês (GB)"
#: paperless/settings.py:300
#: paperless/settings.py:299
msgid "German"
msgstr "Alemão"
#: paperless/settings.py:301
#: paperless/settings.py:300
msgid "Dutch"
msgstr "Holandês"
#: paperless/settings.py:302
#: paperless/settings.py:301
msgid "French"
msgstr "Francês"
#: paperless/settings.py:303
#: paperless/settings.py:302
msgid "Portuguese (Brazil)"
msgstr "Português (Brasil)"
#: paperless/settings.py:304
#: paperless/settings.py:303
msgid "Italian"
msgstr "Italiano"
#: paperless/settings.py:305
#: paperless/settings.py:304
msgid "Romanian"
msgstr "Romeno"
#: paperless/settings.py:306
msgid "Russian"
msgstr ""
#: paperless/settings.py:307
msgid "Spanish"
msgstr ""
#: paperless/urls.py:118
msgid "Paperless-ng administration"
msgstr "Administração do Paperless-ng"
@@ -453,24 +450,38 @@ msgid "Filter"
msgstr "Filtro"
#: paperless_mail/admin.py:27
msgid "Paperless will only process mails that match ALL of the filters given below."
msgstr "Paperless processará somente e-mails que se encaixam em TODOS os filtros abaixo."
msgid ""
"Paperless will only process mails that match ALL of the filters given below."
msgstr ""
"Paperless processará somente e-mails que se encaixam em TODOS os filtros "
"abaixo."
#: paperless_mail/admin.py:37
msgid "Actions"
msgstr "Ações"
#: paperless_mail/admin.py:39
msgid "The action applied to the mail. This action is only performed when documents were consumed from the mail. Mails without attachments will remain entirely untouched."
msgstr "A ação se aplica ao e-mail. Essa ação só é executada quando documentos foram consumidos do e-mail. E-mails sem anexos permanecerão intactos."
msgid ""
"The action applied to the mail. This action is only performed when documents"
" were consumed from the mail. Mails without attachments will remain entirely"
" untouched."
msgstr ""
"A ação se aplica ao e-mail. Essa ação só é executada quando documentos foram"
" consumidos do e-mail. E-mails sem anexos permanecerão intactos."
#: paperless_mail/admin.py:46
msgid "Metadata"
msgstr "Metadados"
#: paperless_mail/admin.py:48
msgid "Assign metadata to documents consumed from this rule automatically. If you do not assign tags, types or correspondents here, paperless will still process all matching rules that you have defined."
msgstr "Atribua metadados aos documentos consumidos por esta regra automaticamente. Se você não atribuir etiquetas, tipos ou correspondentes aqui, paperless ainda sim processará todas as regras de detecção que você definiu."
msgid ""
"Assign metadata to documents consumed from this rule automatically. If you "
"do not assign tags, types or correspondents here, paperless will still "
"process all matching rules that you have defined."
msgstr ""
"Atribua metadados aos documentos consumidos por esta regra automaticamente. "
"Se você não atribuir etiquetas, tipos ou correspondentes aqui, paperless "
"ainda sim processará todas as regras de detecção que você definiu."
#: paperless_mail/apps.py:9
msgid "Paperless mail"
@@ -505,8 +516,12 @@ msgid "IMAP port"
msgstr "Porta IMAP"
#: paperless_mail/models.py:36
msgid "This is usually 143 for unencrypted and STARTTLS connections, and 993 for SSL connections."
msgstr "É geralmente 143 para não encriptado e conexões STARTTLS, e 993 para conexões SSL."
msgid ""
"This is usually 143 for unencrypted and STARTTLS connections, and 993 for "
"SSL connections."
msgstr ""
"É geralmente 143 para não encriptado e conexões STARTTLS, e 993 para "
"conexões SSL."
#: paperless_mail/models.py:40
msgid "IMAP security"
@@ -605,8 +620,11 @@ msgid "filter attachment filename"
msgstr "filtrar nome do arquivo anexo"
#: paperless_mail/models.py:140
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
msgstr "Consumir somente documentos que correspondem a este nome de arquivo se especificado.\n"
msgid ""
"Only consume documents which entirely match this filename if specified. "
"Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
msgstr ""
"Consumir somente documentos que correspondem a este nome de arquivo se especificado.\n"
"Curingas como *.pdf ou *invoice* são permitidos. Sem diferenciação de maiúsculas e minúsculas."
#: paperless_mail/models.py:146
@@ -622,8 +640,12 @@ msgid "attachment type"
msgstr "tipo de anexo"
#: paperless_mail/models.py:154
msgid "Inline attachments include embedded images, so it's best to combine this option with a filename filter."
msgstr "Anexos inline incluem imagens inseridas, por isso é melhor combinar essa opção com um filtro de nome de arquivo."
msgid ""
"Inline attachments include embedded images, so it's best to combine this "
"option with a filename filter."
msgstr ""
"Anexos inline incluem imagens inseridas, por isso é melhor combinar essa "
"opção com um filtro de nome de arquivo."
#: paperless_mail/models.py:159
msgid "action"
@@ -634,8 +656,12 @@ msgid "action parameter"
msgstr "parâmetro da ação"
#: paperless_mail/models.py:167
msgid "Additional parameter for the action selected above, i.e., the target folder of the move to folder action."
msgstr "Parâmetro adicional para a ação selecionada acima, por exemplo: a pasta de destino da ação de mover pasta."
msgid ""
"Additional parameter for the action selected above, i.e., the target folder "
"of the move to folder action."
msgstr ""
"Parâmetro adicional para a ação selecionada acima, por exemplo: a pasta de "
"destino da ação de mover pasta."
#: paperless_mail/models.py:173
msgid "assign title from"
@@ -656,4 +682,3 @@ msgstr "atribuir correspondente de"
#: paperless_mail/models.py:205
msgid "assign this correspondent"
msgstr "atribuir este correspondente"
-658
View File
@@ -1,658 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: paperless-ng\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-03-14 13:33+0100\n"
"PO-Revision-Date: 2021-03-14 13:57\n"
"Last-Translator: \n"
"Language-Team: Portuguese\n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: paperless-ng\n"
"X-Crowdin-Project-ID: 434940\n"
"X-Crowdin-Language: pt-PT\n"
"X-Crowdin-File: /dev/src/locale/en_US/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 54\n"
#: documents/apps.py:10
msgid "Documents"
msgstr "Documentos"
#: documents/models.py:32
msgid "Any word"
msgstr "Qualquer palavra"
#: documents/models.py:33
msgid "All words"
msgstr "Todas as palavras"
#: documents/models.py:34
msgid "Exact match"
msgstr "Detecção exata"
#: documents/models.py:35
msgid "Regular expression"
msgstr "Expressão regular"
#: documents/models.py:36
msgid "Fuzzy word"
msgstr "Palavra difusa (fuzzy)"
#: documents/models.py:37
msgid "Automatic"
msgstr "Automático"
#: documents/models.py:41 documents/models.py:350 paperless_mail/models.py:25
#: paperless_mail/models.py:109
msgid "name"
msgstr "nome"
#: documents/models.py:45
msgid "match"
msgstr "correspondência"
#: documents/models.py:49
msgid "matching algorithm"
msgstr "algoritmo correspondente"
#: documents/models.py:55
msgid "is insensitive"
msgstr ""
#: documents/models.py:74 documents/models.py:120
msgid "correspondent"
msgstr "correspondente"
#: documents/models.py:75
msgid "correspondents"
msgstr "correspondentes"
#: documents/models.py:81
msgid "color"
msgstr "cor"
#: documents/models.py:87
msgid "is inbox tag"
msgstr "é etiqueta de novo"
#: documents/models.py:89
msgid "Marks this tag as an inbox tag: All newly consumed documents will be tagged with inbox tags."
msgstr ""
#: documents/models.py:94
msgid "tag"
msgstr "etiqueta"
#: documents/models.py:95 documents/models.py:151
msgid "tags"
msgstr "etiquetas"
#: documents/models.py:101 documents/models.py:133
msgid "document type"
msgstr "tipo de documento"
#: documents/models.py:102
msgid "document types"
msgstr "tipos de documento"
#: documents/models.py:110
msgid "Unencrypted"
msgstr "Não encriptado"
#: documents/models.py:111
msgid "Encrypted with GNU Privacy Guard"
msgstr "Encriptado com GNU Privacy Guard"
#: documents/models.py:124
msgid "title"
msgstr "título"
#: documents/models.py:137
msgid "content"
msgstr "conteúdo"
#: documents/models.py:139
msgid "The raw, text-only data of the document. This field is primarily used for searching."
msgstr ""
#: documents/models.py:144
msgid "mime type"
msgstr ""
#: documents/models.py:155
msgid "checksum"
msgstr ""
#: documents/models.py:159
msgid "The checksum of the original document."
msgstr ""
#: documents/models.py:163
msgid "archive checksum"
msgstr ""
#: documents/models.py:168
msgid "The checksum of the archived document."
msgstr ""
#: documents/models.py:172 documents/models.py:328
msgid "created"
msgstr "criado"
#: documents/models.py:176
msgid "modified"
msgstr "modificado"
#: documents/models.py:180
msgid "storage type"
msgstr "tipo de armazenamento"
#: documents/models.py:188
msgid "added"
msgstr "adicionado"
#: documents/models.py:192
msgid "filename"
msgstr "nome de ficheiro"
#: documents/models.py:198
msgid "Current filename in storage"
msgstr ""
#: documents/models.py:202
msgid "archive filename"
msgstr ""
#: documents/models.py:208
msgid "Current archive filename in storage"
msgstr ""
#: documents/models.py:212
msgid "archive serial number"
msgstr ""
#: documents/models.py:217
msgid "The position of this document in your physical document archive."
msgstr ""
#: documents/models.py:223
msgid "document"
msgstr "documento"
#: documents/models.py:224
msgid "documents"
msgstr "documentos"
#: documents/models.py:311
msgid "debug"
msgstr "depurar"
#: documents/models.py:312
msgid "information"
msgstr "informação"
#: documents/models.py:313
msgid "warning"
msgstr "aviso"
#: documents/models.py:314
msgid "error"
msgstr "erro"
#: documents/models.py:315
msgid "critical"
msgstr "crítico"
#: documents/models.py:319
msgid "group"
msgstr "grupo"
#: documents/models.py:322
msgid "message"
msgstr "mensagem"
#: documents/models.py:325
msgid "level"
msgstr "nível"
#: documents/models.py:332
msgid "log"
msgstr "registo"
#: documents/models.py:333
msgid "logs"
msgstr "registos"
#: documents/models.py:344 documents/models.py:396
msgid "saved view"
msgstr ""
#: documents/models.py:345
msgid "saved views"
msgstr ""
#: documents/models.py:348
msgid "user"
msgstr "utilizador"
#: documents/models.py:354
msgid "show on dashboard"
msgstr "exibir no painel de controlo"
#: documents/models.py:357
msgid "show in sidebar"
msgstr ""
#: documents/models.py:361
msgid "sort field"
msgstr ""
#: documents/models.py:364
msgid "sort reverse"
msgstr ""
#: documents/models.py:370
msgid "title contains"
msgstr ""
#: documents/models.py:371
msgid "content contains"
msgstr ""
#: documents/models.py:372
msgid "ASN is"
msgstr ""
#: documents/models.py:373
msgid "correspondent is"
msgstr ""
#: documents/models.py:374
msgid "document type is"
msgstr ""
#: documents/models.py:375
msgid "is in inbox"
msgstr ""
#: documents/models.py:376
msgid "has tag"
msgstr ""
#: documents/models.py:377
msgid "has any tag"
msgstr ""
#: documents/models.py:378
msgid "created before"
msgstr ""
#: documents/models.py:379
msgid "created after"
msgstr ""
#: documents/models.py:380
msgid "created year is"
msgstr ""
#: documents/models.py:381
msgid "created month is"
msgstr ""
#: documents/models.py:382
msgid "created day is"
msgstr ""
#: documents/models.py:383
msgid "added before"
msgstr ""
#: documents/models.py:384
msgid "added after"
msgstr ""
#: documents/models.py:385
msgid "modified before"
msgstr ""
#: documents/models.py:386
msgid "modified after"
msgstr ""
#: documents/models.py:387
msgid "does not have tag"
msgstr ""
#: documents/models.py:388
msgid "does not have ASN"
msgstr ""
#: documents/models.py:389
msgid "title or content contains"
msgstr ""
#: documents/models.py:400
msgid "rule type"
msgstr ""
#: documents/models.py:404
msgid "value"
msgstr ""
#: documents/models.py:410
msgid "filter rule"
msgstr ""
#: documents/models.py:411
msgid "filter rules"
msgstr ""
#: documents/serialisers.py:53
#, python-format
msgid "Invalid regular expression: %(error)s"
msgstr ""
#: documents/serialisers.py:177
msgid "Invalid color."
msgstr ""
#: documents/serialisers.py:451
#, python-format
msgid "File type %(type)s not supported"
msgstr ""
#: documents/templates/index.html:21
msgid "Paperless-ng is loading..."
msgstr ""
#: documents/templates/registration/logged_out.html:13
msgid "Paperless-ng signed out"
msgstr ""
#: documents/templates/registration/logged_out.html:41
msgid "You have been successfully logged out. Bye!"
msgstr ""
#: documents/templates/registration/logged_out.html:42
msgid "Sign in again"
msgstr ""
#: documents/templates/registration/login.html:13
msgid "Paperless-ng sign in"
msgstr ""
#: documents/templates/registration/login.html:42
msgid "Please sign in."
msgstr ""
#: documents/templates/registration/login.html:45
msgid "Your username and password didn't match. Please try again."
msgstr ""
#: documents/templates/registration/login.html:48
msgid "Username"
msgstr ""
#: documents/templates/registration/login.html:49
msgid "Password"
msgstr ""
#: documents/templates/registration/login.html:54
msgid "Sign in"
msgstr ""
#: paperless/settings.py:298
msgid "English (US)"
msgstr "Inglês (EUA)"
#: paperless/settings.py:299
msgid "English (GB)"
msgstr "English (GB)"
#: paperless/settings.py:300
msgid "German"
msgstr "Deutsch"
#: paperless/settings.py:301
msgid "Dutch"
msgstr "Nederlandse"
#: paperless/settings.py:302
msgid "French"
msgstr "Français"
#: paperless/settings.py:303
msgid "Portuguese (Brazil)"
msgstr ""
#: paperless/settings.py:304
msgid "Italian"
msgstr ""
#: paperless/settings.py:305
msgid "Romanian"
msgstr ""
#: paperless/settings.py:306
msgid "Russian"
msgstr "Russo"
#: paperless/settings.py:307
msgid "Spanish"
msgstr ""
#: paperless/urls.py:118
msgid "Paperless-ng administration"
msgstr ""
#: paperless_mail/admin.py:25
msgid "Filter"
msgstr ""
#: paperless_mail/admin.py:27
msgid "Paperless will only process mails that match ALL of the filters given below."
msgstr ""
#: paperless_mail/admin.py:37
msgid "Actions"
msgstr "Ações"
#: paperless_mail/admin.py:39
msgid "The action applied to the mail. This action is only performed when documents were consumed from the mail. Mails without attachments will remain entirely untouched."
msgstr ""
#: paperless_mail/admin.py:46
msgid "Metadata"
msgstr "Metadados"
#: paperless_mail/admin.py:48
msgid "Assign metadata to documents consumed from this rule automatically. If you do not assign tags, types or correspondents here, paperless will still process all matching rules that you have defined."
msgstr ""
#: paperless_mail/apps.py:9
msgid "Paperless mail"
msgstr ""
#: paperless_mail/models.py:11
msgid "mail account"
msgstr ""
#: paperless_mail/models.py:12
msgid "mail accounts"
msgstr ""
#: paperless_mail/models.py:19
msgid "No encryption"
msgstr ""
#: paperless_mail/models.py:20
msgid "Use SSL"
msgstr ""
#: paperless_mail/models.py:21
msgid "Use STARTTLS"
msgstr ""
#: paperless_mail/models.py:29
msgid "IMAP server"
msgstr ""
#: paperless_mail/models.py:33
msgid "IMAP port"
msgstr ""
#: paperless_mail/models.py:36
msgid "This is usually 143 for unencrypted and STARTTLS connections, and 993 for SSL connections."
msgstr ""
#: paperless_mail/models.py:40
msgid "IMAP security"
msgstr ""
#: paperless_mail/models.py:46
msgid "username"
msgstr ""
#: paperless_mail/models.py:50
msgid "password"
msgstr ""
#: paperless_mail/models.py:60
msgid "mail rule"
msgstr ""
#: paperless_mail/models.py:61
msgid "mail rules"
msgstr ""
#: paperless_mail/models.py:67
msgid "Only process attachments."
msgstr ""
#: paperless_mail/models.py:68
msgid "Process all files, including 'inline' attachments."
msgstr ""
#: paperless_mail/models.py:78
msgid "Mark as read, don't process read mails"
msgstr ""
#: paperless_mail/models.py:79
msgid "Flag the mail, don't process flagged mails"
msgstr ""
#: paperless_mail/models.py:80
msgid "Move to specified folder"
msgstr ""
#: paperless_mail/models.py:81
msgid "Delete"
msgstr "Excluir"
#: paperless_mail/models.py:88
msgid "Use subject as title"
msgstr ""
#: paperless_mail/models.py:89
msgid "Use attachment filename as title"
msgstr ""
#: paperless_mail/models.py:99
msgid "Do not assign a correspondent"
msgstr ""
#: paperless_mail/models.py:101
msgid "Use mail address"
msgstr ""
#: paperless_mail/models.py:103
msgid "Use name (or mail address if not available)"
msgstr ""
#: paperless_mail/models.py:105
msgid "Use correspondent selected below"
msgstr ""
#: paperless_mail/models.py:113
msgid "order"
msgstr ""
#: paperless_mail/models.py:120
msgid "account"
msgstr ""
#: paperless_mail/models.py:124
msgid "folder"
msgstr ""
#: paperless_mail/models.py:128
msgid "filter from"
msgstr ""
#: paperless_mail/models.py:131
msgid "filter subject"
msgstr ""
#: paperless_mail/models.py:134
msgid "filter body"
msgstr ""
#: paperless_mail/models.py:138
msgid "filter attachment filename"
msgstr ""
#: paperless_mail/models.py:140
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
msgstr ""
#: paperless_mail/models.py:146
msgid "maximum age"
msgstr ""
#: paperless_mail/models.py:148
msgid "Specified in days."
msgstr ""
#: paperless_mail/models.py:151
msgid "attachment type"
msgstr ""
#: paperless_mail/models.py:154
msgid "Inline attachments include embedded images, so it's best to combine this option with a filename filter."
msgstr ""
#: paperless_mail/models.py:159
msgid "action"
msgstr ""
#: paperless_mail/models.py:165
msgid "action parameter"
msgstr ""
#: paperless_mail/models.py:167
msgid "Additional parameter for the action selected above, i.e., the target folder of the move to folder action."
msgstr ""
#: paperless_mail/models.py:173
msgid "assign title from"
msgstr ""
#: paperless_mail/models.py:183
msgid "assign this tag"
msgstr ""
#: paperless_mail/models.py:191
msgid "assign this document type"
msgstr ""
#: paperless_mail/models.py:195
msgid "assign correspondent from"
msgstr ""
#: paperless_mail/models.py:205
msgid "assign this correspondent"
msgstr ""
@@ -1,21 +1,26 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Horea Petrila <petrilahorea@gmail.com>, 2021
# Cubic Lemon <lemonsarecubic@gmail.com>, 2021
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: paperless-ng\n"
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-03-14 13:33+0100\n"
"PO-Revision-Date: 2021-03-14 13:57\n"
"Last-Translator: \n"
"Language-Team: Romanian\n"
"Language: ro_RO\n"
"POT-Creation-Date: 2021-02-28 12:40+0100\n"
"PO-Revision-Date: 2021-02-16 18:37+0000\n"
"Last-Translator: Cubic Lemon <lemonsarecubic@gmail.com>, 2021\n"
"Language-Team: Romanian (https://www.transifex.com/paperless/teams/115905/ro/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n"
"X-Crowdin-Project: paperless-ng\n"
"X-Crowdin-Project-ID: 434940\n"
"X-Crowdin-Language: ro\n"
"X-Crowdin-File: /dev/src/locale/en_US/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 54\n"
"Language: ro\n"
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
#: documents/apps.py:10
msgid "Documents"
@@ -23,7 +28,7 @@ msgstr "Documente"
#: documents/models.py:32
msgid "Any word"
msgstr "Orice cuvânt"
msgstr "Orice cuvant"
#: documents/models.py:33
msgid "All words"
@@ -31,15 +36,15 @@ msgstr "Toate cuvintele"
#: documents/models.py:34
msgid "Exact match"
msgstr "Potrivire exactă"
msgstr "Potrivire exacta"
#: documents/models.py:35
msgid "Regular expression"
msgstr "Expresie regulată"
msgstr "Expresie regulata"
#: documents/models.py:36
msgid "Fuzzy word"
msgstr "Mod neatent"
msgstr "Cuvant neclar"
#: documents/models.py:37
msgid "Automatic"
@@ -60,7 +65,7 @@ msgstr "algoritm de potrivire"
#: documents/models.py:55
msgid "is insensitive"
msgstr "nu ține cont de majuscule"
msgstr "ignora majusculele"
#: documents/models.py:74 documents/models.py:120
msgid "correspondent"
@@ -68,7 +73,7 @@ msgstr "corespondent"
#: documents/models.py:75
msgid "correspondents"
msgstr "corespondenți"
msgstr "corespondenti"
#: documents/models.py:81
msgid "color"
@@ -76,15 +81,19 @@ msgstr "culoare"
#: documents/models.py:87
msgid "is inbox tag"
msgstr "este etichetă inbox"
msgstr "este eticheta inbox"
#: documents/models.py:89
msgid "Marks this tag as an inbox tag: All newly consumed documents will be tagged with inbox tags."
msgstr "Marchează aceasta eticheta ca etichetă inbox: Toate documentele nou consumate primesc aceasta eticheta."
msgid ""
"Marks this tag as an inbox tag: All newly consumed documents will be tagged "
"with inbox tags."
msgstr ""
"Marcheaza aceasta eticheta ca eticheta inbox: Toate documentele nou "
"consumate primesc aceasta eticheta."
#: documents/models.py:94
msgid "tag"
msgstr "etichetă"
msgstr "eticheta"
#: documents/models.py:95 documents/models.py:151
msgid "tags"
@@ -112,19 +121,23 @@ msgstr "titlu"
#: documents/models.py:137
msgid "content"
msgstr "conținut"
msgstr "continut"
#: documents/models.py:139
msgid "The raw, text-only data of the document. This field is primarily used for searching."
msgstr "Textul brut al documentului. Acest camp este folosit in principal pentru căutare."
msgid ""
"The raw, text-only data of the document. This field is primarily used for "
"searching."
msgstr ""
"Textul brut al documentului. Acest camp este folosit in principal pentru "
"cautare."
#: documents/models.py:144
msgid "mime type"
msgstr "tip MIME"
msgstr "tip mime"
#: documents/models.py:155
msgid "checksum"
msgstr "sumă de control"
msgstr "suma de control"
#: documents/models.py:159
msgid "The checksum of the original document."
@@ -152,19 +165,19 @@ msgstr "tip de stocare"
#: documents/models.py:188
msgid "added"
msgstr "adăugat"
msgstr "adaugat"
#: documents/models.py:192
msgid "filename"
msgstr "nume fișier"
msgstr "nume fisier"
#: documents/models.py:198
msgid "Current filename in storage"
msgstr "Numele curent al fișierului stocat"
msgstr "Numele curent al fisierului stocat"
#: documents/models.py:202
msgid "archive filename"
msgstr "nume fișier arhiva"
msgstr "nume fisier arhiva"
#: documents/models.py:208
msgid "Current archive filename in storage"
@@ -172,11 +185,11 @@ msgstr "Numele curent al arhivei stocate"
#: documents/models.py:212
msgid "archive serial number"
msgstr "număr serial in arhiva"
msgstr "numar serial in arhiva"
#: documents/models.py:217
msgid "The position of this document in your physical document archive."
msgstr "Poziția acestui document in arhiva fizica."
msgstr "Pozitia acestui document in arhiva fizica."
#: documents/models.py:223
msgid "document"
@@ -192,7 +205,7 @@ msgstr "depanare"
#: documents/models.py:312
msgid "information"
msgstr "informații"
msgstr "informatii"
#: documents/models.py:313
msgid "warning"
@@ -226,13 +239,13 @@ msgstr "jurnal"
msgid "logs"
msgstr "jurnale"
#: documents/models.py:344 documents/models.py:396
#: documents/models.py:344 documents/models.py:394
msgid "saved view"
msgstr "vizualizare"
#: documents/models.py:345
msgid "saved views"
msgstr "vizualizări"
msgstr "vizualizari"
#: documents/models.py:348
msgid "user"
@@ -240,31 +253,31 @@ msgstr "utilizator"
#: documents/models.py:354
msgid "show on dashboard"
msgstr "afișează pe tabloul de bord"
msgstr "afiseaza pe tabloul de bord"
#: documents/models.py:357
msgid "show in sidebar"
msgstr "afișează in bara laterala"
msgstr "afiseaza in bara laterala"
#: documents/models.py:361
msgid "sort field"
msgstr "sortează camp"
msgstr "sorteaza camp"
#: documents/models.py:364
msgid "sort reverse"
msgstr "sortează invers"
msgstr "sorteaza invers"
#: documents/models.py:370
msgid "title contains"
msgstr "titlul conține"
msgstr "titlul contine"
#: documents/models.py:371
msgid "content contains"
msgstr "conținutul conține"
msgstr "continutul contine"
#: documents/models.py:372
msgid "ASN is"
msgstr "Avizul prealabil de expediție este"
msgstr "ASN-ul este"
#: documents/models.py:373
msgid "correspondent is"
@@ -276,7 +289,7 @@ msgstr "tipul documentului este"
#: documents/models.py:375
msgid "is in inbox"
msgstr "este în inbox"
msgstr "este in inbox"
#: documents/models.py:376
msgid "has tag"
@@ -288,85 +301,77 @@ msgstr "are orice eticheta"
#: documents/models.py:378
msgid "created before"
msgstr "creat înainte de"
msgstr "creat inainte de"
#: documents/models.py:379
msgid "created after"
msgstr "creat după"
msgstr "creat dupa"
#: documents/models.py:380
msgid "created year is"
msgstr "anul creării este"
msgstr "anul crearii este"
#: documents/models.py:381
msgid "created month is"
msgstr "luna creării este"
msgstr "luna crearii este"
#: documents/models.py:382
msgid "created day is"
msgstr "ziua creării este"
msgstr "ziua crearii este"
#: documents/models.py:383
msgid "added before"
msgstr "adăugat înainte de"
msgstr "adaugat inainte de"
#: documents/models.py:384
msgid "added after"
msgstr "adăugat după"
msgstr "adaugat dupa"
#: documents/models.py:385
msgid "modified before"
msgstr "modificat înainte de"
msgstr "modificat inainte de"
#: documents/models.py:386
msgid "modified after"
msgstr "modificat după"
msgstr "modificat dupa"
#: documents/models.py:387
msgid "does not have tag"
msgstr "nu are etichetă"
msgstr "nu are eticheta"
#: documents/models.py:388
msgid "does not have ASN"
msgstr "nu are aviz prealabil de expediție"
#: documents/models.py:389
msgid "title or content contains"
msgstr "titlul sau conținutul conține"
#: documents/models.py:400
#: documents/models.py:398
msgid "rule type"
msgstr "tip de regula"
#: documents/models.py:404
#: documents/models.py:402
msgid "value"
msgstr "valoare"
#: documents/models.py:410
#: documents/models.py:408
msgid "filter rule"
msgstr "regulă de filtrare"
msgstr "regula de filtrare"
#: documents/models.py:411
#: documents/models.py:409
msgid "filter rules"
msgstr "reguli de filtrare"
#: documents/serialisers.py:53
#, python-format
msgid "Invalid regular expression: %(error)s"
msgstr "Expresie regulată invalida: %(error)s"
msgid "Invalid regular expresssion: %(error)s"
msgstr "Expresie regulata invalida: %(error)s"
#: documents/serialisers.py:177
msgid "Invalid color."
msgstr "Culoare invalidă."
msgstr "Culoare invalida."
#: documents/serialisers.py:451
#, python-format
msgid "File type %(type)s not supported"
msgstr "Tip de fișier %(type)s nesuportat"
msgstr "Tip de fisier %(type)s nesuportat "
#: documents/templates/index.html:21
msgid "Paperless-ng is loading..."
msgstr "Paperless-ng se încarca..."
msgstr "Paperless-ng se incarca..."
#: documents/templates/registration/logged_out.html:13
msgid "Paperless-ng signed out"
@@ -374,11 +379,11 @@ msgstr "Paperless-ng s-a deconectat"
#: documents/templates/registration/logged_out.html:41
msgid "You have been successfully logged out. Bye!"
msgstr "Ați fost deconectat cu succes. La revedere!"
msgstr "Ati fost deconectat cu succes. La revedere !"
#: documents/templates/registration/logged_out.html:42
msgid "Sign in again"
msgstr "Conectați-vă din nou"
msgstr "Conectati-va din nou"
#: documents/templates/registration/login.html:13
msgid "Paperless-ng sign in"
@@ -386,11 +391,11 @@ msgstr "Conectare Paperless-ng"
#: documents/templates/registration/login.html:42
msgid "Please sign in."
msgstr "Vă rugăm conectați-vă."
msgstr "Va rugam conectati-va."
#: documents/templates/registration/login.html:45
msgid "Your username and password didn't match. Please try again."
msgstr "Numele si parola nu sunt corecte. Vă rugăm incercați din nou."
msgstr "Numele si parola nu sunt corecte. Va rugam incercati din nou."
#: documents/templates/registration/login.html:48
msgid "Username"
@@ -398,51 +403,43 @@ msgstr "Nume"
#: documents/templates/registration/login.html:49
msgid "Password"
msgstr "Parolă"
msgstr "Parola"
#: documents/templates/registration/login.html:54
msgid "Sign in"
msgstr "Conectare"
#: paperless/settings.py:298
#: paperless/settings.py:297
msgid "English (US)"
msgstr "Engleză (Americană)"
msgstr "Engleza (SUA)"
#: paperless/settings.py:298
msgid "English (GB)"
msgstr "Engleza (UK)"
#: paperless/settings.py:299
msgid "English (GB)"
msgstr "Engleză (Britanică)"
msgid "German"
msgstr "Germana"
#: paperless/settings.py:300
msgid "German"
msgstr "Germană"
msgid "Dutch"
msgstr "Olandeza"
#: paperless/settings.py:301
msgid "Dutch"
msgstr "Olandeză"
msgid "French"
msgstr "Franceza"
#: paperless/settings.py:302
msgid "French"
msgstr "Franceză"
msgid "Portuguese (Brazil)"
msgstr "Portugheza (Brazilia)"
#: paperless/settings.py:303
msgid "Portuguese (Brazil)"
msgstr "Portugheză (Brazilia)"
msgid "Italian"
msgstr "Italiana"
#: paperless/settings.py:304
msgid "Italian"
msgstr "Italiană"
#: paperless/settings.py:305
msgid "Romanian"
msgstr "Română"
#: paperless/settings.py:306
msgid "Russian"
msgstr "Rusă"
#: paperless/settings.py:307
msgid "Spanish"
msgstr ""
msgstr "Romana"
#: paperless/urls.py:118
msgid "Paperless-ng administration"
@@ -453,24 +450,39 @@ msgid "Filter"
msgstr "Filtru"
#: paperless_mail/admin.py:27
msgid "Paperless will only process mails that match ALL of the filters given below."
msgstr "Paperless va procesa doar mail-urile care corespund TUTUROR filtrelor date mai jos."
msgid ""
"Paperless will only process mails that match ALL of the filters given below."
msgstr ""
"Paperless va procesa numai email-urile care se potrivesc cu TOATE filtrele "
"de mai jos."
#: paperless_mail/admin.py:37
msgid "Actions"
msgstr "Acțiuni"
#: paperless_mail/admin.py:39
msgid "The action applied to the mail. This action is only performed when documents were consumed from the mail. Mails without attachments will remain entirely untouched."
msgstr "Acțiunea aplicată tuturor email-urilor. Aceasta este realizată doar când sunt consumate documente din email. Cele fara atașamente nu vor fi procesate."
msgid ""
"The action applied to the mail. This action is only performed when documents"
" were consumed from the mail. Mails without attachments will remain entirely"
" untouched."
msgstr ""
"Actiunea aplicata tuturol email-urilor. Aceasta este realizata doar cand "
"sunt consumate documente din email. Cele fara atasamente nu vor fi "
"procesate."
#: paperless_mail/admin.py:46
msgid "Metadata"
msgstr "Metadate"
#: paperless_mail/admin.py:48
msgid "Assign metadata to documents consumed from this rule automatically. If you do not assign tags, types or correspondents here, paperless will still process all matching rules that you have defined."
msgstr "Atribuie metadate documentelor consumate prin aceasta regula în mod automat. Chiar dacă nu sunt atribuite etichete, tipuri sau corespondenți, Paperless va procesa toate regulile definite care se potrivesc."
msgid ""
"Assign metadata to documents consumed from this rule automatically. If you "
"do not assign tags, types or correspondents here, paperless will still "
"process all matching rules that you have defined."
msgstr ""
"Atribuie metadate documentelor consumate prin aceasta regula in mod automat."
" Chiar daca nu sunt atribuite etichete, tipuri sau corespondenti, Paperless "
"va procesa toate regulile definite care se potrivesc."
#: paperless_mail/apps.py:9
msgid "Paperless mail"
@@ -486,15 +498,15 @@ msgstr "conturi de email"
#: paperless_mail/models.py:19
msgid "No encryption"
msgstr "Fără criptare"
msgstr "Fara criptare"
#: paperless_mail/models.py:20
msgid "Use SSL"
msgstr "Folosește SSL"
msgstr "Foloseste SSL"
#: paperless_mail/models.py:21
msgid "Use STARTTLS"
msgstr "Folosește STARTTLS"
msgstr "Foloseste STARTTLS"
#: paperless_mail/models.py:29
msgid "IMAP server"
@@ -505,8 +517,12 @@ msgid "IMAP port"
msgstr "port IMAP"
#: paperless_mail/models.py:36
msgid "This is usually 143 for unencrypted and STARTTLS connections, and 993 for SSL connections."
msgstr "De obicei este 143 pentru conexiuni necriptate și STARTTLS, sau 993 pentru conexiuni SSL."
msgid ""
"This is usually 143 for unencrypted and STARTTLS connections, and 993 for "
"SSL connections."
msgstr ""
"De obicei este 143 pentru conexiuni necriptate si STARTTLS, sau 993 pentru "
"conexiuni SSL."
#: paperless_mail/models.py:40
msgid "IMAP security"
@@ -518,11 +534,11 @@ msgstr "nume"
#: paperless_mail/models.py:50
msgid "password"
msgstr "parolă"
msgstr "parola"
#: paperless_mail/models.py:60
msgid "mail rule"
msgstr "regulă email"
msgstr "regula email"
#: paperless_mail/models.py:61
msgid "mail rules"
@@ -530,35 +546,35 @@ msgstr "reguli email"
#: paperless_mail/models.py:67
msgid "Only process attachments."
msgstr "Procesează doar atașamentele."
msgstr "Proceseaza doar atasamentele."
#: paperless_mail/models.py:68
msgid "Process all files, including 'inline' attachments."
msgstr "Procesează toate fișierele, inclusiv atașamentele „inline”."
msgstr "Proceseaza toate fisierele, inclusiv atasamentele \"inline\"."
#: paperless_mail/models.py:78
msgid "Mark as read, don't process read mails"
msgstr "Marchează ca citit, nu procesa email-uri citite"
msgstr "Marcheaza ca citit, nu procesa email-uri citite"
#: paperless_mail/models.py:79
msgid "Flag the mail, don't process flagged mails"
msgstr "Marchează, nu procesa email-uri marcate"
msgstr "Semnalizeaza, nu procesa email-uri semnalizate"
#: paperless_mail/models.py:80
msgid "Move to specified folder"
msgstr "Mută în directorul specificat"
msgstr "Muta in directorul specificat"
#: paperless_mail/models.py:81
msgid "Delete"
msgstr "Șterge"
msgstr "Sterge"
#: paperless_mail/models.py:88
msgid "Use subject as title"
msgstr "Utilizează subiectul ca titlu"
msgstr "Foloseste subiectul ca titlu"
#: paperless_mail/models.py:89
msgid "Use attachment filename as title"
msgstr "Utilizează numele fișierului atașat ca titlu"
msgstr "Foloseste numele atasamentului ca titlu"
#: paperless_mail/models.py:99
msgid "Do not assign a correspondent"
@@ -566,19 +582,19 @@ msgstr "Nu atribui un corespondent"
#: paperless_mail/models.py:101
msgid "Use mail address"
msgstr "Folosește adresa de email"
msgstr "Foloseste adresa de email"
#: paperless_mail/models.py:103
msgid "Use name (or mail address if not available)"
msgstr "Folosește numele (dacă nu exista, folosește adresa de email)"
msgstr "Foloseste numele (daca nu exista, foloseste adresa de email)"
#: paperless_mail/models.py:105
msgid "Use correspondent selected below"
msgstr "Folosește corespondentul selectat mai jos"
msgstr "Foloseste corespondentul selectat mai jos"
#: paperless_mail/models.py:113
msgid "order"
msgstr "ordonează"
msgstr "ordoneaza"
#: paperless_mail/models.py:120
msgid "account"
@@ -590,51 +606,65 @@ msgstr "director"
#: paperless_mail/models.py:128
msgid "filter from"
msgstr "filtrează de la"
msgstr "filtreaza de la"
#: paperless_mail/models.py:131
msgid "filter subject"
msgstr "filtrează subiect"
msgstr "filtreaza subiect"
#: paperless_mail/models.py:134
msgid "filter body"
msgstr "filtrează corpul email-ului"
msgstr "filtreaza corpul email-ului"
#: paperless_mail/models.py:138
msgid "filter attachment filename"
msgstr "filtrează numele fișierului atașat"
msgstr "filtreaza numele atasamentului"
#: paperless_mail/models.py:140
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
msgstr "Consumă doar documentele care se potrivesc în întregime cu acest nume de fișier, dacă este specificat. Simbolul * ține locul oricărui șir de caractere. Majusculele nu contează."
msgid ""
"Only consume documents which entirely match this filename if specified. "
"Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
msgstr ""
"Consuma doar documentele care se potrivesc in intregime cu acest nume de "
"fisier, daca este specificat. Simbolul * tine locul oricarui sir de "
"caractere. Majusculele nu conteaza."
#: paperless_mail/models.py:146
msgid "maximum age"
msgstr "vârsta maximă"
msgstr "varsta maxima"
#: paperless_mail/models.py:148
msgid "Specified in days."
msgstr "Specificată in zile."
msgstr "Specificata in zile."
#: paperless_mail/models.py:151
msgid "attachment type"
msgstr "tip atașament"
msgstr "tipul atasamentului"
#: paperless_mail/models.py:154
msgid "Inline attachments include embedded images, so it's best to combine this option with a filename filter."
msgstr "Atașamentele \"inline\" includ și imaginile încorporate, deci această opțiune funcționează cel mai bine combinată cu un filtru pentru numele fișierului."
msgid ""
"Inline attachments include embedded images, so it's best to combine this "
"option with a filename filter."
msgstr ""
"Atasamentele \"inline\" includ si imaginile incorporate, deci aceasta "
"optiune functioneaza cel mai bine combinata cu un filtru pentru numele "
"fisierului."
#: paperless_mail/models.py:159
msgid "action"
msgstr "acţiune"
msgstr "actiune"
#: paperless_mail/models.py:165
msgid "action parameter"
msgstr "parametru acțiune"
msgstr "parametru al actiunii"
#: paperless_mail/models.py:167
msgid "Additional parameter for the action selected above, i.e., the target folder of the move to folder action."
msgstr "Parametru adițional pentru acțiunea definită mai sus (ex. directorul în care să se realizeze o mutare)."
msgid ""
"Additional parameter for the action selected above, i.e., the target folder "
"of the move to folder action."
msgstr ""
"Parametru aditional pentru actiunea definita mai sus (ex. directorul in care"
" sa se realizeze o mutare)"
#: paperless_mail/models.py:173
msgid "assign title from"
@@ -642,7 +672,7 @@ msgstr "atribuie titlu din"
#: paperless_mail/models.py:183
msgid "assign this tag"
msgstr "atribuie această etichetă"
msgstr "atribuie aceasta eticheta"
#: paperless_mail/models.py:191
msgid "assign this document type"
@@ -655,4 +685,3 @@ msgstr "atribuie corespondent din"
#: paperless_mail/models.py:205
msgid "assign this correspondent"
msgstr "atribuie acest corespondent"
-658
View File
@@ -1,658 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: paperless-ng\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-03-14 13:33+0100\n"
"PO-Revision-Date: 2021-03-14 13:57\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
"Language: ru_RU\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n"
"X-Crowdin-Project: paperless-ng\n"
"X-Crowdin-Project-ID: 434940\n"
"X-Crowdin-Language: ru\n"
"X-Crowdin-File: /dev/src/locale/en_US/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 54\n"
#: documents/apps.py:10
msgid "Documents"
msgstr "Документы"
#: documents/models.py:32
msgid "Any word"
msgstr "Любые слова"
#: documents/models.py:33
msgid "All words"
msgstr "Все слова"
#: documents/models.py:34
msgid "Exact match"
msgstr "Точное соответствие"
#: documents/models.py:35
msgid "Regular expression"
msgstr "Регулярное выражение"
#: documents/models.py:36
msgid "Fuzzy word"
msgstr "\"Нечёткий\" режим"
#: documents/models.py:37
msgid "Automatic"
msgstr "Автоматически"
#: documents/models.py:41 documents/models.py:350 paperless_mail/models.py:25
#: paperless_mail/models.py:109
msgid "name"
msgstr "имя"
#: documents/models.py:45
msgid "match"
msgstr "соответствие"
#: documents/models.py:49
msgid "matching algorithm"
msgstr "алгоритм сопоставления"
#: documents/models.py:55
msgid "is insensitive"
msgstr "без учёта регистра"
#: documents/models.py:74 documents/models.py:120
msgid "correspondent"
msgstr "корреспондент"
#: documents/models.py:75
msgid "correspondents"
msgstr "корреспонденты"
#: documents/models.py:81
msgid "color"
msgstr "цвет"
#: documents/models.py:87
msgid "is inbox tag"
msgstr "это входящий тег"
#: documents/models.py:89
msgid "Marks this tag as an inbox tag: All newly consumed documents will be tagged with inbox tags."
msgstr "Отметить этот тег как «Входящий»: все вновь добавленные документы будут помечены тегами «Входящие»."
#: documents/models.py:94
msgid "tag"
msgstr "тег"
#: documents/models.py:95 documents/models.py:151
msgid "tags"
msgstr "теги"
#: documents/models.py:101 documents/models.py:133
msgid "document type"
msgstr "тип документа"
#: documents/models.py:102
msgid "document types"
msgstr "типы документов"
#: documents/models.py:110
msgid "Unencrypted"
msgstr "не зашифровано"
#: documents/models.py:111
msgid "Encrypted with GNU Privacy Guard"
msgstr "Зашифровано с помощью GNU Privacy Guard"
#: documents/models.py:124
msgid "title"
msgstr "заголовок"
#: documents/models.py:137
msgid "content"
msgstr "содержимое"
#: documents/models.py:139
msgid "The raw, text-only data of the document. This field is primarily used for searching."
msgstr "Это поле используется в основном для поиска."
#: documents/models.py:144
msgid "mime type"
msgstr "тип Mime"
#: documents/models.py:155
msgid "checksum"
msgstr "контрольная сумма"
#: documents/models.py:159
msgid "The checksum of the original document."
msgstr "Контрольная сумма оригинального документа."
#: documents/models.py:163
msgid "archive checksum"
msgstr "контрольная сумма архива"
#: documents/models.py:168
msgid "The checksum of the archived document."
msgstr "Контрольная сумма архивного документа."
#: documents/models.py:172 documents/models.py:328
msgid "created"
msgstr "создано"
#: documents/models.py:176
msgid "modified"
msgstr "изменено"
#: documents/models.py:180
msgid "storage type"
msgstr "тип хранилища"
#: documents/models.py:188
msgid "added"
msgstr "добавлено"
#: documents/models.py:192
msgid "filename"
msgstr "имя файла"
#: documents/models.py:198
msgid "Current filename in storage"
msgstr "Текущее имя файла в хранилище"
#: documents/models.py:202
msgid "archive filename"
msgstr "имя файла архива"
#: documents/models.py:208
msgid "Current archive filename in storage"
msgstr "Текущее имя файла архива в хранилище"
#: documents/models.py:212
msgid "archive serial number"
msgstr "архивный номер (АН)"
#: documents/models.py:217
msgid "The position of this document in your physical document archive."
msgstr "Позиция этого документа в вашем физическом архиве документов."
#: documents/models.py:223
msgid "document"
msgstr "документ"
#: documents/models.py:224
msgid "documents"
msgstr "документы"
#: documents/models.py:311
msgid "debug"
msgstr "отладка"
#: documents/models.py:312
msgid "information"
msgstr "информация"
#: documents/models.py:313
msgid "warning"
msgstr "предупреждение"
#: documents/models.py:314
msgid "error"
msgstr "ошибка"
#: documents/models.py:315
msgid "critical"
msgstr "критическая"
#: documents/models.py:319
msgid "group"
msgstr "группа"
#: documents/models.py:322
msgid "message"
msgstr "сообщение"
#: documents/models.py:325
msgid "level"
msgstr "уровень"
#: documents/models.py:332
msgid "log"
msgstr "журнал"
#: documents/models.py:333
msgid "logs"
msgstr "логи"
#: documents/models.py:344 documents/models.py:396
msgid "saved view"
msgstr "сохранённое представление"
#: documents/models.py:345
msgid "saved views"
msgstr "сохраненные представления"
#: documents/models.py:348
msgid "user"
msgstr "пользователь"
#: documents/models.py:354
msgid "show on dashboard"
msgstr "показать на панели"
#: documents/models.py:357
msgid "show in sidebar"
msgstr "показать в боковой панели"
#: documents/models.py:361
msgid "sort field"
msgstr "Поле сортировки"
#: documents/models.py:364
msgid "sort reverse"
msgstr "обратная сортировка"
#: documents/models.py:370
msgid "title contains"
msgstr "заголовок содержит"
#: documents/models.py:371
msgid "content contains"
msgstr "содержимое содержит"
#: documents/models.py:372
msgid "ASN is"
msgstr "АН"
#: documents/models.py:373
msgid "correspondent is"
msgstr "корреспондент"
#: documents/models.py:374
msgid "document type is"
msgstr "тип документа"
#: documents/models.py:375
msgid "is in inbox"
msgstr "во входящих"
#: documents/models.py:376
msgid "has tag"
msgstr "есть тег"
#: documents/models.py:377
msgid "has any tag"
msgstr "есть любой тег"
#: documents/models.py:378
msgid "created before"
msgstr "создан до"
#: documents/models.py:379
msgid "created after"
msgstr "создан после"
#: documents/models.py:380
msgid "created year is"
msgstr "год создания"
#: documents/models.py:381
msgid "created month is"
msgstr "месяц создания"
#: documents/models.py:382
msgid "created day is"
msgstr "день создания"
#: documents/models.py:383
msgid "added before"
msgstr "добавлен до"
#: documents/models.py:384
msgid "added after"
msgstr "добавлен после"
#: documents/models.py:385
msgid "modified before"
msgstr "изменен до"
#: documents/models.py:386
msgid "modified after"
msgstr "изменен после"
#: documents/models.py:387
msgid "does not have tag"
msgstr "не имеет тега"
#: documents/models.py:388
msgid "does not have ASN"
msgstr ""
#: documents/models.py:389
msgid "title or content contains"
msgstr ""
#: documents/models.py:400
msgid "rule type"
msgstr "Тип правила"
#: documents/models.py:404
msgid "value"
msgstr "значение"
#: documents/models.py:410
msgid "filter rule"
msgstr "Правило фильтрации"
#: documents/models.py:411
msgid "filter rules"
msgstr "правила фильтрации"
#: documents/serialisers.py:53
#, python-format
msgid "Invalid regular expression: %(error)s"
msgstr "неверное регулярное выражение: %(error)s"
#: documents/serialisers.py:177
msgid "Invalid color."
msgstr "Неверный цвет."
#: documents/serialisers.py:451
#, python-format
msgid "File type %(type)s not supported"
msgstr "Тип файла %(type)s не поддерживается"
#: documents/templates/index.html:21
msgid "Paperless-ng is loading..."
msgstr "Paperless-ng загружается..."
#: documents/templates/registration/logged_out.html:13
msgid "Paperless-ng signed out"
msgstr "Выполнен выход из Paperless-ng"
#: documents/templates/registration/logged_out.html:41
msgid "You have been successfully logged out. Bye!"
msgstr "Вы успешно вышли из системы. До свидания!"
#: documents/templates/registration/logged_out.html:42
msgid "Sign in again"
msgstr "Войти снова"
#: documents/templates/registration/login.html:13
msgid "Paperless-ng sign in"
msgstr "Выполнен выход в Paperless-ng"
#: documents/templates/registration/login.html:42
msgid "Please sign in."
msgstr "Пожалуйста, войдите."
#: documents/templates/registration/login.html:45
msgid "Your username and password didn't match. Please try again."
msgstr "Неправильные имя пользователя или пароль! Попробуйте еще раз."
#: documents/templates/registration/login.html:48
msgid "Username"
msgstr "Имя пользователя"
#: documents/templates/registration/login.html:49
msgid "Password"
msgstr "Пароль"
#: documents/templates/registration/login.html:54
msgid "Sign in"
msgstr "Вход"
#: paperless/settings.py:298
msgid "English (US)"
msgstr "Английский (США)"
#: paperless/settings.py:299
msgid "English (GB)"
msgstr "Английский (Великобритании)"
#: paperless/settings.py:300
msgid "German"
msgstr "Немецкий"
#: paperless/settings.py:301
msgid "Dutch"
msgstr "Датский"
#: paperless/settings.py:302
msgid "French"
msgstr "Французский"
#: paperless/settings.py:303
msgid "Portuguese (Brazil)"
msgstr "Portuguese (Brazil)"
#: paperless/settings.py:304
msgid "Italian"
msgstr "Italian"
#: paperless/settings.py:305
msgid "Romanian"
msgstr "Romanian"
#: paperless/settings.py:306
msgid "Russian"
msgstr ""
#: paperless/settings.py:307
msgid "Spanish"
msgstr ""
#: paperless/urls.py:118
msgid "Paperless-ng administration"
msgstr "Администрирование Paperless-ng"
#: paperless_mail/admin.py:25
msgid "Filter"
msgstr "Фильтр"
#: paperless_mail/admin.py:27
msgid "Paperless will only process mails that match ALL of the filters given below."
msgstr "Paperless будет обрабатывать только те письма, которые соответствуют всем фильтрам, указанным ниже."
#: paperless_mail/admin.py:37
msgid "Actions"
msgstr "Действия"
#: paperless_mail/admin.py:39
msgid "The action applied to the mail. This action is only performed when documents were consumed from the mail. Mails without attachments will remain entirely untouched."
msgstr "Действие применено к письму. Это действие применяется только при обработке документов из почты. Сообщения без вложений не обрабатываются."
#: paperless_mail/admin.py:46
msgid "Metadata"
msgstr "Метаданные"
#: paperless_mail/admin.py:48
msgid "Assign metadata to documents consumed from this rule automatically. If you do not assign tags, types or correspondents here, paperless will still process all matching rules that you have defined."
msgstr "Автоматически назначать метаданные документам, полученным из этого правила. Если вы не назначаете здесь теги, типы или корреспонденты, paperless все равно будут обрабатывать все соответствующие правила, которые вы определили."
#: paperless_mail/apps.py:9
msgid "Paperless mail"
msgstr "Безбумажная почта"
#: paperless_mail/models.py:11
msgid "mail account"
msgstr "почтовый ящик"
#: paperless_mail/models.py:12
msgid "mail accounts"
msgstr "Почтовые ящики"
#: paperless_mail/models.py:19
msgid "No encryption"
msgstr "Без шифрования"
#: paperless_mail/models.py:20
msgid "Use SSL"
msgstr "Использовать SSL"
#: paperless_mail/models.py:21
msgid "Use STARTTLS"
msgstr "Использовать STARTTLS"
#: paperless_mail/models.py:29
msgid "IMAP server"
msgstr "Сервер IMAP"
#: paperless_mail/models.py:33
msgid "IMAP port"
msgstr "Порт IMAP"
#: paperless_mail/models.py:36
msgid "This is usually 143 for unencrypted and STARTTLS connections, and 993 for SSL connections."
msgstr "Обычно это 143 для нешифрованных и STARTTLS соединений и 993 для SSL-соединений."
#: paperless_mail/models.py:40
msgid "IMAP security"
msgstr "Безопасность IMAP"
#: paperless_mail/models.py:46
msgid "username"
msgstr "Имя пользователя"
#: paperless_mail/models.py:50
msgid "password"
msgstr "пароль"
#: paperless_mail/models.py:60
msgid "mail rule"
msgstr "правило почты"
#: paperless_mail/models.py:61
msgid "mail rules"
msgstr "правила почты"
#: paperless_mail/models.py:67
msgid "Only process attachments."
msgstr "Обрабатывать только вложения."
#: paperless_mail/models.py:68
msgid "Process all files, including 'inline' attachments."
msgstr "Обрабатывать все файлы, включая 'встроенные' вложения."
#: paperless_mail/models.py:78
msgid "Mark as read, don't process read mails"
msgstr "Пометить как прочитанное, не обрабатывать прочитанные письма"
#: paperless_mail/models.py:79
msgid "Flag the mail, don't process flagged mails"
msgstr "Пометить почту, не обрабатывать помеченные письма"
#: paperless_mail/models.py:80
msgid "Move to specified folder"
msgstr "Переместить в указанную папку"
#: paperless_mail/models.py:81
msgid "Delete"
msgstr "Удалить"
#: paperless_mail/models.py:88
msgid "Use subject as title"
msgstr "Тема в качестве заголовка"
#: paperless_mail/models.py:89
msgid "Use attachment filename as title"
msgstr "Использовать имя вложенного файла как заголовок"
#: paperless_mail/models.py:99
msgid "Do not assign a correspondent"
msgstr "Не назначать корреспондента"
#: paperless_mail/models.py:101
msgid "Use mail address"
msgstr "Использовать email адрес"
#: paperless_mail/models.py:103
msgid "Use name (or mail address if not available)"
msgstr "Использовать имя (или адрес электронной почты, если недоступно)"
#: paperless_mail/models.py:105
msgid "Use correspondent selected below"
msgstr "Использовать корреспондента, выбранного ниже"
#: paperless_mail/models.py:113
msgid "order"
msgstr "порядок"
#: paperless_mail/models.py:120
msgid "account"
msgstr "Учётная запись"
#: paperless_mail/models.py:124
msgid "folder"
msgstr "каталог"
#: paperless_mail/models.py:128
msgid "filter from"
msgstr "фильтр по отправителю"
#: paperless_mail/models.py:131
msgid "filter subject"
msgstr "фильтр по теме"
#: paperless_mail/models.py:134
msgid "filter body"
msgstr "фильтр по тексту сообщения"
#: paperless_mail/models.py:138
msgid "filter attachment filename"
msgstr "фильтр по имени вложения"
#: paperless_mail/models.py:140
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
msgstr "Обрабатывать только документы, которые полностью совпадают с именем файла (если оно указано). Маски, например *.pdf или *счет*, разрешены. Без учёта регистра."
#: paperless_mail/models.py:146
msgid "maximum age"
msgstr "Максимальный возраст"
#: paperless_mail/models.py:148
msgid "Specified in days."
msgstr "Указывается в днях."
#: paperless_mail/models.py:151
msgid "attachment type"
msgstr "Тип вложения"
#: paperless_mail/models.py:154
msgid "Inline attachments include embedded images, so it's best to combine this option with a filename filter."
msgstr "Вложенные вложения включая встраиваемые изображения. Лучше совместить эту опцию с фильтром по имени вложения."
#: paperless_mail/models.py:159
msgid "action"
msgstr "действие"
#: paperless_mail/models.py:165
msgid "action parameter"
msgstr "параметр действия"
#: paperless_mail/models.py:167
msgid "Additional parameter for the action selected above, i.e., the target folder of the move to folder action."
msgstr "Дополнительный параметр для выбранного действия, например целевой каталог для действия \"переместить в каталог\"."
#: paperless_mail/models.py:173
msgid "assign title from"
msgstr "назначить заголовок из"
#: paperless_mail/models.py:183
msgid "assign this tag"
msgstr "назначить этот тег"
#: paperless_mail/models.py:191
msgid "assign this document type"
msgstr "назначить этот тип документа"
#: paperless_mail/models.py:195
msgid "assign correspondent from"
msgstr "назначить корреспондента из"
#: paperless_mail/models.py:205
msgid "assign this correspondent"
msgstr "назначить этого корреспондента"
-642
View File
@@ -1,642 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: paperless-ng\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-28 12:40+0100\n"
"PO-Revision-Date: 2021-03-06 21:39\n"
"Last-Translator: \n"
"Language-Team: Thai\n"
"Language: th_TH\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Crowdin-Project: paperless-ng\n"
"X-Crowdin-Project-ID: 434940\n"
"X-Crowdin-Language: th\n"
"X-Crowdin-File: /dev/src/locale/en_US/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 54\n"
#: documents/apps.py:10
msgid "Documents"
msgstr ""
#: documents/models.py:32
msgid "Any word"
msgstr ""
#: documents/models.py:33
msgid "All words"
msgstr ""
#: documents/models.py:34
msgid "Exact match"
msgstr ""
#: documents/models.py:35
msgid "Regular expression"
msgstr ""
#: documents/models.py:36
msgid "Fuzzy word"
msgstr ""
#: documents/models.py:37
msgid "Automatic"
msgstr ""
#: documents/models.py:41 documents/models.py:350 paperless_mail/models.py:25
#: paperless_mail/models.py:109
msgid "name"
msgstr ""
#: documents/models.py:45
msgid "match"
msgstr ""
#: documents/models.py:49
msgid "matching algorithm"
msgstr ""
#: documents/models.py:55
msgid "is insensitive"
msgstr ""
#: documents/models.py:74 documents/models.py:120
msgid "correspondent"
msgstr ""
#: documents/models.py:75
msgid "correspondents"
msgstr ""
#: documents/models.py:81
msgid "color"
msgstr ""
#: documents/models.py:87
msgid "is inbox tag"
msgstr ""
#: documents/models.py:89
msgid "Marks this tag as an inbox tag: All newly consumed documents will be tagged with inbox tags."
msgstr ""
#: documents/models.py:94
msgid "tag"
msgstr ""
#: documents/models.py:95 documents/models.py:151
msgid "tags"
msgstr ""
#: documents/models.py:101 documents/models.py:133
msgid "document type"
msgstr ""
#: documents/models.py:102
msgid "document types"
msgstr ""
#: documents/models.py:110
msgid "Unencrypted"
msgstr ""
#: documents/models.py:111
msgid "Encrypted with GNU Privacy Guard"
msgstr ""
#: documents/models.py:124
msgid "title"
msgstr ""
#: documents/models.py:137
msgid "content"
msgstr ""
#: documents/models.py:139
msgid "The raw, text-only data of the document. This field is primarily used for searching."
msgstr ""
#: documents/models.py:144
msgid "mime type"
msgstr ""
#: documents/models.py:155
msgid "checksum"
msgstr ""
#: documents/models.py:159
msgid "The checksum of the original document."
msgstr ""
#: documents/models.py:163
msgid "archive checksum"
msgstr ""
#: documents/models.py:168
msgid "The checksum of the archived document."
msgstr ""
#: documents/models.py:172 documents/models.py:328
msgid "created"
msgstr ""
#: documents/models.py:176
msgid "modified"
msgstr ""
#: documents/models.py:180
msgid "storage type"
msgstr ""
#: documents/models.py:188
msgid "added"
msgstr ""
#: documents/models.py:192
msgid "filename"
msgstr ""
#: documents/models.py:198
msgid "Current filename in storage"
msgstr ""
#: documents/models.py:202
msgid "archive filename"
msgstr ""
#: documents/models.py:208
msgid "Current archive filename in storage"
msgstr ""
#: documents/models.py:212
msgid "archive serial number"
msgstr ""
#: documents/models.py:217
msgid "The position of this document in your physical document archive."
msgstr ""
#: documents/models.py:223
msgid "document"
msgstr ""
#: documents/models.py:224
msgid "documents"
msgstr ""
#: documents/models.py:311
msgid "debug"
msgstr ""
#: documents/models.py:312
msgid "information"
msgstr ""
#: documents/models.py:313
msgid "warning"
msgstr ""
#: documents/models.py:314
msgid "error"
msgstr ""
#: documents/models.py:315
msgid "critical"
msgstr ""
#: documents/models.py:319
msgid "group"
msgstr ""
#: documents/models.py:322
msgid "message"
msgstr ""
#: documents/models.py:325
msgid "level"
msgstr ""
#: documents/models.py:332
msgid "log"
msgstr ""
#: documents/models.py:333
msgid "logs"
msgstr ""
#: documents/models.py:344 documents/models.py:394
msgid "saved view"
msgstr ""
#: documents/models.py:345
msgid "saved views"
msgstr ""
#: documents/models.py:348
msgid "user"
msgstr ""
#: documents/models.py:354
msgid "show on dashboard"
msgstr ""
#: documents/models.py:357
msgid "show in sidebar"
msgstr ""
#: documents/models.py:361
msgid "sort field"
msgstr ""
#: documents/models.py:364
msgid "sort reverse"
msgstr ""
#: documents/models.py:370
msgid "title contains"
msgstr ""
#: documents/models.py:371
msgid "content contains"
msgstr ""
#: documents/models.py:372
msgid "ASN is"
msgstr ""
#: documents/models.py:373
msgid "correspondent is"
msgstr ""
#: documents/models.py:374
msgid "document type is"
msgstr ""
#: documents/models.py:375
msgid "is in inbox"
msgstr ""
#: documents/models.py:376
msgid "has tag"
msgstr ""
#: documents/models.py:377
msgid "has any tag"
msgstr ""
#: documents/models.py:378
msgid "created before"
msgstr ""
#: documents/models.py:379
msgid "created after"
msgstr ""
#: documents/models.py:380
msgid "created year is"
msgstr ""
#: documents/models.py:381
msgid "created month is"
msgstr ""
#: documents/models.py:382
msgid "created day is"
msgstr ""
#: documents/models.py:383
msgid "added before"
msgstr ""
#: documents/models.py:384
msgid "added after"
msgstr ""
#: documents/models.py:385
msgid "modified before"
msgstr ""
#: documents/models.py:386
msgid "modified after"
msgstr ""
#: documents/models.py:387
msgid "does not have tag"
msgstr ""
#: documents/models.py:398
msgid "rule type"
msgstr ""
#: documents/models.py:402
msgid "value"
msgstr ""
#: documents/models.py:408
msgid "filter rule"
msgstr ""
#: documents/models.py:409
msgid "filter rules"
msgstr ""
#: documents/serialisers.py:53
#, python-format
msgid "Invalid regular expresssion: %(error)s"
msgstr ""
#: documents/serialisers.py:177
msgid "Invalid color."
msgstr ""
#: documents/serialisers.py:451
#, python-format
msgid "File type %(type)s not supported"
msgstr ""
#: documents/templates/index.html:21
msgid "Paperless-ng is loading..."
msgstr ""
#: documents/templates/registration/logged_out.html:13
msgid "Paperless-ng signed out"
msgstr ""
#: documents/templates/registration/logged_out.html:41
msgid "You have been successfully logged out. Bye!"
msgstr ""
#: documents/templates/registration/logged_out.html:42
msgid "Sign in again"
msgstr ""
#: documents/templates/registration/login.html:13
msgid "Paperless-ng sign in"
msgstr ""
#: documents/templates/registration/login.html:42
msgid "Please sign in."
msgstr ""
#: documents/templates/registration/login.html:45
msgid "Your username and password didn't match. Please try again."
msgstr ""
#: documents/templates/registration/login.html:48
msgid "Username"
msgstr ""
#: documents/templates/registration/login.html:49
msgid "Password"
msgstr ""
#: documents/templates/registration/login.html:54
msgid "Sign in"
msgstr ""
#: paperless/settings.py:297
msgid "English (US)"
msgstr ""
#: paperless/settings.py:298
msgid "English (GB)"
msgstr ""
#: paperless/settings.py:299
msgid "German"
msgstr ""
#: paperless/settings.py:300
msgid "Dutch"
msgstr ""
#: paperless/settings.py:301
msgid "French"
msgstr ""
#: paperless/settings.py:302
msgid "Portuguese (Brazil)"
msgstr ""
#: paperless/settings.py:303
msgid "Italian"
msgstr ""
#: paperless/settings.py:304
msgid "Romanian"
msgstr ""
#: paperless/urls.py:118
msgid "Paperless-ng administration"
msgstr ""
#: paperless_mail/admin.py:25
msgid "Filter"
msgstr ""
#: paperless_mail/admin.py:27
msgid "Paperless will only process mails that match ALL of the filters given below."
msgstr ""
#: paperless_mail/admin.py:37
msgid "Actions"
msgstr ""
#: paperless_mail/admin.py:39
msgid "The action applied to the mail. This action is only performed when documents were consumed from the mail. Mails without attachments will remain entirely untouched."
msgstr ""
#: paperless_mail/admin.py:46
msgid "Metadata"
msgstr ""
#: paperless_mail/admin.py:48
msgid "Assign metadata to documents consumed from this rule automatically. If you do not assign tags, types or correspondents here, paperless will still process all matching rules that you have defined."
msgstr ""
#: paperless_mail/apps.py:9
msgid "Paperless mail"
msgstr ""
#: paperless_mail/models.py:11
msgid "mail account"
msgstr ""
#: paperless_mail/models.py:12
msgid "mail accounts"
msgstr ""
#: paperless_mail/models.py:19
msgid "No encryption"
msgstr ""
#: paperless_mail/models.py:20
msgid "Use SSL"
msgstr ""
#: paperless_mail/models.py:21
msgid "Use STARTTLS"
msgstr ""
#: paperless_mail/models.py:29
msgid "IMAP server"
msgstr ""
#: paperless_mail/models.py:33
msgid "IMAP port"
msgstr ""
#: paperless_mail/models.py:36
msgid "This is usually 143 for unencrypted and STARTTLS connections, and 993 for SSL connections."
msgstr ""
#: paperless_mail/models.py:40
msgid "IMAP security"
msgstr ""
#: paperless_mail/models.py:46
msgid "username"
msgstr ""
#: paperless_mail/models.py:50
msgid "password"
msgstr ""
#: paperless_mail/models.py:60
msgid "mail rule"
msgstr ""
#: paperless_mail/models.py:61
msgid "mail rules"
msgstr ""
#: paperless_mail/models.py:67
msgid "Only process attachments."
msgstr ""
#: paperless_mail/models.py:68
msgid "Process all files, including 'inline' attachments."
msgstr ""
#: paperless_mail/models.py:78
msgid "Mark as read, don't process read mails"
msgstr ""
#: paperless_mail/models.py:79
msgid "Flag the mail, don't process flagged mails"
msgstr ""
#: paperless_mail/models.py:80
msgid "Move to specified folder"
msgstr ""
#: paperless_mail/models.py:81
msgid "Delete"
msgstr ""
#: paperless_mail/models.py:88
msgid "Use subject as title"
msgstr ""
#: paperless_mail/models.py:89
msgid "Use attachment filename as title"
msgstr ""
#: paperless_mail/models.py:99
msgid "Do not assign a correspondent"
msgstr ""
#: paperless_mail/models.py:101
msgid "Use mail address"
msgstr ""
#: paperless_mail/models.py:103
msgid "Use name (or mail address if not available)"
msgstr ""
#: paperless_mail/models.py:105
msgid "Use correspondent selected below"
msgstr ""
#: paperless_mail/models.py:113
msgid "order"
msgstr ""
#: paperless_mail/models.py:120
msgid "account"
msgstr ""
#: paperless_mail/models.py:124
msgid "folder"
msgstr ""
#: paperless_mail/models.py:128
msgid "filter from"
msgstr ""
#: paperless_mail/models.py:131
msgid "filter subject"
msgstr ""
#: paperless_mail/models.py:134
msgid "filter body"
msgstr ""
#: paperless_mail/models.py:138
msgid "filter attachment filename"
msgstr ""
#: paperless_mail/models.py:140
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
msgstr ""
#: paperless_mail/models.py:146
msgid "maximum age"
msgstr ""
#: paperless_mail/models.py:148
msgid "Specified in days."
msgstr ""
#: paperless_mail/models.py:151
msgid "attachment type"
msgstr ""
#: paperless_mail/models.py:154
msgid "Inline attachments include embedded images, so it's best to combine this option with a filename filter."
msgstr ""
#: paperless_mail/models.py:159
msgid "action"
msgstr ""
#: paperless_mail/models.py:165
msgid "action parameter"
msgstr ""
#: paperless_mail/models.py:167
msgid "Additional parameter for the action selected above, i.e., the target folder of the move to folder action."
msgstr ""
#: paperless_mail/models.py:173
msgid "assign title from"
msgstr ""
#: paperless_mail/models.py:183
msgid "assign this tag"
msgstr ""
#: paperless_mail/models.py:191
msgid "assign this document type"
msgstr ""
#: paperless_mail/models.py:195
msgid "assign correspondent from"
msgstr ""
#: paperless_mail/models.py:205
msgid "assign this correspondent"
msgstr ""
-658
View File
@@ -1,658 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: paperless-ng\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-03-14 13:33+0100\n"
"PO-Revision-Date: 2021-03-14 13:57\n"
"Last-Translator: \n"
"Language-Team: Xhosa\n"
"Language: xh_ZA\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: paperless-ng\n"
"X-Crowdin-Project-ID: 434940\n"
"X-Crowdin-Language: xh\n"
"X-Crowdin-File: /dev/src/locale/en_US/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 54\n"
#: documents/apps.py:10
msgid "Documents"
msgstr "crwdns2528:0crwdne2528:0"
#: documents/models.py:32
msgid "Any word"
msgstr "crwdns2530:0crwdne2530:0"
#: documents/models.py:33
msgid "All words"
msgstr "crwdns2532:0crwdne2532:0"
#: documents/models.py:34
msgid "Exact match"
msgstr "crwdns2534:0crwdne2534:0"
#: documents/models.py:35
msgid "Regular expression"
msgstr "crwdns2536:0crwdne2536:0"
#: documents/models.py:36
msgid "Fuzzy word"
msgstr "crwdns2538:0crwdne2538:0"
#: documents/models.py:37
msgid "Automatic"
msgstr "crwdns2540:0crwdne2540:0"
#: documents/models.py:41 documents/models.py:350 paperless_mail/models.py:25
#: paperless_mail/models.py:109
msgid "name"
msgstr "crwdns2542:0crwdne2542:0"
#: documents/models.py:45
msgid "match"
msgstr "crwdns2544:0crwdne2544:0"
#: documents/models.py:49
msgid "matching algorithm"
msgstr "crwdns2546:0crwdne2546:0"
#: documents/models.py:55
msgid "is insensitive"
msgstr "crwdns2548:0crwdne2548:0"
#: documents/models.py:74 documents/models.py:120
msgid "correspondent"
msgstr "crwdns2550:0crwdne2550:0"
#: documents/models.py:75
msgid "correspondents"
msgstr "crwdns2552:0crwdne2552:0"
#: documents/models.py:81
msgid "color"
msgstr "crwdns2554:0crwdne2554:0"
#: documents/models.py:87
msgid "is inbox tag"
msgstr "crwdns2556:0crwdne2556:0"
#: documents/models.py:89
msgid "Marks this tag as an inbox tag: All newly consumed documents will be tagged with inbox tags."
msgstr "crwdns2558:0crwdne2558:0"
#: documents/models.py:94
msgid "tag"
msgstr "crwdns2560:0crwdne2560:0"
#: documents/models.py:95 documents/models.py:151
msgid "tags"
msgstr "crwdns2562:0crwdne2562:0"
#: documents/models.py:101 documents/models.py:133
msgid "document type"
msgstr "crwdns2564:0crwdne2564:0"
#: documents/models.py:102
msgid "document types"
msgstr "crwdns2566:0crwdne2566:0"
#: documents/models.py:110
msgid "Unencrypted"
msgstr "crwdns2568:0crwdne2568:0"
#: documents/models.py:111
msgid "Encrypted with GNU Privacy Guard"
msgstr "crwdns2570:0crwdne2570:0"
#: documents/models.py:124
msgid "title"
msgstr "crwdns2572:0crwdne2572:0"
#: documents/models.py:137
msgid "content"
msgstr "crwdns2574:0crwdne2574:0"
#: documents/models.py:139
msgid "The raw, text-only data of the document. This field is primarily used for searching."
msgstr "crwdns2576:0crwdne2576:0"
#: documents/models.py:144
msgid "mime type"
msgstr "crwdns2578:0crwdne2578:0"
#: documents/models.py:155
msgid "checksum"
msgstr "crwdns2580:0crwdne2580:0"
#: documents/models.py:159
msgid "The checksum of the original document."
msgstr "crwdns2582:0crwdne2582:0"
#: documents/models.py:163
msgid "archive checksum"
msgstr "crwdns2584:0crwdne2584:0"
#: documents/models.py:168
msgid "The checksum of the archived document."
msgstr "crwdns2586:0crwdne2586:0"
#: documents/models.py:172 documents/models.py:328
msgid "created"
msgstr "crwdns2588:0crwdne2588:0"
#: documents/models.py:176
msgid "modified"
msgstr "crwdns2590:0crwdne2590:0"
#: documents/models.py:180
msgid "storage type"
msgstr "crwdns2592:0crwdne2592:0"
#: documents/models.py:188
msgid "added"
msgstr "crwdns2594:0crwdne2594:0"
#: documents/models.py:192
msgid "filename"
msgstr "crwdns2596:0crwdne2596:0"
#: documents/models.py:198
msgid "Current filename in storage"
msgstr "crwdns2598:0crwdne2598:0"
#: documents/models.py:202
msgid "archive filename"
msgstr "crwdns2600:0crwdne2600:0"
#: documents/models.py:208
msgid "Current archive filename in storage"
msgstr "crwdns2602:0crwdne2602:0"
#: documents/models.py:212
msgid "archive serial number"
msgstr "crwdns2604:0crwdne2604:0"
#: documents/models.py:217
msgid "The position of this document in your physical document archive."
msgstr "crwdns2606:0crwdne2606:0"
#: documents/models.py:223
msgid "document"
msgstr "crwdns2608:0crwdne2608:0"
#: documents/models.py:224
msgid "documents"
msgstr "crwdns2610:0crwdne2610:0"
#: documents/models.py:311
msgid "debug"
msgstr "crwdns2612:0crwdne2612:0"
#: documents/models.py:312
msgid "information"
msgstr "crwdns2614:0crwdne2614:0"
#: documents/models.py:313
msgid "warning"
msgstr "crwdns2616:0crwdne2616:0"
#: documents/models.py:314
msgid "error"
msgstr "crwdns2618:0crwdne2618:0"
#: documents/models.py:315
msgid "critical"
msgstr "crwdns2620:0crwdne2620:0"
#: documents/models.py:319
msgid "group"
msgstr "crwdns2622:0crwdne2622:0"
#: documents/models.py:322
msgid "message"
msgstr "crwdns2624:0crwdne2624:0"
#: documents/models.py:325
msgid "level"
msgstr "crwdns2626:0crwdne2626:0"
#: documents/models.py:332
msgid "log"
msgstr "crwdns2628:0crwdne2628:0"
#: documents/models.py:333
msgid "logs"
msgstr "crwdns2630:0crwdne2630:0"
#: documents/models.py:344 documents/models.py:396
msgid "saved view"
msgstr "crwdns2632:0crwdne2632:0"
#: documents/models.py:345
msgid "saved views"
msgstr "crwdns2634:0crwdne2634:0"
#: documents/models.py:348
msgid "user"
msgstr "crwdns2636:0crwdne2636:0"
#: documents/models.py:354
msgid "show on dashboard"
msgstr "crwdns2638:0crwdne2638:0"
#: documents/models.py:357
msgid "show in sidebar"
msgstr "crwdns2640:0crwdne2640:0"
#: documents/models.py:361
msgid "sort field"
msgstr "crwdns2642:0crwdne2642:0"
#: documents/models.py:364
msgid "sort reverse"
msgstr "crwdns2644:0crwdne2644:0"
#: documents/models.py:370
msgid "title contains"
msgstr "crwdns2646:0crwdne2646:0"
#: documents/models.py:371
msgid "content contains"
msgstr "crwdns2648:0crwdne2648:0"
#: documents/models.py:372
msgid "ASN is"
msgstr "crwdns2650:0crwdne2650:0"
#: documents/models.py:373
msgid "correspondent is"
msgstr "crwdns2652:0crwdne2652:0"
#: documents/models.py:374
msgid "document type is"
msgstr "crwdns2654:0crwdne2654:0"
#: documents/models.py:375
msgid "is in inbox"
msgstr "crwdns2656:0crwdne2656:0"
#: documents/models.py:376
msgid "has tag"
msgstr "crwdns2658:0crwdne2658:0"
#: documents/models.py:377
msgid "has any tag"
msgstr "crwdns2660:0crwdne2660:0"
#: documents/models.py:378
msgid "created before"
msgstr "crwdns2662:0crwdne2662:0"
#: documents/models.py:379
msgid "created after"
msgstr "crwdns2664:0crwdne2664:0"
#: documents/models.py:380
msgid "created year is"
msgstr "crwdns2666:0crwdne2666:0"
#: documents/models.py:381
msgid "created month is"
msgstr "crwdns2668:0crwdne2668:0"
#: documents/models.py:382
msgid "created day is"
msgstr "crwdns2670:0crwdne2670:0"
#: documents/models.py:383
msgid "added before"
msgstr "crwdns2672:0crwdne2672:0"
#: documents/models.py:384
msgid "added after"
msgstr "crwdns2674:0crwdne2674:0"
#: documents/models.py:385
msgid "modified before"
msgstr "crwdns2676:0crwdne2676:0"
#: documents/models.py:386
msgid "modified after"
msgstr "crwdns2678:0crwdne2678:0"
#: documents/models.py:387
msgid "does not have tag"
msgstr "crwdns2680:0crwdne2680:0"
#: documents/models.py:388
msgid "does not have ASN"
msgstr "crwdns3408:0crwdne3408:0"
#: documents/models.py:389
msgid "title or content contains"
msgstr "crwdns3410:0crwdne3410:0"
#: documents/models.py:400
msgid "rule type"
msgstr "crwdns2682:0crwdne2682:0"
#: documents/models.py:404
msgid "value"
msgstr "crwdns2684:0crwdne2684:0"
#: documents/models.py:410
msgid "filter rule"
msgstr "crwdns2686:0crwdne2686:0"
#: documents/models.py:411
msgid "filter rules"
msgstr "crwdns2688:0crwdne2688:0"
#: documents/serialisers.py:53
#, python-format
msgid "Invalid regular expression: %(error)s"
msgstr "crwdns3412:0%(error)scrwdne3412:0"
#: documents/serialisers.py:177
msgid "Invalid color."
msgstr "crwdns2692:0crwdne2692:0"
#: documents/serialisers.py:451
#, python-format
msgid "File type %(type)s not supported"
msgstr "crwdns2694:0%(type)scrwdne2694:0"
#: documents/templates/index.html:21
msgid "Paperless-ng is loading..."
msgstr "crwdns2696:0crwdne2696:0"
#: documents/templates/registration/logged_out.html:13
msgid "Paperless-ng signed out"
msgstr "crwdns2698:0crwdne2698:0"
#: documents/templates/registration/logged_out.html:41
msgid "You have been successfully logged out. Bye!"
msgstr "crwdns2700:0crwdne2700:0"
#: documents/templates/registration/logged_out.html:42
msgid "Sign in again"
msgstr "crwdns2702:0crwdne2702:0"
#: documents/templates/registration/login.html:13
msgid "Paperless-ng sign in"
msgstr "crwdns2704:0crwdne2704:0"
#: documents/templates/registration/login.html:42
msgid "Please sign in."
msgstr "crwdns2706:0crwdne2706:0"
#: documents/templates/registration/login.html:45
msgid "Your username and password didn't match. Please try again."
msgstr "crwdns2708:0crwdne2708:0"
#: documents/templates/registration/login.html:48
msgid "Username"
msgstr "crwdns2710:0crwdne2710:0"
#: documents/templates/registration/login.html:49
msgid "Password"
msgstr "crwdns2712:0crwdne2712:0"
#: documents/templates/registration/login.html:54
msgid "Sign in"
msgstr "crwdns2714:0crwdne2714:0"
#: paperless/settings.py:298
msgid "English (US)"
msgstr "crwdns2716:0crwdne2716:0"
#: paperless/settings.py:299
msgid "English (GB)"
msgstr "crwdns2718:0crwdne2718:0"
#: paperless/settings.py:300
msgid "German"
msgstr "crwdns2720:0crwdne2720:0"
#: paperless/settings.py:301
msgid "Dutch"
msgstr "crwdns2722:0crwdne2722:0"
#: paperless/settings.py:302
msgid "French"
msgstr "crwdns2724:0crwdne2724:0"
#: paperless/settings.py:303
msgid "Portuguese (Brazil)"
msgstr "crwdns2726:0crwdne2726:0"
#: paperless/settings.py:304
msgid "Italian"
msgstr "crwdns2728:0crwdne2728:0"
#: paperless/settings.py:305
msgid "Romanian"
msgstr "crwdns2730:0crwdne2730:0"
#: paperless/settings.py:306
msgid "Russian"
msgstr "crwdns3414:0crwdne3414:0"
#: paperless/settings.py:307
msgid "Spanish"
msgstr "crwdns3420:0crwdne3420:0"
#: paperless/urls.py:118
msgid "Paperless-ng administration"
msgstr "crwdns2732:0crwdne2732:0"
#: paperless_mail/admin.py:25
msgid "Filter"
msgstr "crwdns2734:0crwdne2734:0"
#: paperless_mail/admin.py:27
msgid "Paperless will only process mails that match ALL of the filters given below."
msgstr "crwdns2736:0crwdne2736:0"
#: paperless_mail/admin.py:37
msgid "Actions"
msgstr "crwdns2738:0crwdne2738:0"
#: paperless_mail/admin.py:39
msgid "The action applied to the mail. This action is only performed when documents were consumed from the mail. Mails without attachments will remain entirely untouched."
msgstr "crwdns2740:0crwdne2740:0"
#: paperless_mail/admin.py:46
msgid "Metadata"
msgstr "crwdns2742:0crwdne2742:0"
#: paperless_mail/admin.py:48
msgid "Assign metadata to documents consumed from this rule automatically. If you do not assign tags, types or correspondents here, paperless will still process all matching rules that you have defined."
msgstr "crwdns2744:0crwdne2744:0"
#: paperless_mail/apps.py:9
msgid "Paperless mail"
msgstr "crwdns2746:0crwdne2746:0"
#: paperless_mail/models.py:11
msgid "mail account"
msgstr "crwdns2748:0crwdne2748:0"
#: paperless_mail/models.py:12
msgid "mail accounts"
msgstr "crwdns2750:0crwdne2750:0"
#: paperless_mail/models.py:19
msgid "No encryption"
msgstr "crwdns2752:0crwdne2752:0"
#: paperless_mail/models.py:20
msgid "Use SSL"
msgstr "crwdns2754:0crwdne2754:0"
#: paperless_mail/models.py:21
msgid "Use STARTTLS"
msgstr "crwdns2756:0crwdne2756:0"
#: paperless_mail/models.py:29
msgid "IMAP server"
msgstr "crwdns2758:0crwdne2758:0"
#: paperless_mail/models.py:33
msgid "IMAP port"
msgstr "crwdns2760:0crwdne2760:0"
#: paperless_mail/models.py:36
msgid "This is usually 143 for unencrypted and STARTTLS connections, and 993 for SSL connections."
msgstr "crwdns2762:0crwdne2762:0"
#: paperless_mail/models.py:40
msgid "IMAP security"
msgstr "crwdns2764:0crwdne2764:0"
#: paperless_mail/models.py:46
msgid "username"
msgstr "crwdns2766:0crwdne2766:0"
#: paperless_mail/models.py:50
msgid "password"
msgstr "crwdns2768:0crwdne2768:0"
#: paperless_mail/models.py:60
msgid "mail rule"
msgstr "crwdns2770:0crwdne2770:0"
#: paperless_mail/models.py:61
msgid "mail rules"
msgstr "crwdns2772:0crwdne2772:0"
#: paperless_mail/models.py:67
msgid "Only process attachments."
msgstr "crwdns2774:0crwdne2774:0"
#: paperless_mail/models.py:68
msgid "Process all files, including 'inline' attachments."
msgstr "crwdns2776:0crwdne2776:0"
#: paperless_mail/models.py:78
msgid "Mark as read, don't process read mails"
msgstr "crwdns2778:0crwdne2778:0"
#: paperless_mail/models.py:79
msgid "Flag the mail, don't process flagged mails"
msgstr "crwdns2780:0crwdne2780:0"
#: paperless_mail/models.py:80
msgid "Move to specified folder"
msgstr "crwdns2782:0crwdne2782:0"
#: paperless_mail/models.py:81
msgid "Delete"
msgstr "crwdns2784:0crwdne2784:0"
#: paperless_mail/models.py:88
msgid "Use subject as title"
msgstr "crwdns2786:0crwdne2786:0"
#: paperless_mail/models.py:89
msgid "Use attachment filename as title"
msgstr "crwdns2788:0crwdne2788:0"
#: paperless_mail/models.py:99
msgid "Do not assign a correspondent"
msgstr "crwdns2790:0crwdne2790:0"
#: paperless_mail/models.py:101
msgid "Use mail address"
msgstr "crwdns2792:0crwdne2792:0"
#: paperless_mail/models.py:103
msgid "Use name (or mail address if not available)"
msgstr "crwdns2794:0crwdne2794:0"
#: paperless_mail/models.py:105
msgid "Use correspondent selected below"
msgstr "crwdns2796:0crwdne2796:0"
#: paperless_mail/models.py:113
msgid "order"
msgstr "crwdns2798:0crwdne2798:0"
#: paperless_mail/models.py:120
msgid "account"
msgstr "crwdns2800:0crwdne2800:0"
#: paperless_mail/models.py:124
msgid "folder"
msgstr "crwdns2802:0crwdne2802:0"
#: paperless_mail/models.py:128
msgid "filter from"
msgstr "crwdns2804:0crwdne2804:0"
#: paperless_mail/models.py:131
msgid "filter subject"
msgstr "crwdns2806:0crwdne2806:0"
#: paperless_mail/models.py:134
msgid "filter body"
msgstr "crwdns2808:0crwdne2808:0"
#: paperless_mail/models.py:138
msgid "filter attachment filename"
msgstr "crwdns2810:0crwdne2810:0"
#: paperless_mail/models.py:140
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
msgstr "crwdns2812:0crwdne2812:0"
#: paperless_mail/models.py:146
msgid "maximum age"
msgstr "crwdns2814:0crwdne2814:0"
#: paperless_mail/models.py:148
msgid "Specified in days."
msgstr "crwdns2816:0crwdne2816:0"
#: paperless_mail/models.py:151
msgid "attachment type"
msgstr "crwdns2818:0crwdne2818:0"
#: paperless_mail/models.py:154
msgid "Inline attachments include embedded images, so it's best to combine this option with a filename filter."
msgstr "crwdns2820:0crwdne2820:0"
#: paperless_mail/models.py:159
msgid "action"
msgstr "crwdns2822:0crwdne2822:0"
#: paperless_mail/models.py:165
msgid "action parameter"
msgstr "crwdns2824:0crwdne2824:0"
#: paperless_mail/models.py:167
msgid "Additional parameter for the action selected above, i.e., the target folder of the move to folder action."
msgstr "crwdns2826:0crwdne2826:0"
#: paperless_mail/models.py:173
msgid "assign title from"
msgstr "crwdns2828:0crwdne2828:0"
#: paperless_mail/models.py:183
msgid "assign this tag"
msgstr "crwdns2830:0crwdne2830:0"
#: paperless_mail/models.py:191
msgid "assign this document type"
msgstr "crwdns2832:0crwdne2832:0"
#: paperless_mail/models.py:195
msgid "assign correspondent from"
msgstr "crwdns2834:0crwdne2834:0"
#: paperless_mail/models.py:205
msgid "assign this correspondent"
msgstr "crwdns2836:0crwdne2836:0"
-658
View File
@@ -1,658 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: paperless-ng\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-03-14 13:33+0100\n"
"PO-Revision-Date: 2021-03-14 13:57\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Crowdin-Project: paperless-ng\n"
"X-Crowdin-Project-ID: 434940\n"
"X-Crowdin-Language: zh-CN\n"
"X-Crowdin-File: /dev/src/locale/en_US/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 54\n"
#: documents/apps.py:10
msgid "Documents"
msgstr "文件"
#: documents/models.py:32
msgid "Any word"
msgstr "任何词"
#: documents/models.py:33
msgid "All words"
msgstr "所有词"
#: documents/models.py:34
msgid "Exact match"
msgstr "完全符合"
#: documents/models.py:35
msgid "Regular expression"
msgstr "正则表达式"
#: documents/models.py:36
msgid "Fuzzy word"
msgstr "模糊词汇"
#: documents/models.py:37
msgid "Automatic"
msgstr "自动"
#: documents/models.py:41 documents/models.py:350 paperless_mail/models.py:25
#: paperless_mail/models.py:109
msgid "name"
msgstr "名字"
#: documents/models.py:45
msgid "match"
msgstr "配对"
#: documents/models.py:49
msgid "matching algorithm"
msgstr "配对算法"
#: documents/models.py:55
msgid "is insensitive"
msgstr ""
#: documents/models.py:74 documents/models.py:120
msgid "correspondent"
msgstr ""
#: documents/models.py:75
msgid "correspondents"
msgstr ""
#: documents/models.py:81
msgid "color"
msgstr ""
#: documents/models.py:87
msgid "is inbox tag"
msgstr ""
#: documents/models.py:89
msgid "Marks this tag as an inbox tag: All newly consumed documents will be tagged with inbox tags."
msgstr ""
#: documents/models.py:94
msgid "tag"
msgstr ""
#: documents/models.py:95 documents/models.py:151
msgid "tags"
msgstr ""
#: documents/models.py:101 documents/models.py:133
msgid "document type"
msgstr ""
#: documents/models.py:102
msgid "document types"
msgstr ""
#: documents/models.py:110
msgid "Unencrypted"
msgstr ""
#: documents/models.py:111
msgid "Encrypted with GNU Privacy Guard"
msgstr ""
#: documents/models.py:124
msgid "title"
msgstr ""
#: documents/models.py:137
msgid "content"
msgstr ""
#: documents/models.py:139
msgid "The raw, text-only data of the document. This field is primarily used for searching."
msgstr ""
#: documents/models.py:144
msgid "mime type"
msgstr ""
#: documents/models.py:155
msgid "checksum"
msgstr ""
#: documents/models.py:159
msgid "The checksum of the original document."
msgstr ""
#: documents/models.py:163
msgid "archive checksum"
msgstr ""
#: documents/models.py:168
msgid "The checksum of the archived document."
msgstr ""
#: documents/models.py:172 documents/models.py:328
msgid "created"
msgstr ""
#: documents/models.py:176
msgid "modified"
msgstr ""
#: documents/models.py:180
msgid "storage type"
msgstr ""
#: documents/models.py:188
msgid "added"
msgstr ""
#: documents/models.py:192
msgid "filename"
msgstr ""
#: documents/models.py:198
msgid "Current filename in storage"
msgstr ""
#: documents/models.py:202
msgid "archive filename"
msgstr ""
#: documents/models.py:208
msgid "Current archive filename in storage"
msgstr ""
#: documents/models.py:212
msgid "archive serial number"
msgstr ""
#: documents/models.py:217
msgid "The position of this document in your physical document archive."
msgstr ""
#: documents/models.py:223
msgid "document"
msgstr ""
#: documents/models.py:224
msgid "documents"
msgstr ""
#: documents/models.py:311
msgid "debug"
msgstr ""
#: documents/models.py:312
msgid "information"
msgstr ""
#: documents/models.py:313
msgid "warning"
msgstr ""
#: documents/models.py:314
msgid "error"
msgstr ""
#: documents/models.py:315
msgid "critical"
msgstr ""
#: documents/models.py:319
msgid "group"
msgstr ""
#: documents/models.py:322
msgid "message"
msgstr ""
#: documents/models.py:325
msgid "level"
msgstr ""
#: documents/models.py:332
msgid "log"
msgstr ""
#: documents/models.py:333
msgid "logs"
msgstr ""
#: documents/models.py:344 documents/models.py:396
msgid "saved view"
msgstr ""
#: documents/models.py:345
msgid "saved views"
msgstr ""
#: documents/models.py:348
msgid "user"
msgstr ""
#: documents/models.py:354
msgid "show on dashboard"
msgstr ""
#: documents/models.py:357
msgid "show in sidebar"
msgstr ""
#: documents/models.py:361
msgid "sort field"
msgstr ""
#: documents/models.py:364
msgid "sort reverse"
msgstr ""
#: documents/models.py:370
msgid "title contains"
msgstr ""
#: documents/models.py:371
msgid "content contains"
msgstr ""
#: documents/models.py:372
msgid "ASN is"
msgstr ""
#: documents/models.py:373
msgid "correspondent is"
msgstr ""
#: documents/models.py:374
msgid "document type is"
msgstr ""
#: documents/models.py:375
msgid "is in inbox"
msgstr ""
#: documents/models.py:376
msgid "has tag"
msgstr ""
#: documents/models.py:377
msgid "has any tag"
msgstr ""
#: documents/models.py:378
msgid "created before"
msgstr ""
#: documents/models.py:379
msgid "created after"
msgstr ""
#: documents/models.py:380
msgid "created year is"
msgstr ""
#: documents/models.py:381
msgid "created month is"
msgstr ""
#: documents/models.py:382
msgid "created day is"
msgstr ""
#: documents/models.py:383
msgid "added before"
msgstr ""
#: documents/models.py:384
msgid "added after"
msgstr ""
#: documents/models.py:385
msgid "modified before"
msgstr ""
#: documents/models.py:386
msgid "modified after"
msgstr ""
#: documents/models.py:387
msgid "does not have tag"
msgstr ""
#: documents/models.py:388
msgid "does not have ASN"
msgstr ""
#: documents/models.py:389
msgid "title or content contains"
msgstr ""
#: documents/models.py:400
msgid "rule type"
msgstr ""
#: documents/models.py:404
msgid "value"
msgstr ""
#: documents/models.py:410
msgid "filter rule"
msgstr ""
#: documents/models.py:411
msgid "filter rules"
msgstr ""
#: documents/serialisers.py:53
#, python-format
msgid "Invalid regular expression: %(error)s"
msgstr ""
#: documents/serialisers.py:177
msgid "Invalid color."
msgstr ""
#: documents/serialisers.py:451
#, python-format
msgid "File type %(type)s not supported"
msgstr ""
#: documents/templates/index.html:21
msgid "Paperless-ng is loading..."
msgstr ""
#: documents/templates/registration/logged_out.html:13
msgid "Paperless-ng signed out"
msgstr ""
#: documents/templates/registration/logged_out.html:41
msgid "You have been successfully logged out. Bye!"
msgstr ""
#: documents/templates/registration/logged_out.html:42
msgid "Sign in again"
msgstr ""
#: documents/templates/registration/login.html:13
msgid "Paperless-ng sign in"
msgstr ""
#: documents/templates/registration/login.html:42
msgid "Please sign in."
msgstr ""
#: documents/templates/registration/login.html:45
msgid "Your username and password didn't match. Please try again."
msgstr ""
#: documents/templates/registration/login.html:48
msgid "Username"
msgstr ""
#: documents/templates/registration/login.html:49
msgid "Password"
msgstr ""
#: documents/templates/registration/login.html:54
msgid "Sign in"
msgstr ""
#: paperless/settings.py:298
msgid "English (US)"
msgstr ""
#: paperless/settings.py:299
msgid "English (GB)"
msgstr ""
#: paperless/settings.py:300
msgid "German"
msgstr ""
#: paperless/settings.py:301
msgid "Dutch"
msgstr ""
#: paperless/settings.py:302
msgid "French"
msgstr ""
#: paperless/settings.py:303
msgid "Portuguese (Brazil)"
msgstr ""
#: paperless/settings.py:304
msgid "Italian"
msgstr ""
#: paperless/settings.py:305
msgid "Romanian"
msgstr ""
#: paperless/settings.py:306
msgid "Russian"
msgstr ""
#: paperless/settings.py:307
msgid "Spanish"
msgstr ""
#: paperless/urls.py:118
msgid "Paperless-ng administration"
msgstr ""
#: paperless_mail/admin.py:25
msgid "Filter"
msgstr ""
#: paperless_mail/admin.py:27
msgid "Paperless will only process mails that match ALL of the filters given below."
msgstr ""
#: paperless_mail/admin.py:37
msgid "Actions"
msgstr ""
#: paperless_mail/admin.py:39
msgid "The action applied to the mail. This action is only performed when documents were consumed from the mail. Mails without attachments will remain entirely untouched."
msgstr ""
#: paperless_mail/admin.py:46
msgid "Metadata"
msgstr ""
#: paperless_mail/admin.py:48
msgid "Assign metadata to documents consumed from this rule automatically. If you do not assign tags, types or correspondents here, paperless will still process all matching rules that you have defined."
msgstr ""
#: paperless_mail/apps.py:9
msgid "Paperless mail"
msgstr ""
#: paperless_mail/models.py:11
msgid "mail account"
msgstr ""
#: paperless_mail/models.py:12
msgid "mail accounts"
msgstr ""
#: paperless_mail/models.py:19
msgid "No encryption"
msgstr ""
#: paperless_mail/models.py:20
msgid "Use SSL"
msgstr ""
#: paperless_mail/models.py:21
msgid "Use STARTTLS"
msgstr ""
#: paperless_mail/models.py:29
msgid "IMAP server"
msgstr ""
#: paperless_mail/models.py:33
msgid "IMAP port"
msgstr ""
#: paperless_mail/models.py:36
msgid "This is usually 143 for unencrypted and STARTTLS connections, and 993 for SSL connections."
msgstr ""
#: paperless_mail/models.py:40
msgid "IMAP security"
msgstr ""
#: paperless_mail/models.py:46
msgid "username"
msgstr ""
#: paperless_mail/models.py:50
msgid "password"
msgstr ""
#: paperless_mail/models.py:60
msgid "mail rule"
msgstr ""
#: paperless_mail/models.py:61
msgid "mail rules"
msgstr ""
#: paperless_mail/models.py:67
msgid "Only process attachments."
msgstr ""
#: paperless_mail/models.py:68
msgid "Process all files, including 'inline' attachments."
msgstr ""
#: paperless_mail/models.py:78
msgid "Mark as read, don't process read mails"
msgstr ""
#: paperless_mail/models.py:79
msgid "Flag the mail, don't process flagged mails"
msgstr ""
#: paperless_mail/models.py:80
msgid "Move to specified folder"
msgstr ""
#: paperless_mail/models.py:81
msgid "Delete"
msgstr ""
#: paperless_mail/models.py:88
msgid "Use subject as title"
msgstr ""
#: paperless_mail/models.py:89
msgid "Use attachment filename as title"
msgstr ""
#: paperless_mail/models.py:99
msgid "Do not assign a correspondent"
msgstr ""
#: paperless_mail/models.py:101
msgid "Use mail address"
msgstr ""
#: paperless_mail/models.py:103
msgid "Use name (or mail address if not available)"
msgstr ""
#: paperless_mail/models.py:105
msgid "Use correspondent selected below"
msgstr ""
#: paperless_mail/models.py:113
msgid "order"
msgstr ""
#: paperless_mail/models.py:120
msgid "account"
msgstr ""
#: paperless_mail/models.py:124
msgid "folder"
msgstr ""
#: paperless_mail/models.py:128
msgid "filter from"
msgstr ""
#: paperless_mail/models.py:131
msgid "filter subject"
msgstr ""
#: paperless_mail/models.py:134
msgid "filter body"
msgstr ""
#: paperless_mail/models.py:138
msgid "filter attachment filename"
msgstr ""
#: paperless_mail/models.py:140
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
msgstr ""
#: paperless_mail/models.py:146
msgid "maximum age"
msgstr ""
#: paperless_mail/models.py:148
msgid "Specified in days."
msgstr ""
#: paperless_mail/models.py:151
msgid "attachment type"
msgstr ""
#: paperless_mail/models.py:154
msgid "Inline attachments include embedded images, so it's best to combine this option with a filename filter."
msgstr ""
#: paperless_mail/models.py:159
msgid "action"
msgstr ""
#: paperless_mail/models.py:165
msgid "action parameter"
msgstr ""
#: paperless_mail/models.py:167
msgid "Additional parameter for the action selected above, i.e., the target folder of the move to folder action."
msgstr ""
#: paperless_mail/models.py:173
msgid "assign title from"
msgstr ""
#: paperless_mail/models.py:183
msgid "assign this tag"
msgstr ""
#: paperless_mail/models.py:191
msgid "assign this document type"
msgstr ""
#: paperless_mail/models.py:195
msgid "assign correspondent from"
msgstr ""
#: paperless_mail/models.py:205
msgid "assign this correspondent"
msgstr ""
-2
View File
@@ -1,5 +1,4 @@
from django.conf import settings
from django.contrib import auth
from django.contrib.auth.models import User
from django.utils.deprecation import MiddlewareMixin
from rest_framework import authentication
@@ -12,7 +11,6 @@ class AutoLoginMiddleware(MiddlewareMixin):
try:
request.user = User.objects.get(
username=settings.AUTO_LOGIN_USERNAME)
auth.login(request, request.user)
except User.DoesNotExist:
pass
+6 -16
View File
@@ -1,6 +1,5 @@
import os
import shutil
import stat
from django.conf import settings
from django.core.checks import Error, Warning, register
@@ -17,25 +16,16 @@ writeable_hint = (
def path_check(var, directory):
messages = []
if directory:
if not os.path.isdir(directory):
if not os.path.exists(directory):
messages.append(Error(
exists_message.format(var),
exists_hint.format(directory)
))
else:
test_file = os.path.join(directory, '__paperless_write_test__')
try:
open(test_file, 'w')
except PermissionError:
messages.append(Error(
writeable_message.format(var),
writeable_hint.format(
f'\n{stat.filemode(os.stat(directory).st_mode)} '
f'{directory}\n')
))
else:
os.remove(test_file)
elif not os.access(directory, os.W_OK | os.X_OK):
messages.append(Warning(
writeable_message.format(var),
writeable_hint.format(directory)
))
return messages
+13 -6
View File
@@ -113,6 +113,15 @@ REST_FRAMEWORK = {
'rest_framework.authentication.SessionAuthentication',
'rest_framework.authentication.TokenAuthentication'
],
'DEFAULT_PARSER_CLASSES': (
'rest_framework.parsers.JSONParser',
'rest_framework_xml.parsers.XMLParser',
),
'DEFAULT_RENDERER_CLASSES': (
'rest_framework.renderers.JSONRenderer',
'rest_framework_xml.renderers.XMLRenderer',
'rest_framework.renderers.BrowsableAPIRenderer',
),
'DEFAULT_VERSIONING_CLASS': 'rest_framework.versioning.AcceptHeaderVersioning',
'DEFAULT_VERSION': '1',
# Make sure these are ordered and that the most recent version appears
@@ -297,14 +306,12 @@ LANGUAGE_CODE = 'en-us'
LANGUAGES = [
("en-us", _("English (US)")),
("en-gb", _("English (GB)")),
("de-de", _("German")),
("de", _("German")),
("nl-nl", _("Dutch")),
("fr-fr", _("French")),
("fr", _("French")),
("pt-br", _("Portuguese (Brazil)")),
("it-it", _("Italian")),
("ro-ro", _("Romanian")),
("ru-ru", _("Russian")),
("es-es", _("Spanish"))
("it", _("Italian")),
("ro", _("Romanian"))
]
LOCALE_PATHS = [
+1 -1
View File
@@ -1 +1 @@
__version__ = (1, 3, 1)
__version__ = (1, 3, 0)
-1
View File
@@ -291,7 +291,6 @@ class RasterisedDocumentParser(DocumentParser):
f"No text was found in {document_path}, the content will "
f"be empty."
)
self.text = ""
def strip_excess_whitespace(text):
Binary file not shown.
Binary file not shown.
+5 -20
View File
@@ -81,8 +81,8 @@ class TestParser(DirectoriesMixin, TestCase):
def test_thumbnail(self):
parser = RasterisedDocumentParser(uuid.uuid4())
thumb = parser.get_thumbnail(os.path.join(self.SAMPLE_FILES, 'simple-digital.pdf'), "application/pdf")
self.assertTrue(os.path.isfile(thumb))
parser.get_thumbnail(os.path.join(self.SAMPLE_FILES, 'simple-digital.pdf'), "application/pdf")
# dont really know how to test it, just call it and assert that it does not raise anything.
@mock.patch("documents.parsers.run_convert")
def test_thumbnail_fallback(self, m):
@@ -96,13 +96,8 @@ class TestParser(DirectoriesMixin, TestCase):
m.side_effect = call_convert
parser = RasterisedDocumentParser(uuid.uuid4())
thumb = parser.get_thumbnail(os.path.join(self.SAMPLE_FILES, 'simple-digital.pdf'), "application/pdf")
self.assertTrue(os.path.isfile(thumb))
def test_thumbnail_encrypted(self):
parser = RasterisedDocumentParser(uuid.uuid4())
thumb = parser.get_thumbnail(os.path.join(self.SAMPLE_FILES, 'encrypted.pdf'), "application/pdf")
self.assertTrue(os.path.isfile(thumb))
parser.get_thumbnail(os.path.join(self.SAMPLE_FILES, 'simple-digital.pdf'), "application/pdf")
# dont really know how to test it, just call it and assert that it does not raise anything.
def test_get_dpi(self):
parser = RasterisedDocumentParser(None)
@@ -140,15 +135,6 @@ class TestParser(DirectoriesMixin, TestCase):
self.assertIsNone(parser.archive_path)
self.assertContainsStrings(parser.get_text(), ["Please enter your name in here:", "This is a PDF document with a form."])
@override_settings(OCR_MODE="skip")
def test_signed(self):
parser = RasterisedDocumentParser(None)
parser.parse(os.path.join(self.SAMPLE_FILES, "signed.pdf"), "application/pdf")
self.assertIsNone(parser.archive_path)
self.assertContainsStrings(parser.get_text(), ["This is a digitally signed PDF, created with Acrobat Pro for the Paperless project to enable", "automated testing of signed/encrypted PDFs"])
@override_settings(OCR_MODE="skip")
def test_encrypted(self):
parser = RasterisedDocumentParser(None)
@@ -156,8 +142,7 @@ class TestParser(DirectoriesMixin, TestCase):
parser.parse(os.path.join(self.SAMPLE_FILES, "encrypted.pdf"), "application/pdf")
self.assertIsNone(parser.archive_path)
self.assertEqual(parser.get_text(), "")
self.assertContainsStrings(parser.get_text(), ["This is a digitally signed PDF, created with Acrobat Pro for the Paperless project to enable", "automated testing of signed/encrypted PDFs"])
@override_settings(OCR_MODE="redo")
def test_with_form_error_notext(self):