mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-21 10:29:29 -05:00
Merge remote-tracking branch 'upstream/dev' into feature/popover-previews
This commit is contained in:
commit
cba507258d
3
.github/workflows/ansible.yml
vendored
3
.github/workflows/ansible.yml
vendored
@ -47,8 +47,9 @@ jobs:
|
|||||||
molecule converge
|
molecule converge
|
||||||
molecule idempotence
|
molecule idempotence
|
||||||
molecule verify
|
molecule verify
|
||||||
molecule destroy
|
|
||||||
working-directory: "${{ github.repository }}"
|
working-directory: "${{ github.repository }}"
|
||||||
|
env:
|
||||||
|
TARGET_GITHUB_SHA: "${{ github.event.pull_request.head.sha }}"
|
||||||
# # https://galaxy.ansible.com/docs/contributing/importing.html
|
# # https://galaxy.ansible.com/docs/contributing/importing.html
|
||||||
# release:
|
# release:
|
||||||
# runs-on: ubuntu-latest
|
# runs-on: ubuntu-latest
|
||||||
|
6
Pipfile
6
Pipfile
@ -9,12 +9,12 @@ verify_ssl = true
|
|||||||
name = "piwheels"
|
name = "piwheels"
|
||||||
|
|
||||||
[packages]
|
[packages]
|
||||||
dateparser = "~=0.7.6"
|
dateparser = "~=1.0.0"
|
||||||
django = "~=3.1.3"
|
django = "~=3.1.3"
|
||||||
django-cors-headers = "*"
|
django-cors-headers = "*"
|
||||||
django-extensions = "*"
|
django-extensions = "*"
|
||||||
django-filter = "~=2.4.0"
|
django-filter = "~=2.4.0"
|
||||||
django-q = "~=1.3.4"
|
django-q = "==1.3.4"
|
||||||
djangorestframework = "~=3.12.2"
|
djangorestframework = "~=3.12.2"
|
||||||
filelock = "*"
|
filelock = "*"
|
||||||
fuzzywuzzy = {extras = ["speedup"], version = "*"}
|
fuzzywuzzy = {extras = ["speedup"], version = "*"}
|
||||||
@ -53,7 +53,7 @@ concurrent-log-handler = "*"
|
|||||||
# uvloop 0.15+ incompatible with python 3.6
|
# uvloop 0.15+ incompatible with python 3.6
|
||||||
uvloop = "~=0.14.0"
|
uvloop = "~=0.14.0"
|
||||||
# TODO: keep an eye on piwheel builds and update this once available (https://www.piwheels.org/project/cryptography/)
|
# TODO: keep an eye on piwheel builds and update this once available (https://www.piwheels.org/project/cryptography/)
|
||||||
cryptography = "~=3.3.2"
|
cryptography = "~=3.4"
|
||||||
"pdfminer.six" = "*"
|
"pdfminer.six" = "*"
|
||||||
|
|
||||||
[dev-packages]
|
[dev-packages]
|
||||||
|
123
Pipfile.lock
generated
123
Pipfile.lock
generated
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"_meta": {
|
"_meta": {
|
||||||
"hash": {
|
"hash": {
|
||||||
"sha256": "71959eb287fc97969263be5e3a1b1f4f369b7a5ace85bd1947a25b9b92e17e8a"
|
"sha256": "49f8a0718a7982bc4ca7e1315c17849523b0d29c38f13cff88f8f883e0e9943a"
|
||||||
},
|
},
|
||||||
"pipfile-spec": 6,
|
"pipfile-spec": 6,
|
||||||
"requires": {},
|
"requires": {},
|
||||||
@ -28,11 +28,11 @@
|
|||||||
},
|
},
|
||||||
"arrow": {
|
"arrow": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:e098abbd9af3665aea81bdd6c869e93af4feb078e98468dd351c383af187aac5",
|
"sha256:7909d9fd30d32fa8fd173fdeb3f7125aaf6dedd1a837276fe1d8cea2c0e86d76",
|
||||||
"sha256:ff08d10cda1d36c68657d6ad20d74fbea493d980f8b2d45344e00d6ed2bf6ed4"
|
"sha256:b1e106a0ab754e540f4aeb08747900830b688adef02d81240e65afc0e781a870"
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'",
|
"markers": "python_version >= '3.6'",
|
||||||
"version": "==0.17.0"
|
"version": "==1.0.1"
|
||||||
},
|
},
|
||||||
"asgiref": {
|
"asgiref": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
@ -60,11 +60,11 @@
|
|||||||
},
|
},
|
||||||
"autobahn": {
|
"autobahn": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:41a3a3f89cde48643baf4e105d9491c566295f9abee951379e59121784044b8b",
|
"sha256:884f79c50fdc55ade2c315946a9caa145e8b10075eee9d2c2594ea5e8f5226aa",
|
||||||
"sha256:7e6b1bf95196b733978bab2d54a7ab8899c16ce11be369dc58422c07b7eea726"
|
"sha256:bf7a9d302a34d0f719d43c57f65ca1f2f5c982dd6ea0c11e1e190ef6f43710fe"
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '3.6'",
|
"markers": "python_version >= '3.7'",
|
||||||
"version": "==21.2.1"
|
"version": "==21.2.2"
|
||||||
},
|
},
|
||||||
"automat": {
|
"automat": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
@ -76,10 +76,10 @@
|
|||||||
},
|
},
|
||||||
"blessed": {
|
"blessed": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:0a74a8d3f0366db600d061273df77d44f0db07daade7bb7a4d49c8bc22ed9f74",
|
"sha256:1312879f971330a1b7f2c6341f2ae7e2cbac244bfc9d0ecfbbecd4b0293bc755",
|
||||||
"sha256:580429e7e0c6f6a42ea81b0ae5a4993b6205c6ccbb635d034b4277af8175753e"
|
"sha256:5b5e2f0563d5a668c282f3f5946f7b1abb70c85829461900e607e74d7725106e"
|
||||||
],
|
],
|
||||||
"version": "==1.17.12"
|
"version": "==1.18.0"
|
||||||
},
|
},
|
||||||
"certifi": {
|
"certifi": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
@ -190,24 +190,22 @@
|
|||||||
},
|
},
|
||||||
"cryptography": {
|
"cryptography": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:0d7b69674b738068fa6ffade5c962ecd14969690585aaca0a1b1fc9058938a72",
|
"sha256:066bc53f052dfeda2f2d7c195cf16fb3e5ff13e1b6b7415b468514b40b381a5b",
|
||||||
"sha256:1bd0ccb0a1ed775cd7e2144fe46df9dc03eefd722bbcf587b3e0616ea4a81eff",
|
"sha256:0923ba600d00718d63a3976f23cab19aef10c1765038945628cd9be047ad0336",
|
||||||
"sha256:3c284fc1e504e88e51c428db9c9274f2da9f73fdf5d7e13a36b8ecb039af6e6c",
|
"sha256:2d32223e5b0ee02943f32b19245b61a62db83a882f0e76cc564e1cec60d48f87",
|
||||||
"sha256:49570438e60f19243e7e0d504527dd5fe9b4b967b5a1ff21cc12b57602dd85d3",
|
"sha256:4169a27b818de4a1860720108b55a2801f32b6ae79e7f99c00d79f2a2822eeb7",
|
||||||
"sha256:541dd758ad49b45920dda3b5b48c968f8b2533d8981bcdb43002798d8f7a89ed",
|
"sha256:57ad77d32917bc55299b16d3b996ffa42a1c73c6cfa829b14043c561288d2799",
|
||||||
"sha256:5a60d3780149e13b7a6ff7ad6526b38846354d11a15e21068e57073e29e19bed",
|
"sha256:5ecf2bcb34d17415e89b546dbb44e73080f747e504273e4d4987630493cded1b",
|
||||||
"sha256:7951a966613c4211b6612b0352f5bf29989955ee592c4a885d8c7d0f830d0433",
|
"sha256:600cf9bfe75e96d965509a4c0b2b183f74a4fa6f5331dcb40fb7b77b7c2484df",
|
||||||
"sha256:922f9602d67c15ade470c11d616f2b2364950602e370c76f0c94c94ae672742e",
|
"sha256:66b57a9ca4b3221d51b237094b0303843b914b7d5afd4349970bb26518e350b0",
|
||||||
"sha256:a0f0b96c572fc9f25c3f4ddbf4688b9b38c69836713fb255f4a2715d93cbaf44",
|
"sha256:926ae3dfd160050158b9ca25d419fb7ee658974564b01aa10c059a75dffab7e8",
|
||||||
"sha256:a777c096a49d80f9d2979695b835b0f9c9edab73b59e4ceb51f19724dda887ed",
|
"sha256:93cfe5b7ff006de13e1e89830810ecbd014791b042cbe5eec253be11ac2b28f3",
|
||||||
"sha256:a9a4ac9648d39ce71c2f63fe7dc6db144b9fa567ddfc48b9fde1b54483d26042",
|
"sha256:9e98b452132963678e3ac6c73f7010fe53adf72209a32854d55690acac3f6724",
|
||||||
"sha256:aa4969f24d536ae2268c902b2c3d62ab464b5a66bcb247630d208a79a8098e9b",
|
"sha256:df186fcbf86dc1ce56305becb8434e4b6b7504bc724b71ad7a3239e0c9d14ef2",
|
||||||
"sha256:c7390f9b2119b2b43160abb34f63277a638504ef8df99f11cb52c1fda66a2e6f",
|
"sha256:fec7fb46b10da10d9e1d078d1ff8ed9e05ae14f431fdbd11145edd0550b9a964"
|
||||||
"sha256:ddd06e71c449a4fe10d0c60846280ee35d69ce49e3e413ce46d5f129e1468083",
|
|
||||||
"sha256:e18e6ab84dfb0ab997faf8cca25a86ff15dfea4027b986322026cc99e0a892da"
|
|
||||||
],
|
],
|
||||||
"index": "pypi",
|
"index": "pypi",
|
||||||
"version": "==3.3.2"
|
"version": "==3.4.6"
|
||||||
},
|
},
|
||||||
"daphne": {
|
"daphne": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
@ -219,11 +217,11 @@
|
|||||||
},
|
},
|
||||||
"dateparser": {
|
"dateparser": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:7552c994f893b5cb8fcf103b4cd2ff7f57aab9bfd2619fdf0cf571c0740fd90b",
|
"sha256:159cc4e01a593706a15cd4e269a0b3345edf3aef8bf9278a57dac8adf5bf1e4a",
|
||||||
"sha256:e875efd8c57c85c2d02b238239878db59ff1971f5a823457fcc69e493bf6ebfa"
|
"sha256:17202df32c7a36e773136ff353aa3767e987f8b3e27374c39fd21a30a803d6f8"
|
||||||
],
|
],
|
||||||
"index": "pypi",
|
"index": "pypi",
|
||||||
"version": "==0.7.6"
|
"version": "==1.0.0"
|
||||||
},
|
},
|
||||||
"django": {
|
"django": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
@ -415,11 +413,11 @@
|
|||||||
},
|
},
|
||||||
"imap-tools": {
|
"imap-tools": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:0eaa9b990fae336601dd44f353fac2d35ea25ca3b1b682a83700511635fc30ae",
|
"sha256:44641716f0c5c07df78c5713405675fac50220d4f8e2906c9ed4aabd9c356fa8",
|
||||||
"sha256:1c809e286d439e41fbe796c522ad4e565fd47a4260253343fa1b1045b6bfe8b1"
|
"sha256:bab9a6edf848a58bdd3959ba55e0eb75039ff188a3779371d0b8db674a4945e8"
|
||||||
],
|
],
|
||||||
"index": "pypi",
|
"index": "pypi",
|
||||||
"version": "==0.37.0"
|
"version": "==0.38.1"
|
||||||
},
|
},
|
||||||
"img2pdf": {
|
"img2pdf": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
@ -591,11 +589,11 @@
|
|||||||
},
|
},
|
||||||
"ocrmypdf": {
|
"ocrmypdf": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:0f624456a50be0b0bc8c0b59704d159f637616c093a1cabe8bb383706561bcf7",
|
"sha256:2fca4046e3a33e5902dd89c3003a3f31c7d584dc43f14c7c97f57fce20d2e469",
|
||||||
"sha256:b829ad640a6160423162012e094ee2f7cd074ec99efadd7f7486954ec9182985"
|
"sha256:5c386fcf2c0f2635533c2bad0edcd2d455f667a134d180dc61cbb3d4d5f0c8e2"
|
||||||
],
|
],
|
||||||
"index": "pypi",
|
"index": "pypi",
|
||||||
"version": "==11.6.2"
|
"version": "==11.7.0"
|
||||||
},
|
},
|
||||||
"pathvalidate": {
|
"pathvalidate": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
@ -784,14 +782,6 @@
|
|||||||
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
|
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
|
||||||
"version": "==2.20"
|
"version": "==2.20"
|
||||||
},
|
},
|
||||||
"pyhamcrest": {
|
|
||||||
"hashes": [
|
|
||||||
"sha256:412e00137858f04bde0729913874a48485665f2d36fe9ee449f26be864af9316",
|
|
||||||
"sha256:7ead136e03655af85069b6f47b23eb7c3e5c221aa9f022a4fbb499f5b7308f29"
|
|
||||||
],
|
|
||||||
"markers": "python_version >= '3.5'",
|
|
||||||
"version": "==2.0.2"
|
|
||||||
},
|
|
||||||
"pyopenssl": {
|
"pyopenssl": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:4c231c759543ba02560fcd2480c48dcec4dae34c9da7d3747c508227e0624b51",
|
"sha256:4c231c759543ba02560fcd2480c48dcec4dae34c9da7d3747c508227e0624b51",
|
||||||
@ -1097,45 +1087,22 @@
|
|||||||
},
|
},
|
||||||
"tqdm": {
|
"tqdm": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:65185676e9fdf20d154cffd1c5de8e39ef9696ff7e59fe0156b1b08e468736af",
|
"sha256:2c44efa73b8914dba7807aefd09653ac63c22b5b4ea34f7a80973f418f1a3089",
|
||||||
"sha256:70657337ec104eb4f3fb229285358f23f045433f6aea26846cdd55f0fd68945c"
|
"sha256:c23ac707e8e8aabb825e4d91f8e17247f9cc14b0d64dd9e97be0781e9e525bba"
|
||||||
],
|
],
|
||||||
"index": "pypi",
|
"index": "pypi",
|
||||||
"version": "==4.57.0"
|
"version": "==4.58.0"
|
||||||
},
|
},
|
||||||
"twisted": {
|
"twisted": {
|
||||||
"extras": [
|
"extras": [
|
||||||
"tls"
|
"tls"
|
||||||
],
|
],
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:0150dae5adc962d15e00054cc6926f1e64763fb8dd26e1632593ac06e592104b",
|
"sha256:77544a8945cf69b98d2946689bbe0c75de7d145cdf11f391dd487eae8fc95a12",
|
||||||
"sha256:040eb6641125d2a9a09cf198ec7b83dd8858c6f51f6770325ed9959c00f5098f",
|
"sha256:aab38085ea6cda5b378b519a0ec99986874921ee8881318626b0a3414bb2631e"
|
||||||
"sha256:147780b8caf21ba2aef3688628eaf13d7e7fe02a86747cd54bfaf2140538f042",
|
|
||||||
"sha256:158ddb80719a4813d292293ac44ba41d8b56555ed009d90994a278237ee63d2c",
|
|
||||||
"sha256:15e52271f08f62e2230ff093e0278aa01c9dac057c4557cadadd2429eed86a3e",
|
|
||||||
"sha256:2182000d6ffc05d269e6c03bfcec8b57e20259ca1086180edaedec3f1e689292",
|
|
||||||
"sha256:25ffcf37944bdad4a99981bc74006d735a678d2b5c193781254fbbb6d69e3b22",
|
|
||||||
"sha256:3281d9ce889f7b21bdb73658e887141aa45a102baf3b2320eafcfba954fcefec",
|
|
||||||
"sha256:356e8d8dd3590e790e3dba4db139eb8a17aca64b46629c622e1b1597a4a92478",
|
|
||||||
"sha256:70952c56e4965b9f53b180daecf20a9595cf22b8d0935cd3bd664c90273c3ab2",
|
|
||||||
"sha256:7408c6635ee1b96587289283ebe90ee15dbf9614b05857b446055116bc822d29",
|
|
||||||
"sha256:7c547fd0215db9da8a1bc23182b309e84a232364cc26d829e9ee196ce840b114",
|
|
||||||
"sha256:894f6f3cfa57a15ea0d0714e4283913a5f2511dbd18653dd148eba53b3919797",
|
|
||||||
"sha256:94ac3d55a58c90e2075c5fe1853f2aa3892b73e3bf56395f743aefde8605eeaa",
|
|
||||||
"sha256:a58e61a2a01e5bcbe3b575c0099a2bcb8d70a75b1a087338e0c48dd6e01a5f15",
|
|
||||||
"sha256:c09c47ff9750a8e3aa60ad169c4b95006d455a29b80ad0901f031a103b2991cd",
|
|
||||||
"sha256:ca3a0b8c9110800e576d89b5337373e52018b41069bc879f12fa42b7eb2d0274",
|
|
||||||
"sha256:cd1dc5c85b58494138a3917752b54bb1daa0045d234b7c132c37a61d5483ebad",
|
|
||||||
"sha256:cdbc4c7f0cd7a2218b575844e970f05a1be1861c607b0e048c9bceca0c4d42f7",
|
|
||||||
"sha256:d267125cc0f1e8a0eed6319ba4ac7477da9b78a535601c49ecd20c875576433a",
|
|
||||||
"sha256:d72c55b5d56e176563b91d11952d13b01af8725c623e498db5507b6614fc1e10",
|
|
||||||
"sha256:d95803193561a243cb0401b0567c6b7987d3f2a67046770e1dccd1c9e49a9780",
|
|
||||||
"sha256:e92703bed0cc21d6cb5c61d66922b3b1564015ca8a51325bd164a5e33798d504",
|
|
||||||
"sha256:f058bd0168271de4dcdc39845b52dd0a4a2fecf5f1246335f13f5e96eaebb467",
|
|
||||||
"sha256:f3c19e5bd42bbe4bf345704ad7c326c74d3fd7a1b3844987853bef180be638d4"
|
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'",
|
"markers": "python_full_version >= '3.5.4'",
|
||||||
"version": "==20.3.0"
|
"version": "==21.2.0"
|
||||||
},
|
},
|
||||||
"txaio": {
|
"txaio": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
@ -1490,11 +1457,11 @@
|
|||||||
},
|
},
|
||||||
"faker": {
|
"faker": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:31a58ec5a8f4672f24da3b5ddea02c82a712de1de3179b432948e5c34d787aca",
|
"sha256:90b69e9e05d622edb2fa5ebfda7bef41c88675cace85e72689fde5b8723d00a3",
|
||||||
"sha256:aadfe0efe11ecbbbc5b3b0b0fab050c2acbd2d8e5201769546d43d236bfff663"
|
"sha256:da395fe545f40d4366b82b1a02448847a4586bd2b28af393b3edbd1e45d1e0fc"
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '3.6'",
|
"markers": "python_version >= '3.6'",
|
||||||
"version": "==6.4.1"
|
"version": "==6.5.0"
|
||||||
},
|
},
|
||||||
"filelock": {
|
"filelock": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
|
@ -104,9 +104,13 @@ Paperless has been around a while now, and people are starting to build stuff on
|
|||||||
|
|
||||||
These projects also exist, but their status and compatibility with paperless-ng is unknown.
|
These projects also exist, but their status and compatibility with paperless-ng is unknown.
|
||||||
|
|
||||||
* [Paperless Desktop](https://github.com/thomasbrueggemann/paperless-desktop): A desktop UI for your Paperless installation. Runs on Mac, Linux, and Windows.
|
|
||||||
* [paperless-cli](https://github.com/stgarf/paperless-cli): A golang command line binary to interact with a Paperless instance.
|
* [paperless-cli](https://github.com/stgarf/paperless-cli): A golang command line binary to interact with a Paperless instance.
|
||||||
|
|
||||||
|
This project also exists, but needs updates to be compatile with paperless-ng.
|
||||||
|
|
||||||
|
* [Paperless Desktop](https://github.com/thomasbrueggemann/paperless-desktop): A desktop UI for your Paperless installation. Runs on Mac, Linux, and Windows.
|
||||||
|
Known issues on Mac: (Could not load reminders and documents)
|
||||||
|
|
||||||
# Important Note
|
# Important Note
|
||||||
|
|
||||||
Document scanners are typically used to scan sensitive documents. Things like your social insurance number, tax records, invoices, etc. Everything is stored in the clear without encryption. This means that Paperless should never be run on an untrusted host. Instead, I recommend that if you do want to use it, run it locally on a server in your own home.
|
Document scanners are typically used to scan sensitive documents. Things like your social insurance number, tax records, invoices, etc. Everything is stored in the clear without encryption. This means that Paperless should never be run on an untrusted host. Instead, I recommend that if you do want to use it, run it locally on a server in your own home.
|
||||||
|
@ -18,8 +18,9 @@ paperlessng_directory: /opt/paperless-ng
|
|||||||
paperlessng_consumption_dir: "{{ paperlessng_directory }}/consumption"
|
paperlessng_consumption_dir: "{{ paperlessng_directory }}/consumption"
|
||||||
paperlessng_data_dir: "{{ paperlessng_directory }}/data"
|
paperlessng_data_dir: "{{ paperlessng_directory }}/data"
|
||||||
paperlessng_media_root: "{{ paperlessng_directory }}/media"
|
paperlessng_media_root: "{{ paperlessng_directory }}/media"
|
||||||
paperlessng_static_dir: "{{ paperlessng_directory }}/static"
|
paperlessng_staticdir: "{{ paperlessng_directory }}/static"
|
||||||
paperlessng_filename_format:
|
paperlessng_filename_format:
|
||||||
|
paperlessng_logging_dir: "{{ paperlessng_data_dir }}/log"
|
||||||
paperlessng_virtualenv: "{{ paperlessng_directory }}/.venv"
|
paperlessng_virtualenv: "{{ paperlessng_directory }}/.venv"
|
||||||
|
|
||||||
# Hosting & Security
|
# Hosting & Security
|
||||||
@ -36,12 +37,15 @@ paperlessng_enable_http_remote_user: False
|
|||||||
paperlessng_ocr_languages:
|
paperlessng_ocr_languages:
|
||||||
- eng
|
- eng
|
||||||
paperlessng_ocr_mode: skip
|
paperlessng_ocr_mode: skip
|
||||||
|
paperlessng_ocr_clean: clean
|
||||||
|
paperlessng_ocr_deskew: True
|
||||||
|
paperlessng_ocr_rotate_pages: True
|
||||||
|
paperlessng_ocr_rotate_pages_threshold: 12
|
||||||
paperlessng_ocr_output_type: pdfa
|
paperlessng_ocr_output_type: pdfa
|
||||||
paperlessng_ocr_pages: 0
|
paperlessng_ocr_pages: 0
|
||||||
paperlessng_ocr_image_dpi:
|
paperlessng_ocr_image_dpi:
|
||||||
# see https://ocrmypdf.readthedocs.io/en/latest/api.html#ocrmypdf.ocr
|
# see https://ocrmypdf.readthedocs.io/en/latest/api.html#ocrmypdf.ocr
|
||||||
paperlessng_ocr_user_args:
|
paperlessng_ocr_user_args:
|
||||||
#- "deskew": True # https://github.com/jonaswinkler/paperless-ng/issues/231
|
|
||||||
- "optimize": 1
|
- "optimize": 1
|
||||||
paperlessng_use_jbig2enc: True
|
paperlessng_use_jbig2enc: True
|
||||||
paperlessng_big2enc_lossy: False
|
paperlessng_big2enc_lossy: False
|
||||||
@ -57,10 +61,11 @@ paperlessng_consumer_polling: 0
|
|||||||
paperlessng_consumer_delete_duplicates: False
|
paperlessng_consumer_delete_duplicates: False
|
||||||
paperlessng_consumer_recursive: False
|
paperlessng_consumer_recursive: False
|
||||||
paperlessng_consumer_subdirs_as_tags: False
|
paperlessng_consumer_subdirs_as_tags: False
|
||||||
|
paperlessng_convert_memory_limit: 0
|
||||||
|
paperlessng_convert_tmpdir:
|
||||||
paperlessng_optimize_thumbnails: True
|
paperlessng_optimize_thumbnails: True
|
||||||
paperlessng_post_consume_script:
|
paperlessng_post_consume_script:
|
||||||
paperlessng_filename_date_order:
|
paperlessng_filename_date_order:
|
||||||
paperlessng_filename_parse_transforms:
|
|
||||||
paperlessng_thumbnail_font_name: /usr/share/fonts/liberation/LiberationSerif-Regular.ttf
|
paperlessng_thumbnail_font_name: /usr/share/fonts/liberation/LiberationSerif-Regular.ttf
|
||||||
paperlessng_ignore_dates: ""
|
paperlessng_ignore_dates: ""
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
tasks:
|
tasks:
|
||||||
- name: set current github commit as version when available
|
- name: set current github commit as version when available
|
||||||
set_fact:
|
set_fact:
|
||||||
paperlessng_version: "{{ lookup('env', 'GITHUB_SHA') | default('master', True) }}"
|
paperlessng_version: "{{ lookup('env', 'TARGET_GITHUB_SHA') | default('master', True) }}"
|
||||||
- name: update to newest paperless-ng release
|
- name: update to newest paperless-ng release
|
||||||
include_role:
|
include_role:
|
||||||
name: ansible
|
name: ansible
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
|
|
||||||
- name: install ocr languages
|
- name: install ocr languages
|
||||||
apt:
|
apt:
|
||||||
pkg: "{{ paperlessng_ocr_languages | map('regex_replace', '^(.*)$', 'tesseract-ocr-\\1') | list }}"
|
pkg: "{{ paperlessng_ocr_languages | map('regex_replace', '^(.*)$', 'tesseract-ocr-\\1') | map('replace', '_', '-') | list }}"
|
||||||
|
|
||||||
- name: set up notesalexp repository key (for jbig2enc)
|
- name: set up notesalexp repository key (for jbig2enc)
|
||||||
apt_key:
|
apt_key:
|
||||||
@ -256,7 +256,7 @@
|
|||||||
- "{{ paperlessng_consumption_dir }}"
|
- "{{ paperlessng_consumption_dir }}"
|
||||||
- "{{ paperlessng_data_dir }}"
|
- "{{ paperlessng_data_dir }}"
|
||||||
- "{{ paperlessng_media_root }}"
|
- "{{ paperlessng_media_root }}"
|
||||||
- "{{ paperlessng_static_dir }}"
|
- "{{ paperlessng_staticdir }}"
|
||||||
|
|
||||||
- name: rename initial config
|
- name: rename initial config
|
||||||
command:
|
command:
|
||||||
@ -280,9 +280,11 @@
|
|||||||
- regexp: PAPERLESS_MEDIA_ROOT
|
- regexp: PAPERLESS_MEDIA_ROOT
|
||||||
line: "PAPERLESS_MEDIA_ROOT={{ paperlessng_media_root }}"
|
line: "PAPERLESS_MEDIA_ROOT={{ paperlessng_media_root }}"
|
||||||
- regexp: PAPERLESS_STATICDIR
|
- regexp: PAPERLESS_STATICDIR
|
||||||
line: "PAPERLESS_STATICDIR={{ paperlessng_static_dir }}"
|
line: "PAPERLESS_STATICDIR={{ paperlessng_staticdir }}"
|
||||||
- regexp: PAPERLESS_FILENAME_FORMAT
|
- regexp: PAPERLESS_FILENAME_FORMAT
|
||||||
line: "PAPERLESS_FILENAME_FORMAT={{ paperlessng_filename_format }}"
|
line: "PAPERLESS_FILENAME_FORMAT={{ paperlessng_filename_format }}"
|
||||||
|
- regexp: PAPERLESS_LOGGING_DIR
|
||||||
|
line: "PAPERLESS_LOGGING_DIR={{ paperlessng_logging_dir }}"
|
||||||
# Hosting & Security
|
# Hosting & Security
|
||||||
- regexp: PAPERLESS_SECRET_KEY
|
- regexp: PAPERLESS_SECRET_KEY
|
||||||
line: "PAPERLESS_SECRET_KEY={{ paperlessng_secret_key }}"
|
line: "PAPERLESS_SECRET_KEY={{ paperlessng_secret_key }}"
|
||||||
@ -302,9 +304,17 @@
|
|||||||
line: "PAPERLESS_ENABLE_HTTP_REMOTE_USER={{ paperlessng_enable_http_remote_user }}"
|
line: "PAPERLESS_ENABLE_HTTP_REMOTE_USER={{ paperlessng_enable_http_remote_user }}"
|
||||||
# OCR settings
|
# OCR settings
|
||||||
- regexp: PAPERLESS_OCR_LANGUAGE
|
- regexp: PAPERLESS_OCR_LANGUAGE
|
||||||
line: "PAPERLESS_OCR_LANGUAGE={{ paperlessng_ocr_languages | join('+') }}"
|
line: "PAPERLESS_OCR_LANGUAGE={{ paperlessng_ocr_languages | join('+') | replace('-','_') }}"
|
||||||
- regexp: PAPERLESS_OCR_MODE
|
- regexp: PAPERLESS_OCR_MODE
|
||||||
line: "PAPERLESS_OCR_MODE={{ paperlessng_ocr_mode }}"
|
line: "PAPERLESS_OCR_MODE={{ paperlessng_ocr_mode }}"
|
||||||
|
- regexp: PAPERLESS_OCR_CLEAN
|
||||||
|
line: "PAPERLESS_OCR_CLEAN={{ paperlessng_ocr_clean }}"
|
||||||
|
- regexp: PAPERLESS_OCR_DESKEW
|
||||||
|
line: "PAPERLESS_OCR_DESKEW={{ paperlessng_ocr_deskew }}"
|
||||||
|
- regexp: PAPERLESS_OCR_ROTATE_PAGES
|
||||||
|
line: "PAPERLESS_OCR_ROTATE_PAGES={{ paperlessng_ocr_rotate_pages }}"
|
||||||
|
- regexp: PAPERLESS_OCR_ROTATE_PAGES_THRESHOLD
|
||||||
|
line: "PAPERLESS_OCR_ROTATE_PAGES_THRESHOLD={{ paperlessng_ocr_rotate_pages_threshold }}"
|
||||||
- regexp: PAPERLESS_OCR_OUTPUT_TYPE
|
- regexp: PAPERLESS_OCR_OUTPUT_TYPE
|
||||||
line: "PAPERLESS_OCR_OUTPUT_TYPE={{ paperlessng_ocr_output_type }}"
|
line: "PAPERLESS_OCR_OUTPUT_TYPE={{ paperlessng_ocr_output_type }}"
|
||||||
- regexp: PAPERLESS_OCR_PAGES
|
- regexp: PAPERLESS_OCR_PAGES
|
||||||
@ -331,6 +341,10 @@
|
|||||||
line: "PAPERLESS_CONSUMER_RECURSIVE={{ paperlessng_consumer_recursive }}"
|
line: "PAPERLESS_CONSUMER_RECURSIVE={{ paperlessng_consumer_recursive }}"
|
||||||
- regexp: PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS
|
- regexp: PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS
|
||||||
line: "PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS={{ paperlessng_consumer_subdirs_as_tags }}"
|
line: "PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS={{ paperlessng_consumer_subdirs_as_tags }}"
|
||||||
|
- regexp: PAPERLESS_CONVERT_MEMORY_LIMIT
|
||||||
|
line: "PAPERLESS_CONVERT_MEMORY_LIMIT={{ paperlessng_convert_memory_limit }}"
|
||||||
|
- regexp: PAPERLESS_CONVERT_TMPDIR
|
||||||
|
line: "PAPERLESS_CONVERT_TMPDIR={{ paperlessng_convert_tmpdir }}"
|
||||||
- regexp: PAPERLESS_OPTIMIZE_THUMBNAILS
|
- regexp: PAPERLESS_OPTIMIZE_THUMBNAILS
|
||||||
line: "PAPERLESS_OPTIMIZE_THUMBNAILS={{ paperlessng_optimize_thumbnails }}"
|
line: "PAPERLESS_OPTIMIZE_THUMBNAILS={{ paperlessng_optimize_thumbnails }}"
|
||||||
- regexp: PAPERLESS_POST_CONSUME_SCRIPT
|
- regexp: PAPERLESS_POST_CONSUME_SCRIPT
|
||||||
|
@ -184,17 +184,17 @@ Downgrades are possible. However, some updates also contain database migrations
|
|||||||
In order to move back from a version that applied database migrations, you'll have to revert the database migration *before* downgrading,
|
In order to move back from a version that applied database migrations, you'll have to revert the database migration *before* downgrading,
|
||||||
and then downgrade paperless.
|
and then downgrade paperless.
|
||||||
|
|
||||||
This table lists the most recent database migrations for each versions:
|
This table lists the compatible versions for each database migration number.
|
||||||
|
|
||||||
+---------+-------------------------+
|
+------------------+-----------------+
|
||||||
| Version | Latest migration number |
|
| Migration number | Version range |
|
||||||
+---------+-------------------------+
|
+------------------+-----------------+
|
||||||
| 1.0.0 | 1011 |
|
| 1011 | 1.0.0 |
|
||||||
+---------+-------------------------+
|
+------------------+-----------------+
|
||||||
| 1.1.0 | 1011 |
|
| 1012 | 1.1.0 - 1.2.1 |
|
||||||
+---------+-------------------------+
|
+------------------+-----------------+
|
||||||
| 1.1.1 | 1012 |
|
| 1013 | 1.3.0 - current |
|
||||||
+---------+-------------------------+
|
+------------------+-----------------+
|
||||||
|
|
||||||
Execute the following management command to migrate your database:
|
Execute the following management command to migrate your database:
|
||||||
|
|
||||||
|
50
docs/api.rst
50
docs/api.rst
@ -284,3 +284,53 @@ The endpoint supports the following optional form fields:
|
|||||||
The endpoint will immediately return "OK" if the document consumption process
|
The endpoint will immediately return "OK" if the document consumption process
|
||||||
was started successfully. No additional status information about the consumption
|
was started successfully. No additional status information about the consumption
|
||||||
process itself is available, since that happens in a different process.
|
process itself is available, since that happens in a different process.
|
||||||
|
|
||||||
|
|
||||||
|
.. _api-versioning:
|
||||||
|
|
||||||
|
API Versioning
|
||||||
|
##############
|
||||||
|
|
||||||
|
The REST API is versioned since Paperless-ng 1.3.0.
|
||||||
|
|
||||||
|
* Versioning ensures that changes to the API don't break older clients.
|
||||||
|
* Clients specify the specific version of the API they wish to use with every request and Paperless will handle the request using the specified API version.
|
||||||
|
* Even if the underlying data model changes, older API versions will always serve compatible data.
|
||||||
|
* If no version is specified, Paperless will serve version 1 to ensure compatibility with older clients that do not request a specific API version.
|
||||||
|
|
||||||
|
API versions are specified by submitting an additional HTTP ``Accept`` header with every request:
|
||||||
|
|
||||||
|
.. code::
|
||||||
|
|
||||||
|
Accept: application/json; version=6
|
||||||
|
|
||||||
|
If an invalid version is specified, Paperless 1.3.0 will respond with "406 Not Acceptable" and an error message in the body.
|
||||||
|
Earlier versions of Paperless will serve API version 1 regardless of whether a version is specified via the ``Accept`` header.
|
||||||
|
|
||||||
|
If a client wishes to verify whether it is compatible with any given server, the following procedure should be performed:
|
||||||
|
|
||||||
|
1. Perform an *authenticated* request against any API endpoint. If the server is on version 1.3.0 or newer, the server will
|
||||||
|
add two custom headers to the response:
|
||||||
|
|
||||||
|
.. code::
|
||||||
|
|
||||||
|
X-Api-Version: 2
|
||||||
|
X-Version: 1.3.0
|
||||||
|
|
||||||
|
2. Determine whether the client is compatible with this server based on the presence/absence of these headers and their values if present.
|
||||||
|
|
||||||
|
|
||||||
|
API Changelog
|
||||||
|
=============
|
||||||
|
|
||||||
|
Version 1
|
||||||
|
---------
|
||||||
|
|
||||||
|
Initial API version.
|
||||||
|
|
||||||
|
Version 2
|
||||||
|
---------
|
||||||
|
|
||||||
|
* Added field ``Tag.color``. This read/write string field contains a hex color such as ``#a6cee3``.
|
||||||
|
* Added read-only field ``Tag.text_color``. This field contains the text color to use for a specific tag, which is either black or white depending on the brightness of ``Tag.color``.
|
||||||
|
* Removed field ``Tag.colour``.
|
||||||
|
@ -5,10 +5,31 @@
|
|||||||
Changelog
|
Changelog
|
||||||
*********
|
*********
|
||||||
|
|
||||||
|
paperless-ng 1.3.0
|
||||||
|
##################
|
||||||
|
|
||||||
|
This release contains new database migrations.
|
||||||
|
|
||||||
|
* Added a color picker for tag colors.
|
||||||
|
|
||||||
|
* Added translations into Italian and Romanian. Thank you!
|
||||||
|
|
||||||
|
* Close individual documents from the sidebar.
|
||||||
|
|
||||||
|
* `BolkoSchreiber <https://github.com/BolkoSchreiber>`_ added an option to disable/enable thumbnail inversion in dark mode.
|
||||||
|
|
||||||
|
* Fixed an issue with the auto matching algorithm when more than 256 tags were used.
|
||||||
|
|
||||||
|
* `Simon Taddiken <https://github.com/skuzzle>`_ added the ability to customize the header used for remote user authentication with SSO applications.
|
||||||
|
|
||||||
|
* The REST API is versioned from this point onwards. See the documentation about :ref:`api-versioning` for details.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
paperless-ng 1.2.1
|
paperless-ng 1.2.1
|
||||||
##################
|
##################
|
||||||
|
|
||||||
* `Rodrigo Avelino <https://github.com/rodavelino>`_ translated Paperless into Portuguese (Brazil).
|
* `Rodrigo Avelino <https://github.com/rodavelino>`_ translated Paperless into Portuguese (Brazil)!
|
||||||
|
|
||||||
* The date input fields now respect the currently selected date format.
|
* The date input fields now respect the currently selected date format.
|
||||||
|
|
||||||
@ -16,6 +37,8 @@ paperless-ng 1.2.1
|
|||||||
|
|
||||||
* When using regular expression matching, the regular expression is now validated before saving the tag/correspondent/type.
|
* When using regular expression matching, the regular expression is now validated before saving the tag/correspondent/type.
|
||||||
|
|
||||||
|
* Regression fix: Dates on the front end did not respect date locale settings in some cases.
|
||||||
|
|
||||||
paperless-ng 1.2.0
|
paperless-ng 1.2.0
|
||||||
##################
|
##################
|
||||||
|
|
||||||
|
@ -191,8 +191,28 @@ PAPERLESS_ENABLE_HTTP_REMOTE_USER=<bool>
|
|||||||
Allows authentication via HTTP_REMOTE_USER which is used by some SSO
|
Allows authentication via HTTP_REMOTE_USER which is used by some SSO
|
||||||
applications.
|
applications.
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
|
||||||
|
This will allow authentication by simply adding a ``Remote-User: <username>`` header
|
||||||
|
to a request. Use with care! You especially *must* ensure that any such header is not
|
||||||
|
passed from your proxy server to paperless.
|
||||||
|
|
||||||
|
If you're exposing paperless to the internet directly, do not use this.
|
||||||
|
|
||||||
|
Also see the warning `in the official documentation <https://docs.djangoproject.com/en/3.1/howto/auth-remote-user/#configuration>`.
|
||||||
|
|
||||||
Defaults to `false` which disables this feature.
|
Defaults to `false` which disables this feature.
|
||||||
|
|
||||||
|
PAPERLESS_HTTP_REMOTE_USER_HEADER_NAME=<str>
|
||||||
|
If `PAPERLESS_ENABLE_HTTP_REMOTE_USER` is enabled, this property allows to
|
||||||
|
customize the name of the HTTP header from which the authenticated username
|
||||||
|
is extracted. Values are in terms of
|
||||||
|
[HttpRequest.META](https://docs.djangoproject.com/en/3.1/ref/request-response/#django.http.HttpRequest.META).
|
||||||
|
Thus, the configured value must start with `HTTP_` followed by the
|
||||||
|
normalized actual header name.
|
||||||
|
|
||||||
|
Defaults to `HTTP_REMOTE_USER`.
|
||||||
|
|
||||||
.. _configuration-ocr:
|
.. _configuration-ocr:
|
||||||
|
|
||||||
OCR settings
|
OCR settings
|
||||||
|
@ -5,7 +5,7 @@ Paperless development
|
|||||||
|
|
||||||
This section describes the steps you need to take to start development on paperless-ng.
|
This section describes the steps you need to take to start development on paperless-ng.
|
||||||
|
|
||||||
1. Check out the source from github. The repository is organized in the following way:
|
Check out the source from github. The repository is organized in the following way:
|
||||||
|
|
||||||
* ``master`` always represents the latest release and will only see changes
|
* ``master`` always represents the latest release and will only see changes
|
||||||
when a new release is made.
|
when a new release is made.
|
||||||
@ -13,6 +13,8 @@ This section describes the steps you need to take to start development on paperl
|
|||||||
* ``feature-X`` contain bigger changes that will be in some release, but not
|
* ``feature-X`` contain bigger changes that will be in some release, but not
|
||||||
necessarily the next one.
|
necessarily the next one.
|
||||||
|
|
||||||
|
When making functional changes to paperless, *always* make your changes on the ``dev`` branch.
|
||||||
|
|
||||||
Apart from that, the folder structure is as follows:
|
Apart from that, the folder structure is as follows:
|
||||||
|
|
||||||
* ``docs/`` - Documentation.
|
* ``docs/`` - Documentation.
|
||||||
@ -21,13 +23,64 @@ This section describes the steps you need to take to start development on paperl
|
|||||||
* ``scripts/`` - Various scripts that help with different parts of development.
|
* ``scripts/`` - Various scripts that help with different parts of development.
|
||||||
* ``docker/`` - Files required to build the docker image.
|
* ``docker/`` - Files required to build the docker image.
|
||||||
|
|
||||||
2. Install some dependencies.
|
Initial setup and first start
|
||||||
|
=============================
|
||||||
|
|
||||||
* Python 3.6.
|
After you forked and cloned the code from github you need to perform a first-time setup.
|
||||||
* All dependencies listed in the :ref:`Bare metal route <setup-bare_metal>`
|
To do the setup you need to perform the steps from the following chapters in a certain order:
|
||||||
* redis. You can either install redis or use the included scritps/start-services.sh
|
|
||||||
to use docker to fire up a redis instance (and some other services such as tika,
|
1. Install prerequisites + pipenv as mentioned in :ref:`Bare metal route <setup-bare_metal>`
|
||||||
gotenberg and a postgresql server).
|
2. Copy ``paperless.conf.example`` to ``paperless.conf`` and enable debug mode.
|
||||||
|
3. Install the Angular CLI interface:
|
||||||
|
|
||||||
|
.. code:: shell-session
|
||||||
|
|
||||||
|
$ npm install -g @angular/cli
|
||||||
|
|
||||||
|
4. Create ``consume`` and ``media`` folders in the cloned root folder.
|
||||||
|
|
||||||
|
.. code:: shell-session
|
||||||
|
|
||||||
|
mkdir -p consume media
|
||||||
|
|
||||||
|
5. You can now either ...
|
||||||
|
|
||||||
|
* install redis or
|
||||||
|
* use the included scripts/start-services.sh to use docker to fire up a redis instance (and some other services such as tika, gotenberg and a postgresql server) or
|
||||||
|
* spin up a bare redis container
|
||||||
|
|
||||||
|
.. code:: shell-session
|
||||||
|
|
||||||
|
docker run -d -p 6379:6379 -restart unless-stopped redis:latest
|
||||||
|
|
||||||
|
6. Install the python dependencies by performing in the src/ directory.
|
||||||
|
|
||||||
|
.. code:: shell-session
|
||||||
|
|
||||||
|
pipenv install --dev
|
||||||
|
|
||||||
|
7. Generate the static UI so you can perform a login to get session that is required for frontend development (this needs to be done one time only). From root folder:
|
||||||
|
|
||||||
|
.. code:: shell-session
|
||||||
|
|
||||||
|
compile-frontend.sh
|
||||||
|
|
||||||
|
8. Apply migrations and create a superuser for your dev instance:
|
||||||
|
|
||||||
|
.. code:: shell-session
|
||||||
|
|
||||||
|
python3 manage.py migrate
|
||||||
|
python3 manage.py createsuperuser
|
||||||
|
|
||||||
|
9. Now spin up the dev backend. Depending on which part of paperless you're developing for, you need to have some or all of them running.
|
||||||
|
|
||||||
|
.. code:: shell-session
|
||||||
|
|
||||||
|
python3 manage.py runserver & python3 manage.py document_consumer & python3 manage.py qcluster
|
||||||
|
|
||||||
|
10. Login with the superuser credentials provided in step 8 at ``http://localhost:8000`` to create a session that enables you to use the backend.
|
||||||
|
|
||||||
|
Backend development environment is now ready, to start Frontend development go to ``/src-ui`` and run ``ng serve``. From there you can use ``http://localhost:4200`` for a preview.
|
||||||
|
|
||||||
Back end development
|
Back end development
|
||||||
====================
|
====================
|
||||||
@ -35,21 +88,18 @@ Back end development
|
|||||||
The backend is a django application. I use PyCharm for development, but you can use whatever
|
The backend is a django application. I use PyCharm for development, but you can use whatever
|
||||||
you want.
|
you want.
|
||||||
|
|
||||||
Install the python dependencies by performing ``pipenv install --dev`` in the src/ directory.
|
|
||||||
This will also create a virtual environment, which you can enter with ``pipenv shell`` or
|
|
||||||
execute one-shot commands in with ``pipenv run``.
|
|
||||||
|
|
||||||
Copy ``paperless.conf.example`` to ``paperless.conf`` and enable debug mode.
|
|
||||||
|
|
||||||
Configure the IDE to use the src/ folder as the base source folder. Configure the following
|
Configure the IDE to use the src/ folder as the base source folder. Configure the following
|
||||||
launch configurations in your IDE:
|
launch configurations in your IDE:
|
||||||
|
|
||||||
* python3 manage.py runserver
|
* python3 manage.py runserver
|
||||||
* python3 manage.py qcluster
|
* python3 manage.py qcluster
|
||||||
* python3 manage.py consumer
|
* python3 manage.py document_consumer
|
||||||
|
|
||||||
Depending on which part of paperless you're developing for, you need to have some or all of
|
To start them all:
|
||||||
them running.
|
|
||||||
|
.. code:: shell-session
|
||||||
|
|
||||||
|
python3 manage.py runserver & python3 manage.py document_consumer & python3 manage.py qcluster
|
||||||
|
|
||||||
Testing and code style:
|
Testing and code style:
|
||||||
|
|
||||||
@ -109,6 +159,92 @@ This will build the front end and put it in a location from which the Django ser
|
|||||||
it as static content. This way, you can verify that authentication is working.
|
it as static content. This way, you can verify that authentication is working.
|
||||||
|
|
||||||
|
|
||||||
|
Localization
|
||||||
|
============
|
||||||
|
|
||||||
|
Paperless is available in many different languages. Since paperless consists both of a django
|
||||||
|
application and an Angular front end, both these parts have to be translated separately.
|
||||||
|
|
||||||
|
Front end localization
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
* The Angular front end does localization according to the `Angular documentation <https://angular.io/guide/i18n>`_.
|
||||||
|
* The source language of the project is "en_US".
|
||||||
|
* The source strings end up in the file "src-ui/messages.xlf".
|
||||||
|
* 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/" fodler and adjusting a couple files.
|
||||||
|
|
||||||
|
1. Adjust "src-ui/angular.json":
|
||||||
|
|
||||||
|
.. code:: json
|
||||||
|
|
||||||
|
"i18n": {
|
||||||
|
"sourceLocale": "en-US",
|
||||||
|
"locales": {
|
||||||
|
"de": "src/locale/messages.de.xlf",
|
||||||
|
"nl-NL": "src/locale/messages.nl_NL.xlf",
|
||||||
|
"fr": "src/locale/messages.fr.xlf",
|
||||||
|
"en-GB": "src/locale/messages.en_GB.xlf",
|
||||||
|
"pt-BR": "src/locale/messages.pt_BR.xlf",
|
||||||
|
"language-code": "language-file"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
2. Add the language to the available options in "src-ui/src/app/services/settings.service.ts":
|
||||||
|
|
||||||
|
.. code:: typescript
|
||||||
|
|
||||||
|
getLanguageOptions(): LanguageOption[] {
|
||||||
|
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", 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"}
|
||||||
|
// Add your new language here
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
``dateInputFormat`` is a special string that defines the behavior of the date input fields and absolutely needs to contain "dd", "mm" and "yyyy".
|
||||||
|
|
||||||
|
3. Import and register the Angular data for this locale in "src-ui/src/app/app.module.ts":
|
||||||
|
|
||||||
|
.. code:: typescript
|
||||||
|
|
||||||
|
import localeDe from '@angular/common/locales/de';
|
||||||
|
registerLocaleData(localeDe)
|
||||||
|
|
||||||
|
Back end localization
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
A majority of the strings that appear in the back end appear only when the admin is used. However,
|
||||||
|
some of these are still shown on the front end (such as error messages).
|
||||||
|
|
||||||
|
* The django application does localization according to the `django documentation <https://docs.djangoproject.com/en/3.1/topics/i18n/translation/>`_.
|
||||||
|
* The source language of the project is "en_US".
|
||||||
|
* Localization files end up in the folder "src/locale/".
|
||||||
|
* In order to extract strings from the application, call ``python3 manage.py makemessages -l en_US``. This is important after making changes to translatable strings.
|
||||||
|
* The message files need to be compiled for them to show up in the application. Call ``python3 manage.py compilemessages`` to do this. The generated files don't get
|
||||||
|
committed into git, since these are derived artifacts. The build pipeline takes care of executing this command.
|
||||||
|
|
||||||
|
Adding new languages requires adding the translated files in the "src/locale/" folder and adjusting the file "src/paperless/settings.py" to include the new language:
|
||||||
|
|
||||||
|
.. code:: python
|
||||||
|
|
||||||
|
LANGUAGES = [
|
||||||
|
("en-us", _("English (US)")),
|
||||||
|
("en-gb", _("English (GB)")),
|
||||||
|
("de", _("German")),
|
||||||
|
("nl-nl", _("Dutch")),
|
||||||
|
("fr", _("French")),
|
||||||
|
("pt-br", _("Portuguese (Brazil)")),
|
||||||
|
# Add language here.
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
Building the documentation
|
Building the documentation
|
||||||
==========================
|
==========================
|
||||||
|
|
||||||
|
@ -284,6 +284,12 @@ writing. Windows is not and will never be supported.
|
|||||||
* ``libmagic-dev`` for mime type detection
|
* ``libmagic-dev`` for mime type detection
|
||||||
* ``mime-support`` for mime type detection
|
* ``mime-support`` for mime type detection
|
||||||
|
|
||||||
|
Use this list for your preferred package management:
|
||||||
|
|
||||||
|
.. code::
|
||||||
|
|
||||||
|
python3 python3-pip python3-dev imagemagick fonts-liberation optipng gnupg libpq-dev libmagic-dev mime-support
|
||||||
|
|
||||||
These dependencies are required for OCRmyPDF, which is used for text recognition.
|
These dependencies are required for OCRmyPDF, which is used for text recognition.
|
||||||
|
|
||||||
* ``unpaper``
|
* ``unpaper``
|
||||||
@ -297,6 +303,12 @@ writing. Windows is not and will never be supported.
|
|||||||
* ``tesseract-ocr`` >= 4.0.0 for OCR
|
* ``tesseract-ocr`` >= 4.0.0 for OCR
|
||||||
* ``tesseract-ocr`` language packs (``tesseract-ocr-eng``, ``tesseract-ocr-deu``, etc)
|
* ``tesseract-ocr`` language packs (``tesseract-ocr-eng``, ``tesseract-ocr-deu``, etc)
|
||||||
|
|
||||||
|
Use this list for your preferred package management:
|
||||||
|
|
||||||
|
.. code::
|
||||||
|
|
||||||
|
unpaper ghostscript icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr
|
||||||
|
|
||||||
On Raspberry Pi, these libraries are required as well:
|
On Raspberry Pi, these libraries are required as well:
|
||||||
|
|
||||||
* ``libatlas-base-dev``
|
* ``libatlas-base-dev``
|
||||||
|
@ -8,13 +8,13 @@
|
|||||||
-i https://pypi.python.org/simple
|
-i https://pypi.python.org/simple
|
||||||
--extra-index-url https://www.piwheels.org/simple
|
--extra-index-url https://www.piwheels.org/simple
|
||||||
aioredis==1.3.1
|
aioredis==1.3.1
|
||||||
arrow==0.17.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
|
arrow==1.0.1; python_version >= '3.6'
|
||||||
asgiref==3.3.1; python_version >= '3.5'
|
asgiref==3.3.1; python_version >= '3.5'
|
||||||
async-timeout==3.0.1; python_full_version >= '3.5.3'
|
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'
|
attrs==20.3.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
|
||||||
autobahn==21.2.1; python_version >= '3.6'
|
autobahn==21.2.2; python_version >= '3.7'
|
||||||
automat==20.2.0
|
automat==20.2.0
|
||||||
blessed==1.17.12
|
blessed==1.18.0
|
||||||
certifi==2020.12.5
|
certifi==2020.12.5
|
||||||
cffi==1.14.5
|
cffi==1.14.5
|
||||||
channels-redis==3.2.0
|
channels-redis==3.2.0
|
||||||
@ -24,9 +24,9 @@ click==7.1.2; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2,
|
|||||||
coloredlogs==15.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
|
coloredlogs==15.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
|
||||||
concurrent-log-handler==0.9.19
|
concurrent-log-handler==0.9.19
|
||||||
constantly==15.1.0
|
constantly==15.1.0
|
||||||
cryptography==3.3.2
|
cryptography==3.4.6
|
||||||
daphne==3.0.1; python_version >= '3.6'
|
daphne==3.0.1; python_version >= '3.6'
|
||||||
dateparser==0.7.6
|
dateparser==1.0.0
|
||||||
django-cors-headers==3.7.0
|
django-cors-headers==3.7.0
|
||||||
django-extensions==3.1.1
|
django-extensions==3.1.1
|
||||||
django-filter==2.4.0
|
django-filter==2.4.0
|
||||||
@ -43,7 +43,7 @@ httptools==0.1.1
|
|||||||
humanfriendly==9.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
|
humanfriendly==9.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
|
||||||
hyperlink==21.0.0
|
hyperlink==21.0.0
|
||||||
idna==2.10; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
|
idna==2.10; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
|
||||||
imap-tools==0.37.0
|
imap-tools==0.38.1
|
||||||
img2pdf==0.4.0
|
img2pdf==0.4.0
|
||||||
incremental==17.5.0
|
incremental==17.5.0
|
||||||
inotify-simple==1.3.5; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
|
inotify-simple==1.3.5; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
|
||||||
@ -53,7 +53,7 @@ langdetect==1.0.8
|
|||||||
lxml==4.6.2; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
|
lxml==4.6.2; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
|
||||||
msgpack==1.0.2
|
msgpack==1.0.2
|
||||||
numpy==1.19.5
|
numpy==1.19.5
|
||||||
ocrmypdf==11.6.2
|
ocrmypdf==11.7.0
|
||||||
pathvalidate==2.3.2
|
pathvalidate==2.3.2
|
||||||
pdfminer.six==20201018
|
pdfminer.six==20201018
|
||||||
pikepdf==2.5.2
|
pikepdf==2.5.2
|
||||||
@ -64,7 +64,6 @@ psycopg2-binary==2.8.6
|
|||||||
pyasn1-modules==0.2.8
|
pyasn1-modules==0.2.8
|
||||||
pyasn1==0.4.8
|
pyasn1==0.4.8
|
||||||
pycparser==2.20; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
|
pycparser==2.20; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
|
||||||
pyhamcrest==2.0.2; python_version >= '3.5'
|
|
||||||
pyopenssl==20.0.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
|
pyopenssl==20.0.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
|
||||||
python-dateutil==2.8.1
|
python-dateutil==2.8.1
|
||||||
python-dotenv==0.15.0
|
python-dotenv==0.15.0
|
||||||
@ -85,8 +84,8 @@ sortedcontainers==2.3.0
|
|||||||
sqlparse==0.4.1; python_version >= '3.5'
|
sqlparse==0.4.1; python_version >= '3.5'
|
||||||
threadpoolctl==2.1.0; python_version >= '3.5'
|
threadpoolctl==2.1.0; python_version >= '3.5'
|
||||||
tika==1.24
|
tika==1.24
|
||||||
tqdm==4.57.0
|
tqdm==4.58.0
|
||||||
twisted[tls]==20.3.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
|
twisted[tls]==21.2.0; python_full_version >= '3.5.4'
|
||||||
txaio==21.2.1; python_version >= '3.6'
|
txaio==21.2.1; python_version >= '3.6'
|
||||||
tzlocal==2.1
|
tzlocal==2.1
|
||||||
urllib3==1.26.3; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'
|
urllib3==1.26.3; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'
|
||||||
|
@ -20,7 +20,9 @@
|
|||||||
"nl-NL": "src/locale/messages.nl_NL.xlf",
|
"nl-NL": "src/locale/messages.nl_NL.xlf",
|
||||||
"fr": "src/locale/messages.fr.xlf",
|
"fr": "src/locale/messages.fr.xlf",
|
||||||
"en-GB": "src/locale/messages.en_GB.xlf",
|
"en-GB": "src/locale/messages.en_GB.xlf",
|
||||||
"pt-BR": "src/locale/messages.pt_BR.xlf"
|
"pt-BR": "src/locale/messages.pt_BR.xlf",
|
||||||
|
"it": "src/locale/messages.it.xlf",
|
||||||
|
"ro": "src/locale/messages.ro.xlf"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"architect": {
|
"architect": {
|
||||||
|
@ -419,7 +419,7 @@
|
|||||||
<source>Do you really want to delete the tag "<x id="PH" equiv-text="object.name"/>"?</source>
|
<source>Do you really want to delete the tag "<x id="PH" equiv-text="object.name"/>"?</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-list.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-list.component.ts</context>
|
||||||
<context context-type="linenumber">30</context>
|
<context context-type="linenumber">26</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">
|
<trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b" datatype="html">
|
||||||
@ -517,35 +517,35 @@
|
|||||||
<source>Saved view "<x id="PH" equiv-text="savedView.name"/>" deleted.</source>
|
<source>Saved view "<x id="PH" equiv-text="savedView.name"/>" deleted.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">67</context>
|
<context context-type="linenumber">68</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="5647210819299459618" datatype="html">
|
<trans-unit id="5647210819299459618" datatype="html">
|
||||||
<source>Settings saved successfully.</source>
|
<source>Settings saved successfully.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">87</context>
|
<context context-type="linenumber">89</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="6839066544204061364" datatype="html">
|
<trans-unit id="6839066544204061364" datatype="html">
|
||||||
<source>Use system language</source>
|
<source>Use system language</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">92</context>
|
<context context-type="linenumber">94</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="7729897675462249787" datatype="html">
|
<trans-unit id="7729897675462249787" datatype="html">
|
||||||
<source>Use date format of display language</source>
|
<source>Use date format of display language</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">98</context>
|
<context context-type="linenumber">100</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="8488620293789898901" datatype="html">
|
<trans-unit id="8488620293789898901" datatype="html">
|
||||||
<source>Error while storing settings on server: <x id="PH" equiv-text="JSON.stringify(error.error)"/></source>
|
<source>Error while storing settings on server: <x id="PH" equiv-text="JSON.stringify(error.error)"/></source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">115</context>
|
<context context-type="linenumber">117</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">
|
<trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html">
|
||||||
@ -566,14 +566,14 @@
|
|||||||
<source>Notifications</source>
|
<source>Notifications</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">115</context>
|
<context context-type="linenumber">116</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="99dee94e92dbd9e21a008d4569f9719ed206ae37" datatype="html">
|
<trans-unit id="99dee94e92dbd9e21a008d4569f9719ed206ae37" datatype="html">
|
||||||
<source>Saved views</source>
|
<source>Saved views</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">133</context>
|
<context context-type="linenumber">134</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="bbe41ac2ea4a6c00ea941a41b33105048f8e9f13" datatype="html">
|
<trans-unit id="bbe41ac2ea4a6c00ea941a41b33105048f8e9f13" datatype="html">
|
||||||
@ -681,102 +681,109 @@
|
|||||||
<context context-type="linenumber">98</context>
|
<context context-type="linenumber">98</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="71bad20b37410c8972c9aa0f7c62996534b84339" datatype="html">
|
||||||
|
<source>Invert thumbnails in dark mode</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
|
<context context-type="linenumber">99</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit id="3863a86cd9e69a61d143d3daf51df44203df4a82" datatype="html">
|
<trans-unit id="3863a86cd9e69a61d143d3daf51df44203df4a82" datatype="html">
|
||||||
<source>Bulk editing</source>
|
<source>Bulk editing</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">102</context>
|
<context context-type="linenumber">103</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="c0ac61661c6c326d6e0e00c231b95cf2ac0c6586" datatype="html">
|
<trans-unit id="c0ac61661c6c326d6e0e00c231b95cf2ac0c6586" datatype="html">
|
||||||
<source>Show confirmation dialogs</source>
|
<source>Show confirmation dialogs</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">106</context>
|
<context context-type="linenumber">107</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="291bbe56ecbe945dcf05580a57d679fa7bd1e06a" datatype="html">
|
<trans-unit id="291bbe56ecbe945dcf05580a57d679fa7bd1e06a" datatype="html">
|
||||||
<source>Deleting documents will always ask for confirmation.</source>
|
<source>Deleting documents will always ask for confirmation.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">106</context>
|
<context context-type="linenumber">107</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="8cfddc13e04f5545ac63f419ef363505d6f78c2e" datatype="html">
|
<trans-unit id="8cfddc13e04f5545ac63f419ef363505d6f78c2e" datatype="html">
|
||||||
<source>Apply on close</source>
|
<source>Apply on close</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">107</context>
|
<context context-type="linenumber">108</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="8680abbea249ebe9c2fe35556559c8e1a9eb5841" datatype="html">
|
<trans-unit id="8680abbea249ebe9c2fe35556559c8e1a9eb5841" datatype="html">
|
||||||
<source>Document processing</source>
|
<source>Document processing</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">118</context>
|
<context context-type="linenumber">119</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="2ad4d76b36341c589d94004ad2a213fd4d6f5ca0" datatype="html">
|
<trans-unit id="2ad4d76b36341c589d94004ad2a213fd4d6f5ca0" datatype="html">
|
||||||
<source>Show notifications when new documents are detected</source>
|
<source>Show notifications when new documents are detected</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">122</context>
|
<context context-type="linenumber">123</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="e775f4f7c40249d31426ae61a21616a0c9d8e84f" datatype="html">
|
<trans-unit id="e775f4f7c40249d31426ae61a21616a0c9d8e84f" datatype="html">
|
||||||
<source>Show notifications when document processing completes successfully</source>
|
<source>Show notifications when document processing completes successfully</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">123</context>
|
<context context-type="linenumber">124</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="e3844dd174d8e817ddb551fae28f14ae80ca36b6" datatype="html">
|
<trans-unit id="e3844dd174d8e817ddb551fae28f14ae80ca36b6" datatype="html">
|
||||||
<source>Show notifications when document processing fails</source>
|
<source>Show notifications when document processing fails</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">124</context>
|
<context context-type="linenumber">125</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="af113f7c9f7e13145c3461f61a1aedf12d57bd71" datatype="html">
|
<trans-unit id="af113f7c9f7e13145c3461f61a1aedf12d57bd71" datatype="html">
|
||||||
<source>Suppress notifications on dashboard</source>
|
<source>Suppress notifications on dashboard</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">125</context>
|
<context context-type="linenumber">126</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="e27bd3804d2936a6897e81c2e52e294490e5e5a8" datatype="html">
|
<trans-unit id="e27bd3804d2936a6897e81c2e52e294490e5e5a8" datatype="html">
|
||||||
<source>This will suppress all messages about document processing status on the dashboard.</source>
|
<source>This will suppress all messages about document processing status on the dashboard.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">125</context>
|
<context context-type="linenumber">126</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="8cb90334f5dfd7fc67205085f59381e2a334ccfc" datatype="html">
|
<trans-unit id="8cb90334f5dfd7fc67205085f59381e2a334ccfc" datatype="html">
|
||||||
<source>Appears on</source>
|
<source>Appears on</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">145</context>
|
<context context-type="linenumber">146</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="6717cf1acf04728fc2b7c39f6d3297f8ff15fde5" datatype="html">
|
<trans-unit id="6717cf1acf04728fc2b7c39f6d3297f8ff15fde5" datatype="html">
|
||||||
<source>Show on dashboard</source>
|
<source>Show on dashboard</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">148</context>
|
<context context-type="linenumber">149</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="541bfc5b123b3f8867fd681eaceefb663a811973" datatype="html">
|
<trans-unit id="541bfc5b123b3f8867fd681eaceefb663a811973" datatype="html">
|
||||||
<source>Show in sidebar</source>
|
<source>Show in sidebar</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">152</context>
|
<context context-type="linenumber">153</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="abba764a7a595d04dc8c3b26e04b3780d4fdb540" datatype="html">
|
<trans-unit id="abba764a7a595d04dc8c3b26e04b3780d4fdb540" datatype="html">
|
||||||
<source>No saved views defined.</source>
|
<source>No saved views defined.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">162</context>
|
<context context-type="linenumber">163</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="ef60a738a565f498b858e903e42bc5ffc3cc1299" datatype="html">
|
<trans-unit id="ef60a738a565f498b858e903e42bc5ffc3cc1299" datatype="html">
|
||||||
@ -867,28 +874,28 @@
|
|||||||
<source>Create new tag</source>
|
<source>Create new tag</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.ts</context>
|
||||||
<context context-type="linenumber">21</context>
|
<context context-type="linenumber">22</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="5872175735754226507" datatype="html">
|
<trans-unit id="5872175735754226507" datatype="html">
|
||||||
<source>Edit tag</source>
|
<source>Edit tag</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.ts</context>
|
||||||
<context context-type="linenumber">25</context>
|
<context context-type="linenumber">26</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="f2a30b4e1a89a8a0db0bd147b54d6626b9a9bc42" datatype="html">
|
<trans-unit id="f2a30b4e1a89a8a0db0bd147b54d6626b9a9bc42" datatype="html">
|
||||||
<source>Inbox tag</source>
|
<source>Inbox tag</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.html</context>
|
||||||
<context context-type="linenumber">21</context>
|
<context context-type="linenumber">13</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="5e2f1a4ea12a1b8606ee3f0548d0ba64bf266077" datatype="html">
|
<trans-unit id="5e2f1a4ea12a1b8606ee3f0548d0ba64bf266077" datatype="html">
|
||||||
<source>Inbox tags are automatically assigned to all consumed documents.</source>
|
<source>Inbox tags are automatically assigned to all consumed documents.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.html</context>
|
||||||
<context context-type="linenumber">21</context>
|
<context context-type="linenumber">13</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="6672809941092516947" datatype="html">
|
<trans-unit id="6672809941092516947" datatype="html">
|
||||||
@ -973,42 +980,42 @@
|
|||||||
<source>Manage</source>
|
<source>Manage</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
||||||
<context context-type="linenumber">107</context>
|
<context context-type="linenumber">112</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="408cb6073e60c5d966296a3207fc596adca75e01" datatype="html">
|
<trans-unit id="408cb6073e60c5d966296a3207fc596adca75e01" datatype="html">
|
||||||
<source>Admin</source>
|
<source>Admin</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
||||||
<context context-type="linenumber">149</context>
|
<context context-type="linenumber">154</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="321e4419a943044e674beb55b8039f42a9761ca5" datatype="html">
|
<trans-unit id="321e4419a943044e674beb55b8039f42a9761ca5" datatype="html">
|
||||||
<source>Info</source>
|
<source>Info</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
||||||
<context context-type="linenumber">155</context>
|
<context context-type="linenumber">160</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7" datatype="html">
|
<trans-unit id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7" datatype="html">
|
||||||
<source>Documentation</source>
|
<source>Documentation</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
||||||
<context context-type="linenumber">162</context>
|
<context context-type="linenumber">167</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="355a222236bc01b9a8cd3cb9ecf76891125aed69" datatype="html">
|
<trans-unit id="355a222236bc01b9a8cd3cb9ecf76891125aed69" datatype="html">
|
||||||
<source>GitHub</source>
|
<source>GitHub</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
||||||
<context context-type="linenumber">170</context>
|
<context context-type="linenumber">175</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="ea3a452c5238897cabc5781308cceb2d37dcf258" datatype="html">
|
<trans-unit id="ea3a452c5238897cabc5781308cceb2d37dcf258" datatype="html">
|
||||||
<source>Suggest an idea</source>
|
<source>Suggest an idea</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
||||||
<context context-type="linenumber">176</context>
|
<context context-type="linenumber">181</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="af665f8de8fabe306aaf27443957e69bcbbce63c" datatype="html">
|
<trans-unit id="af665f8de8fabe306aaf27443957e69bcbbce63c" datatype="html">
|
||||||
@ -1029,84 +1036,98 @@
|
|||||||
<source>Close all</source>
|
<source>Close all</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
||||||
<context context-type="linenumber">101</context>
|
<context context-type="linenumber">106</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="5701618810648052610" datatype="html">
|
||||||
|
<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">73</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="3100631071441658964" datatype="html">
|
||||||
|
<source>Title & 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">74</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="5195932016807797291" datatype="html">
|
<trans-unit id="5195932016807797291" datatype="html">
|
||||||
<source>Correspondent: <x id="PH" equiv-text="this.correspondents.find(c => c.id == +rule.value)?.name"/></source>
|
<source>Correspondent: <x id="PH" equiv-text="this.correspondents.find(c => c.id == +rule.value)?.name"/></source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
||||||
<context context-type="linenumber">29</context>
|
<context context-type="linenumber">32</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="8170755470576301659" datatype="html">
|
<trans-unit id="8170755470576301659" datatype="html">
|
||||||
<source>Without correspondent</source>
|
<source>Without correspondent</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
||||||
<context context-type="linenumber">31</context>
|
<context context-type="linenumber">34</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="8705701325879965907" datatype="html">
|
<trans-unit id="8705701325879965907" datatype="html">
|
||||||
<source>Type: <x id="PH" equiv-text="this.documentTypes.find(dt => dt.id == +rule.value)?.name"/></source>
|
<source>Type: <x id="PH" equiv-text="this.documentTypes.find(dt => dt.id == +rule.value)?.name"/></source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
||||||
<context context-type="linenumber">36</context>
|
<context context-type="linenumber">39</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="4362173610367509215" datatype="html">
|
<trans-unit id="4362173610367509215" datatype="html">
|
||||||
<source>Without document type</source>
|
<source>Without document type</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
||||||
<context context-type="linenumber">38</context>
|
<context context-type="linenumber">41</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="8180755793012580465" datatype="html">
|
<trans-unit id="8180755793012580465" datatype="html">
|
||||||
<source>Tag: <x id="PH" equiv-text="this.tags.find(t => t.id == +rule.value)?.name"/></source>
|
<source>Tag: <x id="PH" equiv-text="this.tags.find(t => t.id == +rule.value)?.name"/></source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
<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">45</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="6494566478302448576" datatype="html">
|
<trans-unit id="6494566478302448576" datatype="html">
|
||||||
<source>Without any tag</source>
|
<source>Without any tag</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
<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">49</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="6523384805359286307" datatype="html">
|
<trans-unit id="6523384805359286307" datatype="html">
|
||||||
<source>Title: <x id="PH" equiv-text="rule.value"/></source>
|
<source>Title: <x id="PH" equiv-text="rule.value"/></source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
<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">53</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="02d184c288f567825a1fcbf83bcd3099a10853d5" datatype="html">
|
<trans-unit id="02d184c288f567825a1fcbf83bcd3099a10853d5" datatype="html">
|
||||||
<source>Filter tags</source>
|
<source>Filter tags</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
||||||
<context context-type="linenumber">12</context>
|
<context context-type="linenumber">20</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="4b089ca12c472cf0b46167bb5afe4b527b301bbc" datatype="html">
|
<trans-unit id="4b089ca12c472cf0b46167bb5afe4b527b301bbc" datatype="html">
|
||||||
<source>Filter correspondents</source>
|
<source>Filter correspondents</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
||||||
<context context-type="linenumber">20</context>
|
<context context-type="linenumber">28</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="0ad509732aaf702b7ea8c771c7809fa84bc85908" datatype="html">
|
<trans-unit id="0ad509732aaf702b7ea8c771c7809fa84bc85908" datatype="html">
|
||||||
<source>Filter document types</source>
|
<source>Filter document types</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
||||||
<context context-type="linenumber">27</context>
|
<context context-type="linenumber">35</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="2d9d55f1b70142ff4597ba32179d16888fd9c6b2" datatype="html">
|
<trans-unit id="2d9d55f1b70142ff4597ba32179d16888fd9c6b2" datatype="html">
|
||||||
<source>Reset filters</source>
|
<source>Reset filters</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
||||||
<context context-type="linenumber">50</context>
|
<context context-type="linenumber">58</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="7593728289020204896" datatype="html">
|
<trans-unit id="7593728289020204896" datatype="html">
|
||||||
@ -1128,28 +1149,28 @@
|
|||||||
<source>Last 7 days</source>
|
<source>Last 7 days</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
||||||
<context context-type="linenumber">24</context>
|
<context context-type="linenumber">34</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="4463380307954693363" datatype="html">
|
<trans-unit id="4463380307954693363" datatype="html">
|
||||||
<source>Last month</source>
|
<source>Last month</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
||||||
<context context-type="linenumber">25</context>
|
<context context-type="linenumber">35</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="8697368973702409683" datatype="html">
|
<trans-unit id="8697368973702409683" datatype="html">
|
||||||
<source>Last 3 months</source>
|
<source>Last 3 months</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
||||||
<context context-type="linenumber">26</context>
|
<context context-type="linenumber">36</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="3566342898065860218" datatype="html">
|
<trans-unit id="3566342898065860218" datatype="html">
|
||||||
<source>Last year</source>
|
<source>Last year</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
||||||
<context context-type="linenumber">27</context>
|
<context context-type="linenumber">37</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="be2add3a3d9e4e2556b8f9048a15a9c0f00bf1ad" datatype="html">
|
<trans-unit id="be2add3a3d9e4e2556b8f9048a15a9c0f00bf1ad" datatype="html">
|
||||||
@ -1163,7 +1184,7 @@
|
|||||||
<source>Before</source>
|
<source>Before</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.html</context>
|
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.html</context>
|
||||||
<context context-type="linenumber">29</context>
|
<context context-type="linenumber">38</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46" datatype="html">
|
<trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46" datatype="html">
|
||||||
@ -1602,7 +1623,7 @@
|
|||||||
<source>Invalid date.</source>
|
<source>Invalid date.</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/input/date/date.component.html</context>
|
<context context-type="sourcefile">src/app/components/common/input/date/date.component.html</context>
|
||||||
<context context-type="linenumber">13</context>
|
<context context-type="linenumber">14</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="2807800733729323332" datatype="html">
|
<trans-unit id="2807800733729323332" datatype="html">
|
||||||
@ -1630,49 +1651,63 @@
|
|||||||
<source>English (US)</source>
|
<source>English (US)</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">88</context>
|
<context context-type="linenumber">90</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="6987083569809053351" datatype="html">
|
<trans-unit id="6987083569809053351" datatype="html">
|
||||||
<source>English (GB)</source>
|
<source>English (GB)</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">89</context>
|
<context context-type="linenumber">91</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="1858110241312746425" datatype="html">
|
<trans-unit id="1858110241312746425" datatype="html">
|
||||||
<source>German</source>
|
<source>German</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">90</context>
|
<context context-type="linenumber">92</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="3071065188816255493" datatype="html">
|
<trans-unit id="3071065188816255493" datatype="html">
|
||||||
<source>Dutch</source>
|
<source>Dutch</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">91</context>
|
<context context-type="linenumber">93</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="7633754075223722162" datatype="html">
|
<trans-unit id="7633754075223722162" datatype="html">
|
||||||
<source>French</source>
|
<source>French</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">92</context>
|
<context context-type="linenumber">94</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="9184513005098760425" datatype="html">
|
<trans-unit id="9184513005098760425" datatype="html">
|
||||||
<source>Portuguese (Brazil)</source>
|
<source>Portuguese (Brazil)</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">93</context>
|
<context context-type="linenumber">95</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="2935232983274991580" datatype="html">
|
||||||
|
<source>Italian</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
|
<context context-type="linenumber">96</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="8118856427047826368" datatype="html">
|
||||||
|
<source>Romanian</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
|
<context context-type="linenumber">97</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="4912706592792948707" datatype="html">
|
<trans-unit id="4912706592792948707" datatype="html">
|
||||||
<source>ISO 8601</source>
|
<source>ISO 8601</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">98</context>
|
<context context-type="linenumber">102</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="2119857572761283468" datatype="html">
|
<trans-unit id="2119857572761283468" datatype="html">
|
||||||
@ -1798,13 +1833,6 @@
|
|||||||
<context context-type="linenumber">18</context>
|
<context context-type="linenumber">18</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="5701618810648052610" datatype="html">
|
|
||||||
<source>Title</source>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/services/rest/document.service.ts</context>
|
|
||||||
<context context-type="linenumber">19</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="5066119607229701477" datatype="html">
|
<trans-unit id="5066119607229701477" datatype="html">
|
||||||
<source>Document type</source>
|
<source>Document type</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
@ -1833,97 +1861,6 @@
|
|||||||
<context context-type="linenumber">23</context>
|
<context context-type="linenumber">23</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="2056433880533904076" datatype="html">
|
|
||||||
<source>Light blue</source>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">6</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="4082253113407591781" datatype="html">
|
|
||||||
<source>Blue</source>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">7</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="1143414876575720034" datatype="html">
|
|
||||||
<source>Light green</source>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">8</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="119581980963263815" datatype="html">
|
|
||||||
<source>Green</source>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">9</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="3250646524116252719" datatype="html">
|
|
||||||
<source>Light red</source>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">10</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="1628552745302385832" datatype="html">
|
|
||||||
<source>Red </source>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">11</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="5479028842846122610" datatype="html">
|
|
||||||
<source>Light orange</source>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">12</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="8598918991528773310" datatype="html">
|
|
||||||
<source>Orange</source>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">13</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="1789283185177957430" datatype="html">
|
|
||||||
<source>Light violet</source>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">14</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="2682868487071320453" datatype="html">
|
|
||||||
<source>Violet</source>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">15</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="1449010446077321264" datatype="html">
|
|
||||||
<source>Brown</source>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">16</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="30300572504753589" datatype="html">
|
|
||||||
<source>Black</source>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">17</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="461048771215121187" datatype="html">
|
|
||||||
<source>Light grey</source>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">18</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="4561076822163447092" datatype="html">
|
<trans-unit id="4561076822163447092" datatype="html">
|
||||||
<source>Create new item</source>
|
<source>Create new item</source>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
|
20
src-ui/package-lock.json
generated
20
src-ui/package-lock.json
generated
@ -2035,6 +2035,11 @@
|
|||||||
"to-fast-properties": "^2.0.0"
|
"to-fast-properties": "^2.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"@ctrl/tinycolor": {
|
||||||
|
"version": "3.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.4.0.tgz",
|
||||||
|
"integrity": "sha512-JZButFdZ1+/xAfpguQHoabIXkcqRRKpMrWKBkpEZZyxfY9C1DpADFB8PEqGSTeFr135SaTRfKqGKx5xSCLI7ZQ=="
|
||||||
|
},
|
||||||
"@istanbuljs/schema": {
|
"@istanbuljs/schema": {
|
||||||
"version": "0.1.2",
|
"version": "0.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz",
|
||||||
@ -7895,6 +7900,11 @@
|
|||||||
"object-visit": "^1.0.0"
|
"object-visit": "^1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"material-colors": {
|
||||||
|
"version": "1.2.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz",
|
||||||
|
"integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg=="
|
||||||
|
},
|
||||||
"md5.js": {
|
"md5.js": {
|
||||||
"version": "1.3.5",
|
"version": "1.3.5",
|
||||||
"resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
|
"resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
|
||||||
@ -8333,6 +8343,16 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"ngx-color": {
|
||||||
|
"version": "6.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ngx-color/-/ngx-color-6.2.0.tgz",
|
||||||
|
"integrity": "sha512-n04tcMnCpOgmI24egST94YwHmnSoAxK8O1T2t3nGrTwWbvw5XBRJvImNFnoNrriBXzc4Gx4hFehH5MU8CZxp1w==",
|
||||||
|
"requires": {
|
||||||
|
"@ctrl/tinycolor": "^3.1.6",
|
||||||
|
"material-colors": "^1.2.6",
|
||||||
|
"tslib": "^2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"ngx-cookie-service": {
|
"ngx-cookie-service": {
|
||||||
"version": "10.1.1",
|
"version": "10.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/ngx-cookie-service/-/ngx-cookie-service-10.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/ngx-cookie-service/-/ngx-cookie-service-10.1.1.tgz",
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
"bootstrap": "^4.5.0",
|
"bootstrap": "^4.5.0",
|
||||||
"file-saver": "^2.0.5",
|
"file-saver": "^2.0.5",
|
||||||
"ng-bootstrap": "^1.6.3",
|
"ng-bootstrap": "^1.6.3",
|
||||||
|
"ngx-color": "^6.2.0",
|
||||||
"ngx-cookie-service": "^10.1.1",
|
"ngx-cookie-service": "^10.1.1",
|
||||||
"ngx-file-drop": "^10.0.0",
|
"ngx-file-drop": "^10.0.0",
|
||||||
"ngx-infinite-scroll": "^9.1.0",
|
"ngx-infinite-scroll": "^9.1.0",
|
||||||
|
@ -61,18 +61,26 @@ import { CustomDatePipe } from './pipes/custom-date.pipe';
|
|||||||
import { DateComponent } from './components/common/input/date/date.component';
|
import { DateComponent } from './components/common/input/date/date.component';
|
||||||
import { ISODateTimeAdapter } from './utils/ngb-iso-date-time-adapter';
|
import { ISODateTimeAdapter } from './utils/ngb-iso-date-time-adapter';
|
||||||
import { LocalizedDateParserFormatter } from './utils/ngb-date-parser-formatter';
|
import { LocalizedDateParserFormatter } from './utils/ngb-date-parser-formatter';
|
||||||
|
import { ApiVersionInterceptor } from './interceptors/api-version.interceptor';
|
||||||
|
import { ColorSliderModule } from 'ngx-color/slider';
|
||||||
|
import { ColorComponent } from './components/common/input/color/color.component';
|
||||||
|
|
||||||
import localeFr from '@angular/common/locales/fr';
|
import localeFr from '@angular/common/locales/fr';
|
||||||
import localeNl from '@angular/common/locales/nl';
|
import localeNl from '@angular/common/locales/nl';
|
||||||
import localeDe from '@angular/common/locales/de';
|
import localeDe from '@angular/common/locales/de';
|
||||||
import localePt from '@angular/common/locales/pt-PT';
|
import localePt from '@angular/common/locales/pt';
|
||||||
|
import localeIt from '@angular/common/locales/it';
|
||||||
import localeEnGb from '@angular/common/locales/en-GB';
|
import localeEnGb from '@angular/common/locales/en-GB';
|
||||||
|
import localeRo from '@angular/common/locales/ro';
|
||||||
|
|
||||||
|
|
||||||
registerLocaleData(localeFr)
|
registerLocaleData(localeFr)
|
||||||
registerLocaleData(localeNl)
|
registerLocaleData(localeNl)
|
||||||
registerLocaleData(localeDe)
|
registerLocaleData(localeDe)
|
||||||
registerLocaleData(localePt, "pt-BR")
|
registerLocaleData(localePt, "pt-BR")
|
||||||
|
registerLocaleData(localeIt)
|
||||||
registerLocaleData(localeEnGb)
|
registerLocaleData(localeEnGb)
|
||||||
|
registerLocaleData(localeRo)
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
declarations: [
|
declarations: [
|
||||||
@ -123,7 +131,8 @@ registerLocaleData(localeEnGb)
|
|||||||
NumberComponent,
|
NumberComponent,
|
||||||
SafePipe,
|
SafePipe,
|
||||||
CustomDatePipe,
|
CustomDatePipe,
|
||||||
DateComponent
|
DateComponent,
|
||||||
|
ColorComponent
|
||||||
],
|
],
|
||||||
imports: [
|
imports: [
|
||||||
BrowserModule,
|
BrowserModule,
|
||||||
@ -134,7 +143,8 @@ registerLocaleData(localeEnGb)
|
|||||||
ReactiveFormsModule,
|
ReactiveFormsModule,
|
||||||
NgxFileDropModule,
|
NgxFileDropModule,
|
||||||
InfiniteScrollModule,
|
InfiniteScrollModule,
|
||||||
NgSelectModule
|
NgSelectModule,
|
||||||
|
ColorSliderModule
|
||||||
],
|
],
|
||||||
providers: [
|
providers: [
|
||||||
DatePipe,
|
DatePipe,
|
||||||
@ -142,6 +152,10 @@ registerLocaleData(localeEnGb)
|
|||||||
provide: HTTP_INTERCEPTORS,
|
provide: HTTP_INTERCEPTORS,
|
||||||
useClass: CsrfInterceptor,
|
useClass: CsrfInterceptor,
|
||||||
multi: true
|
multi: true
|
||||||
|
},{
|
||||||
|
provide: HTTP_INTERCEPTORS,
|
||||||
|
useClass: ApiVersionInterceptor,
|
||||||
|
multi: true
|
||||||
},
|
},
|
||||||
FilterPipe,
|
FilterPipe,
|
||||||
DocumentTitlePipe,
|
DocumentTitlePipe,
|
||||||
|
@ -92,6 +92,11 @@
|
|||||||
<svg class="sidebaricon" fill="currentColor">
|
<svg class="sidebaricon" fill="currentColor">
|
||||||
<use xlink:href="assets/bootstrap-icons.svg#file-text"/>
|
<use xlink:href="assets/bootstrap-icons.svg#file-text"/>
|
||||||
</svg> {{d.title | documentTitle}}
|
</svg> {{d.title | documentTitle}}
|
||||||
|
<span class="close bg-light" (click)="closeDocument(d); $event.preventDefault()">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" class="bi bi-x" viewBox="0 0 16 16">
|
||||||
|
<use xlink:href="assets/bootstrap-icons.svg#x"/>
|
||||||
|
</svg>
|
||||||
|
</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item w-100" *ngIf="openDocuments.length > 1">
|
<li class="nav-item w-100" *ngIf="openDocuments.length > 1">
|
||||||
|
@ -62,7 +62,34 @@
|
|||||||
flex-wrap: nowrap;
|
flex-wrap: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nav-item .nav-link-additional {
|
.nav-item {
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
&:hover .close {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.close {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
cursor: pointer;
|
||||||
|
opacity: 1;
|
||||||
|
top: 0;
|
||||||
|
padding: .25rem .3rem 0;
|
||||||
|
right: .4rem;
|
||||||
|
width: 1.8rem;
|
||||||
|
height: 100%;
|
||||||
|
|
||||||
|
svg {
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover svg {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-link-additional {
|
||||||
margin-top: 0.2rem;
|
margin-top: 0.2rem;
|
||||||
margin-left: 0.25rem;
|
margin-left: 0.25rem;
|
||||||
padding-top: 0.5rem;
|
padding-top: 0.5rem;
|
||||||
@ -71,6 +98,8 @@
|
|||||||
margin-bottom: 2px;
|
margin-bottom: 2px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Navbar
|
* Navbar
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { Component, OnDestroy, OnInit } from '@angular/core';
|
import { Component, OnInit } from '@angular/core';
|
||||||
import { FormControl } from '@angular/forms';
|
import { FormControl } from '@angular/forms';
|
||||||
import { ActivatedRoute, Router } from '@angular/router';
|
import { ActivatedRoute, Router, Params } from '@angular/router';
|
||||||
import { from, Observable, Subscription } from 'rxjs';
|
import { from, Observable, Subscription, BehaviorSubject } from 'rxjs';
|
||||||
import { debounceTime, distinctUntilChanged, map, switchMap } from 'rxjs/operators';
|
import { debounceTime, distinctUntilChanged, map, switchMap } from 'rxjs/operators';
|
||||||
import { PaperlessDocument } from 'src/app/data/paperless-document';
|
import { PaperlessDocument } from 'src/app/data/paperless-document';
|
||||||
import { OpenDocumentsService } from 'src/app/services/open-documents.service';
|
import { OpenDocumentsService } from 'src/app/services/open-documents.service';
|
||||||
@ -16,7 +16,7 @@ import { Meta } from '@angular/platform-browser';
|
|||||||
templateUrl: './app-frame.component.html',
|
templateUrl: './app-frame.component.html',
|
||||||
styleUrls: ['./app-frame.component.scss']
|
styleUrls: ['./app-frame.component.scss']
|
||||||
})
|
})
|
||||||
export class AppFrameComponent implements OnInit, OnDestroy {
|
export class AppFrameComponent implements OnInit {
|
||||||
|
|
||||||
constructor (
|
constructor (
|
||||||
public router: Router,
|
public router: Router,
|
||||||
@ -39,9 +39,9 @@ export class AppFrameComponent implements OnInit, OnDestroy {
|
|||||||
|
|
||||||
searchField = new FormControl('')
|
searchField = new FormControl('')
|
||||||
|
|
||||||
openDocuments: PaperlessDocument[] = []
|
get openDocuments(): PaperlessDocument[] {
|
||||||
|
return this.openDocumentsService.getOpenDocuments()
|
||||||
openDocumentsSubscription: Subscription
|
}
|
||||||
|
|
||||||
searchAutoComplete = (text$: Observable<string>) =>
|
searchAutoComplete = (text$: Observable<string>) =>
|
||||||
text$.pipe(
|
text$.pipe(
|
||||||
@ -77,12 +77,24 @@ export class AppFrameComponent implements OnInit, OnDestroy {
|
|||||||
this.router.navigate(['search'], {queryParams: {query: this.searchField.value}})
|
this.router.navigate(['search'], {queryParams: {query: this.searchField.value}})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
closeDocument(d: PaperlessDocument) {
|
||||||
|
this.closeMenu()
|
||||||
|
this.openDocumentsService.closeDocument(d)
|
||||||
|
|
||||||
|
let route = this.activatedRoute.snapshot
|
||||||
|
while (route.firstChild) {
|
||||||
|
route = route.firstChild
|
||||||
|
}
|
||||||
|
if (route.component == DocumentDetailComponent && route.params['id'] == d.id) {
|
||||||
|
this.router.navigate([""])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
closeAll() {
|
closeAll() {
|
||||||
this.closeMenu()
|
this.closeMenu()
|
||||||
this.openDocumentsService.closeAll()
|
this.openDocumentsService.closeAll()
|
||||||
|
|
||||||
// TODO: is there a better way to do this?
|
let route = this.activatedRoute.snapshot
|
||||||
let route = this.activatedRoute
|
|
||||||
while (route.firstChild) {
|
while (route.firstChild) {
|
||||||
route = route.firstChild
|
route = route.firstChild
|
||||||
}
|
}
|
||||||
@ -92,13 +104,6 @@ export class AppFrameComponent implements OnInit, OnDestroy {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.openDocuments = this.openDocumentsService.getOpenDocuments()
|
|
||||||
}
|
|
||||||
|
|
||||||
ngOnDestroy() {
|
|
||||||
if (this.openDocumentsSubscription) {
|
|
||||||
this.openDocumentsSubscription.unsubscribe()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
get displayName() {
|
get displayName() {
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="input-group input-group-sm">
|
<div class="input-group input-group-sm">
|
||||||
<input class="form-control" [placeholder]="datePlaceHolder" id="dateAfter" (dateSelect)="onChangeDebounce()" (change)="onChangeDebounce()"
|
<input class="form-control" [placeholder]="datePlaceHolder" (dateSelect)="onChangeDebounce()" (change)="onChangeDebounce()"
|
||||||
[(ngModel)]="dateAfter" ngbDatepicker #dateAfterPicker="ngbDatepicker">
|
[(ngModel)]="dateAfter" ngbDatepicker #dateAfterPicker="ngbDatepicker">
|
||||||
<div class="input-group-append">
|
<div class="input-group-append">
|
||||||
<button class="btn btn-outline-secondary" (click)="dateAfterPicker.toggle()" type="button">
|
<button class="btn btn-outline-secondary" (click)="dateAfterPicker.toggle()" type="button">
|
||||||
@ -45,7 +45,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="input-group input-group-sm">
|
<div class="input-group input-group-sm">
|
||||||
<input class="form-control" [placeholder]="datePlaceHolder" id="dateBefore" (dateSelect)="onChangeDebounce()" (change)="onChangeDebounce()"
|
<input class="form-control" [placeholder]="datePlaceHolder" (dateSelect)="onChangeDebounce()" (change)="onChangeDebounce()"
|
||||||
[(ngModel)]="dateBefore" ngbDatepicker #dateBeforePicker="ngbDatepicker">
|
[(ngModel)]="dateBefore" ngbDatepicker #dateBeforePicker="ngbDatepicker">
|
||||||
<div class="input-group-append">
|
<div class="input-group-append">
|
||||||
<button class="btn btn-outline-secondary" (click)="dateBeforePicker.toggle()" type="button">
|
<button class="btn btn-outline-secondary" (click)="dateBeforePicker.toggle()" type="button">
|
||||||
|
@ -0,0 +1,33 @@
|
|||||||
|
<div class="form-group">
|
||||||
|
<label [for]="inputId">{{title}}</label>
|
||||||
|
|
||||||
|
<div class="input-group" [class.is-invalid]="error">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text" [style.background-color]="value"> </span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<ng-template #popContent>
|
||||||
|
<div style="min-width: 200px;" class="pb-3">
|
||||||
|
<color-slider [color]="value" (onChangeComplete)="colorChanged($event.color.hex)"></color-slider>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</ng-template>
|
||||||
|
|
||||||
|
<input class="form-control" [class.is-invalid]="error" [id]="inputId" [(ngModel)]="value" (change)="onChange(value)" [autoClose]="'outside'" [ngbPopover]="popContent" placement="bottom" popoverClass="shadow">
|
||||||
|
|
||||||
|
<div class="input-group-append">
|
||||||
|
<button class="btn btn-outline-secondary" type="button" (click)="randomize()">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-dice-5" viewBox="0 0 16 16">
|
||||||
|
<path d="M13 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h10zM3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3z"/>
|
||||||
|
<path d="M5.5 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm8 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm-8 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm4-4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z"/>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<small *ngIf="hint" class="form-text text-muted">{{hint}}</small>
|
||||||
|
<div class="invalid-feedback">
|
||||||
|
{{error}}
|
||||||
|
</div>
|
||||||
|
</div>
|
@ -0,0 +1,25 @@
|
|||||||
|
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { ColorComponent } from './color.component';
|
||||||
|
|
||||||
|
describe('ColorComponent', () => {
|
||||||
|
let component: ColorComponent;
|
||||||
|
let fixture: ComponentFixture<ColorComponent>;
|
||||||
|
|
||||||
|
beforeEach(async () => {
|
||||||
|
await TestBed.configureTestingModule({
|
||||||
|
declarations: [ ColorComponent ]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
});
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(ColorComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
@ -0,0 +1,30 @@
|
|||||||
|
import { Component, forwardRef } from '@angular/core';
|
||||||
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
||||||
|
import { randomColor } from 'src/app/utils/color';
|
||||||
|
import { AbstractInputComponent } from '../abstract-input';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
providers: [{
|
||||||
|
provide: NG_VALUE_ACCESSOR,
|
||||||
|
useExisting: forwardRef(() => ColorComponent),
|
||||||
|
multi: true
|
||||||
|
}],
|
||||||
|
selector: 'app-input-color',
|
||||||
|
templateUrl: './color.component.html',
|
||||||
|
styleUrls: ['./color.component.scss']
|
||||||
|
})
|
||||||
|
export class ColorComponent extends AbstractInputComponent<string> {
|
||||||
|
|
||||||
|
constructor() {
|
||||||
|
super()
|
||||||
|
}
|
||||||
|
|
||||||
|
randomize() {
|
||||||
|
this.colorChanged(randomColor())
|
||||||
|
}
|
||||||
|
|
||||||
|
colorChanged(value) {
|
||||||
|
this.value = value
|
||||||
|
this.onChange(value)
|
||||||
|
}
|
||||||
|
}
|
@ -1,7 +1,7 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label [for]="inputId">{{title}}</label>
|
<label [for]="inputId">{{title}}</label>
|
||||||
<div class="input-group">
|
<div class="input-group" [class.is-invalid]="error">
|
||||||
<input [class.is-invalid]="error" class="form-control" [placeholder]="placeholder" [id]="inputId" (dateSelect)="onChange(value)" (change)="onChange(value)"
|
<input class="form-control" [class.is-invalid]="error" [placeholder]="placeholder" [id]="inputId" (dateSelect)="onChange(value)" (change)="onChange(value)"
|
||||||
name="dp" [(ngModel)]="value" ngbDatepicker #datePicker="ngbDatepicker" #datePickerContent="ngModel">
|
name="dp" [(ngModel)]="value" ngbDatepicker #datePicker="ngbDatepicker" #datePickerContent="ngModel">
|
||||||
<div class="input-group-append">
|
<div class="input-group-append">
|
||||||
<button class="btn btn-outline-secondary calendar" (click)="datePicker.toggle()" type="button">
|
<button class="btn btn-outline-secondary calendar" (click)="datePicker.toggle()" type="button">
|
||||||
@ -10,6 +10,7 @@
|
|||||||
</svg>
|
</svg>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="invalid-feedback" *ngIf="error" i18n>Invalid date.</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="invalid-feedback" i18n>Invalid date.</div>
|
||||||
|
<small *ngIf="hint" class="form-text text-muted">{{hint}}</small>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
<span *ngIf="!clickable" class="badge" [style.background]="getColour().value" [style.color]="getColour().textColor">{{tag.name}}</span>
|
<span *ngIf="!clickable" class="badge" [style.background]="tag.color" [style.color]="tag.text_color">{{tag.name}}</span>
|
||||||
<a [routerLink]="" [title]="linkTitle" *ngIf="clickable" class="badge" [style.background]="getColour().value" [style.color]="getColour().textColor">{{tag.name}}</a>
|
<a [routerLink]="" [title]="linkTitle" *ngIf="clickable" class="badge" [style.background]="tag.color" [style.color]="tag.text_color">{{tag.name}}</a>
|
@ -1,5 +1,5 @@
|
|||||||
import { Component, Input, OnInit } from '@angular/core';
|
import { Component, Input, OnInit } from '@angular/core';
|
||||||
import { TAG_COLOURS, PaperlessTag } from 'src/app/data/paperless-tag';
|
import { PaperlessTag } from 'src/app/data/paperless-tag';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-tag',
|
selector: 'app-tag',
|
||||||
@ -22,8 +22,4 @@ export class TagComponent implements OnInit {
|
|||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
}
|
}
|
||||||
|
|
||||||
getColour() {
|
|
||||||
return TAG_COLOURS.find(c => c.id == this.tag.colour)
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<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" [class.popover-hidden]="popoverHidden" (mouseleave)="mouseLeaveCard()">
|
||||||
<div class="row no-gutters">
|
<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)">
|
<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">
|
<img [src]="getThumbUrl()" class="card-img doc-img border-right rounded-left" [class.inverted]="getIsThumbInverted()">
|
||||||
|
|
||||||
<div style="top: 0; left: 0" class="position-absolute border-right border-bottom bg-light p-1" [class.document-card-check]="!selected">
|
<div style="top: 0; left: 0" class="position-absolute border-right border-bottom bg-light p-1" [class.document-card-check]="!selected">
|
||||||
<div class="custom-control custom-checkbox">
|
<div class="custom-control custom-checkbox">
|
||||||
|
@ -3,6 +3,7 @@ import { DomSanitizer } from '@angular/platform-browser';
|
|||||||
import { PaperlessDocument } from 'src/app/data/paperless-document';
|
import { PaperlessDocument } from 'src/app/data/paperless-document';
|
||||||
import { PaperlessDocumentMetadata } from 'src/app/data/paperless-document-metadata';
|
import { PaperlessDocumentMetadata } from 'src/app/data/paperless-document-metadata';
|
||||||
import { DocumentService } from 'src/app/services/rest/document.service';
|
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';
|
import { NgbPopover } from '@ng-bootstrap/ng-bootstrap';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
@ -12,7 +13,7 @@ import { NgbPopover } from '@ng-bootstrap/ng-bootstrap';
|
|||||||
})
|
})
|
||||||
export class DocumentCardLargeComponent implements OnInit {
|
export class DocumentCardLargeComponent implements OnInit {
|
||||||
|
|
||||||
constructor(private documentService: DocumentService, private sanitizer: DomSanitizer) { }
|
constructor(private documentService: DocumentService, private sanitizer: DomSanitizer, private settingsService: SettingsService) { }
|
||||||
|
|
||||||
@Input()
|
@Input()
|
||||||
selected = false
|
selected = false
|
||||||
@ -65,6 +66,10 @@ export class DocumentCardLargeComponent implements OnInit {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getIsThumbInverted() {
|
||||||
|
return this.settingsService.get(SETTINGS_KEYS.DARK_MODE_THUMB_INVERTED)
|
||||||
|
}
|
||||||
|
|
||||||
getDetailsAsString() {
|
getDetailsAsString() {
|
||||||
if (typeof this.details === 'string') {
|
if (typeof this.details === 'string') {
|
||||||
return this.details.substring(0, 500)
|
return this.details.substring(0, 500)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<div class="col p-2 h-100">
|
<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" [class.popover-hidden]="popoverHidden" (mouseleave)="mouseLeaveCard()">
|
||||||
<div class="border-bottom doc-img-container" [class.doc-img-background-selected]="selected" (click)="this.toggleSelected.emit($event)">
|
<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" [src]="getThumbUrl()">
|
<img class="card-img doc-img rounded-top" [class.inverted]="getIsThumbInverted()" [src]="getThumbUrl()">
|
||||||
|
|
||||||
<div class="border-right border-bottom bg-light p-1 rounded document-card-check">
|
<div class="border-right border-bottom bg-light p-1 rounded document-card-check">
|
||||||
<div class="custom-control custom-checkbox">
|
<div class="custom-control custom-checkbox">
|
||||||
|
@ -3,6 +3,7 @@ import { map } from 'rxjs/operators';
|
|||||||
import { PaperlessDocument } from 'src/app/data/paperless-document';
|
import { PaperlessDocument } from 'src/app/data/paperless-document';
|
||||||
import { PaperlessDocumentMetadata } from 'src/app/data/paperless-document-metadata';
|
import { PaperlessDocumentMetadata } from 'src/app/data/paperless-document-metadata';
|
||||||
import { DocumentService } from 'src/app/services/rest/document.service';
|
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';
|
import { NgbPopover } from '@ng-bootstrap/ng-bootstrap';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
@ -12,7 +13,7 @@ import { NgbPopover } from '@ng-bootstrap/ng-bootstrap';
|
|||||||
})
|
})
|
||||||
export class DocumentCardSmallComponent implements OnInit {
|
export class DocumentCardSmallComponent implements OnInit {
|
||||||
|
|
||||||
constructor(private documentService: DocumentService) { }
|
constructor(private documentService: DocumentService, private settingsService: SettingsService) { }
|
||||||
|
|
||||||
@Input()
|
@Input()
|
||||||
selected = false
|
selected = false
|
||||||
@ -44,6 +45,10 @@ export class DocumentCardSmallComponent implements OnInit {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getIsThumbInverted() {
|
||||||
|
return this.settingsService.get(SETTINGS_KEYS.DARK_MODE_THUMB_INVERTED)
|
||||||
|
}
|
||||||
|
|
||||||
getThumbUrl() {
|
getThumbUrl() {
|
||||||
return this.documentService.getThumbUrl(this.document.id)
|
return this.documentService.getThumbUrl(this.document.id)
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,15 @@
|
|||||||
<div class="col mb-2 mb-xl-0">
|
<div class="col mb-2 mb-xl-0">
|
||||||
<div class="form-inline d-flex align-items-center">
|
<div class="form-inline d-flex align-items-center">
|
||||||
<label class="text-muted mr-2 mb-0" i18n>Filter by:</label>
|
<label class="text-muted mr-2 mb-0" i18n>Filter by:</label>
|
||||||
<input class="form-control form-control-sm flex-fill w-auto" type="text" [(ngModel)]="titleFilter" placeholder="Title" i18n-placeholder>
|
<div class="input-group input-group-sm flex-fill w-auto">
|
||||||
|
<div class="input-group-prepend" ngbDropdown>
|
||||||
|
<button class="btn btn-outline-primary" ngbDropdownToggle>{{textFilterTargetName}}</button>
|
||||||
|
<div class="dropdown-menu shadow" ngbDropdownMenu>
|
||||||
|
<button *ngFor="let t of textFilterTargets" ngbDropdownItem [class.active]="textFilterTarget == t.id" (click)="changeTextFilterTarget(t.id)">{{t.name}}</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<input class="form-control form-control-sm" type="text" [(ngModel)]="textFilter">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="w-100 d-xl-none"></div>
|
<div class="w-100 d-xl-none"></div>
|
||||||
|
@ -8,10 +8,13 @@ import { DocumentTypeService } from 'src/app/services/rest/document-type.service
|
|||||||
import { TagService } from 'src/app/services/rest/tag.service';
|
import { TagService } from 'src/app/services/rest/tag.service';
|
||||||
import { CorrespondentService } from 'src/app/services/rest/correspondent.service';
|
import { CorrespondentService } from 'src/app/services/rest/correspondent.service';
|
||||||
import { FilterRule } from 'src/app/data/filter-rule';
|
import { FilterRule } from 'src/app/data/filter-rule';
|
||||||
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 } 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 { FilterableDropdownSelectionModel } from '../../common/filterable-dropdown/filterable-dropdown.component';
|
||||||
import { ToggleableItemState } from '../../common/filterable-dropdown/toggleable-dropdown-button/toggleable-dropdown-button.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"
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-filter-editor',
|
selector: 'app-filter-editor',
|
||||||
templateUrl: './filter-editor.component.html',
|
templateUrl: './filter-editor.component.html',
|
||||||
@ -64,7 +67,19 @@ export class FilterEditorComponent implements OnInit, OnDestroy {
|
|||||||
correspondents: PaperlessCorrespondent[] = []
|
correspondents: PaperlessCorrespondent[] = []
|
||||||
documentTypes: PaperlessDocumentType[] = []
|
documentTypes: PaperlessDocumentType[] = []
|
||||||
|
|
||||||
_titleFilter = ""
|
_textFilter = ""
|
||||||
|
|
||||||
|
textFilterTargets = [
|
||||||
|
{id: TEXT_FILTER_TARGET_TITLE, name: $localize`Title`},
|
||||||
|
{id: TEXT_FILTER_TARGET_TITLE_CONTENT, name: $localize`Title & content`}
|
||||||
|
]
|
||||||
|
|
||||||
|
textFilterTarget = TEXT_FILTER_TARGET_TITLE_CONTENT
|
||||||
|
|
||||||
|
get textFilterTargetName() {
|
||||||
|
return this.textFilterTargets.find(t => t.id == this.textFilterTarget)?.name
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
tagSelectionModel = new FilterableDropdownSelectionModel()
|
tagSelectionModel = new FilterableDropdownSelectionModel()
|
||||||
correspondentSelectionModel = new FilterableDropdownSelectionModel()
|
correspondentSelectionModel = new FilterableDropdownSelectionModel()
|
||||||
@ -80,7 +95,7 @@ export class FilterEditorComponent implements OnInit, OnDestroy {
|
|||||||
this.documentTypeSelectionModel.clear(false)
|
this.documentTypeSelectionModel.clear(false)
|
||||||
this.tagSelectionModel.clear(false)
|
this.tagSelectionModel.clear(false)
|
||||||
this.correspondentSelectionModel.clear(false)
|
this.correspondentSelectionModel.clear(false)
|
||||||
this._titleFilter = null
|
this._textFilter = null
|
||||||
this.dateAddedBefore = null
|
this.dateAddedBefore = null
|
||||||
this.dateAddedAfter = null
|
this.dateAddedAfter = null
|
||||||
this.dateCreatedBefore = null
|
this.dateCreatedBefore = null
|
||||||
@ -89,7 +104,12 @@ export class FilterEditorComponent implements OnInit, OnDestroy {
|
|||||||
value.forEach(rule => {
|
value.forEach(rule => {
|
||||||
switch (rule.rule_type) {
|
switch (rule.rule_type) {
|
||||||
case FILTER_TITLE:
|
case FILTER_TITLE:
|
||||||
this._titleFilter = rule.value
|
this._textFilter = rule.value
|
||||||
|
this.textFilterTarget = TEXT_FILTER_TARGET_TITLE
|
||||||
|
break
|
||||||
|
case FILTER_TITLE_CONTENT:
|
||||||
|
this._textFilter = rule.value
|
||||||
|
this.textFilterTarget = TEXT_FILTER_TARGET_TITLE_CONTENT
|
||||||
break
|
break
|
||||||
case FILTER_CREATED_AFTER:
|
case FILTER_CREATED_AFTER:
|
||||||
this.dateCreatedAfter = rule.value
|
this.dateCreatedAfter = rule.value
|
||||||
@ -121,8 +141,11 @@ export class FilterEditorComponent implements OnInit, OnDestroy {
|
|||||||
|
|
||||||
get filterRules(): FilterRule[] {
|
get filterRules(): FilterRule[] {
|
||||||
let filterRules: FilterRule[] = []
|
let filterRules: FilterRule[] = []
|
||||||
if (this._titleFilter) {
|
if (this._textFilter && this.textFilterTarget == TEXT_FILTER_TARGET_TITLE_CONTENT) {
|
||||||
filterRules.push({rule_type: FILTER_TITLE, value: this._titleFilter})
|
filterRules.push({rule_type: FILTER_TITLE_CONTENT, value: this._textFilter})
|
||||||
|
}
|
||||||
|
if (this._textFilter && this.textFilterTarget == TEXT_FILTER_TARGET_TITLE) {
|
||||||
|
filterRules.push({rule_type: FILTER_TITLE, value: this._textFilter})
|
||||||
}
|
}
|
||||||
if (this.tagSelectionModel.isNoneSelected()) {
|
if (this.tagSelectionModel.isNoneSelected()) {
|
||||||
filterRules.push({rule_type: FILTER_HAS_ANY_TAG, value: "false"})
|
filterRules.push({rule_type: FILTER_HAS_ANY_TAG, value: "false"})
|
||||||
@ -165,15 +188,15 @@ export class FilterEditorComponent implements OnInit, OnDestroy {
|
|||||||
this.filterRulesChange.next(this.filterRules)
|
this.filterRulesChange.next(this.filterRules)
|
||||||
}
|
}
|
||||||
|
|
||||||
get titleFilter() {
|
get textFilter() {
|
||||||
return this._titleFilter
|
return this._textFilter
|
||||||
}
|
}
|
||||||
|
|
||||||
set titleFilter(value) {
|
set textFilter(value) {
|
||||||
this.titleFilterDebounce.next(value)
|
this.textFilterDebounce.next(value)
|
||||||
}
|
}
|
||||||
|
|
||||||
titleFilterDebounce: Subject<string>
|
textFilterDebounce: Subject<string>
|
||||||
subscription: Subscription
|
subscription: Subscription
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
@ -181,19 +204,19 @@ export class FilterEditorComponent implements OnInit, OnDestroy {
|
|||||||
this.correspondentService.listAll().subscribe(result => this.correspondents = result.results)
|
this.correspondentService.listAll().subscribe(result => this.correspondents = result.results)
|
||||||
this.documentTypeService.listAll().subscribe(result => this.documentTypes = result.results)
|
this.documentTypeService.listAll().subscribe(result => this.documentTypes = result.results)
|
||||||
|
|
||||||
this.titleFilterDebounce = new Subject<string>()
|
this.textFilterDebounce = new Subject<string>()
|
||||||
|
|
||||||
this.subscription = this.titleFilterDebounce.pipe(
|
this.subscription = this.textFilterDebounce.pipe(
|
||||||
debounceTime(400),
|
debounceTime(400),
|
||||||
distinctUntilChanged()
|
distinctUntilChanged()
|
||||||
).subscribe(title => {
|
).subscribe(text => {
|
||||||
this._titleFilter = title
|
this._textFilter = text
|
||||||
this.updateRules()
|
this.updateRules()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnDestroy() {
|
ngOnDestroy() {
|
||||||
this.titleFilterDebounce.complete()
|
this.textFilterDebounce.complete()
|
||||||
}
|
}
|
||||||
|
|
||||||
resetSelected() {
|
resetSelected() {
|
||||||
@ -223,4 +246,9 @@ export class FilterEditorComponent implements OnInit, OnDestroy {
|
|||||||
onDocumentTypeDropdownOpen() {
|
onDocumentTypeDropdownOpen() {
|
||||||
this.documentTypeSelectionModel.apply()
|
this.documentTypeSelectionModel.apply()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
changeTextFilterTarget(target) {
|
||||||
|
this.textFilterTarget = target
|
||||||
|
this.updateRules()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -85,6 +85,7 @@
|
|||||||
<div class="col">
|
<div class="col">
|
||||||
<app-input-check i18n-title title="Use system settings" formControlName="darkModeUseSystem"></app-input-check>
|
<app-input-check i18n-title title="Use system settings" formControlName="darkModeUseSystem"></app-input-check>
|
||||||
<app-input-check [hidden]="settingsForm.value.darkModeUseSystem" i18n-title title="Enable dark mode" formControlName="darkModeEnabled"></app-input-check>
|
<app-input-check [hidden]="settingsForm.value.darkModeUseSystem" i18n-title title="Enable dark mode" formControlName="darkModeEnabled"></app-input-check>
|
||||||
|
<app-input-check i18n-title title="Invert thumbnails in dark mode" formControlName="darkModeInvertThumbs"></app-input-check>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -21,6 +21,7 @@ export class SettingsComponent implements OnInit {
|
|||||||
'documentListItemPerPage': new FormControl(this.settings.get(SETTINGS_KEYS.DOCUMENT_LIST_SIZE)),
|
'documentListItemPerPage': new FormControl(this.settings.get(SETTINGS_KEYS.DOCUMENT_LIST_SIZE)),
|
||||||
'darkModeUseSystem': new FormControl(this.settings.get(SETTINGS_KEYS.DARK_MODE_USE_SYSTEM)),
|
'darkModeUseSystem': new FormControl(this.settings.get(SETTINGS_KEYS.DARK_MODE_USE_SYSTEM)),
|
||||||
'darkModeEnabled': new FormControl(this.settings.get(SETTINGS_KEYS.DARK_MODE_ENABLED)),
|
'darkModeEnabled': new FormControl(this.settings.get(SETTINGS_KEYS.DARK_MODE_ENABLED)),
|
||||||
|
'darkModeInvertThumbs': new FormControl(this.settings.get(SETTINGS_KEYS.DARK_MODE_THUMB_INVERTED)),
|
||||||
'savedViews': this.savedViewGroup,
|
'savedViews': this.savedViewGroup,
|
||||||
'displayLanguage': new FormControl(this.settings.getLanguage()),
|
'displayLanguage': new FormControl(this.settings.getLanguage()),
|
||||||
'dateLocale': new FormControl(this.settings.get(SETTINGS_KEYS.DATE_LOCALE)),
|
'dateLocale': new FormControl(this.settings.get(SETTINGS_KEYS.DATE_LOCALE)),
|
||||||
@ -73,6 +74,7 @@ export class SettingsComponent implements OnInit {
|
|||||||
this.settings.set(SETTINGS_KEYS.DOCUMENT_LIST_SIZE, this.settingsForm.value.documentListItemPerPage)
|
this.settings.set(SETTINGS_KEYS.DOCUMENT_LIST_SIZE, this.settingsForm.value.documentListItemPerPage)
|
||||||
this.settings.set(SETTINGS_KEYS.DARK_MODE_USE_SYSTEM, this.settingsForm.value.darkModeUseSystem)
|
this.settings.set(SETTINGS_KEYS.DARK_MODE_USE_SYSTEM, this.settingsForm.value.darkModeUseSystem)
|
||||||
this.settings.set(SETTINGS_KEYS.DARK_MODE_ENABLED, (this.settingsForm.value.darkModeEnabled == true).toString())
|
this.settings.set(SETTINGS_KEYS.DARK_MODE_ENABLED, (this.settingsForm.value.darkModeEnabled == true).toString())
|
||||||
|
this.settings.set(SETTINGS_KEYS.DARK_MODE_THUMB_INVERTED, (this.settingsForm.value.darkModeInvertThumbs == true).toString())
|
||||||
this.settings.set(SETTINGS_KEYS.DATE_LOCALE, this.settingsForm.value.dateLocale)
|
this.settings.set(SETTINGS_KEYS.DATE_LOCALE, this.settingsForm.value.dateLocale)
|
||||||
this.settings.set(SETTINGS_KEYS.DATE_FORMAT, this.settingsForm.value.dateFormat)
|
this.settings.set(SETTINGS_KEYS.DATE_FORMAT, this.settingsForm.value.dateFormat)
|
||||||
this.settings.set(SETTINGS_KEYS.NOTIFICATIONS_CONSUMER_NEW_DOCUMENT, this.settingsForm.value.notificationsConsumerNewDocument)
|
this.settings.set(SETTINGS_KEYS.NOTIFICATIONS_CONSUMER_NEW_DOCUMENT, this.settingsForm.value.notificationsConsumerNewDocument)
|
||||||
|
@ -8,15 +8,7 @@
|
|||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<app-input-text i18n-title title="Name" formControlName="name" [error]="error?.name"></app-input-text>
|
<app-input-text i18n-title title="Name" formControlName="name" [error]="error?.name"></app-input-text>
|
||||||
|
|
||||||
|
<app-input-color i18n-title title="Color" formControlName="color" [error]="error?.color"></app-input-color>
|
||||||
<div class="form-group paperless-input-select">
|
|
||||||
<label for="colour" i18n>Color</label>
|
|
||||||
<ng-select name="colour" formControlName="colour" [items]="getColours()" bindValue="id" bindLabel="name" [clearable]="false">
|
|
||||||
<ng-template ng-option-tmp ng-label-tmp let-item="item">
|
|
||||||
<span class="badge" [style.background]="item.value" [style.color]="item.textColor">{{item.name}}</span>
|
|
||||||
</ng-template>
|
|
||||||
</ng-select>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<app-input-check i18n-title title="Inbox tag" formControlName="is_inbox_tag" i18n-hint hint="Inbox tags are automatically assigned to all consumed documents."></app-input-check>
|
<app-input-check i18n-title title="Inbox tag" formControlName="is_inbox_tag" i18n-hint hint="Inbox tags are automatically assigned to all consumed documents."></app-input-check>
|
||||||
<app-input-select i18n-title title="Matching algorithm" [items]="getMatchingAlgorithms()" formControlName="matching_algorithm"></app-input-select>
|
<app-input-select i18n-title title="Matching algorithm" [items]="getMatchingAlgorithms()" formControlName="matching_algorithm"></app-input-select>
|
||||||
|
@ -2,9 +2,10 @@ import { Component } from '@angular/core';
|
|||||||
import { FormControl, FormGroup } from '@angular/forms';
|
import { FormControl, FormGroup } from '@angular/forms';
|
||||||
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
|
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
|
||||||
import { EditDialogComponent } from 'src/app/components/common/edit-dialog/edit-dialog.component';
|
import { EditDialogComponent } from 'src/app/components/common/edit-dialog/edit-dialog.component';
|
||||||
import { TAG_COLOURS, PaperlessTag } from 'src/app/data/paperless-tag';
|
import { PaperlessTag } from 'src/app/data/paperless-tag';
|
||||||
import { TagService } from 'src/app/services/rest/tag.service';
|
import { TagService } from 'src/app/services/rest/tag.service';
|
||||||
import { ToastService } from 'src/app/services/toast.service';
|
import { ToastService } from 'src/app/services/toast.service';
|
||||||
|
import { randomColor } from 'src/app/utils/color';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-tag-edit-dialog',
|
selector: 'app-tag-edit-dialog',
|
||||||
@ -28,7 +29,7 @@ export class TagEditDialogComponent extends EditDialogComponent<PaperlessTag> {
|
|||||||
getForm(): FormGroup {
|
getForm(): FormGroup {
|
||||||
return new FormGroup({
|
return new FormGroup({
|
||||||
name: new FormControl(''),
|
name: new FormControl(''),
|
||||||
colour: new FormControl(1),
|
color: new FormControl(randomColor()),
|
||||||
is_inbox_tag: new FormControl(false),
|
is_inbox_tag: new FormControl(false),
|
||||||
matching_algorithm: new FormControl(1),
|
matching_algorithm: new FormControl(1),
|
||||||
match: new FormControl(""),
|
match: new FormControl(""),
|
||||||
@ -36,12 +37,4 @@ export class TagEditDialogComponent extends EditDialogComponent<PaperlessTag> {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
getColours() {
|
|
||||||
return TAG_COLOURS
|
|
||||||
}
|
|
||||||
|
|
||||||
getColor(id: number) {
|
|
||||||
return TAG_COLOURS.find(c => c.id == id)
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -26,8 +26,8 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
<tr *ngFor="let tag of data">
|
<tr *ngFor="let tag of data">
|
||||||
<td scope="row">{{ tag.name }}</td>
|
<td scope="row">{{ tag.name }}</td>
|
||||||
<td scope="row"><span class="badge" [style.color]="getColor(tag.colour).textColor"
|
<td scope="row"><span class="badge" [style.color]="tag.text_color"
|
||||||
[style.background-color]="getColor(tag.colour).value">{{ getColor(tag.colour).name }}</span></td>
|
[style.background-color]="tag.color">{{tag.color}}</span></td>
|
||||||
<td scope="row">{{ getMatching(tag) }}</td>
|
<td scope="row">{{ getMatching(tag) }}</td>
|
||||||
<td scope="row">{{ tag.document_count }}</td>
|
<td scope="row">{{ tag.document_count }}</td>
|
||||||
<td scope="row">
|
<td scope="row">
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { Component } from '@angular/core';
|
import { Component } from '@angular/core';
|
||||||
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
|
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
|
||||||
import { FILTER_HAS_TAG } from 'src/app/data/filter-rule-type';
|
import { FILTER_HAS_TAG } from 'src/app/data/filter-rule-type';
|
||||||
import { TAG_COLOURS, PaperlessTag } from 'src/app/data/paperless-tag';
|
import { PaperlessTag } from 'src/app/data/paperless-tag';
|
||||||
import { DocumentListViewService } from 'src/app/services/document-list-view.service';
|
import { DocumentListViewService } from 'src/app/services/document-list-view.service';
|
||||||
import { TagService } from 'src/app/services/rest/tag.service';
|
import { TagService } from 'src/app/services/rest/tag.service';
|
||||||
import { ToastService } from 'src/app/services/toast.service';
|
import { ToastService } from 'src/app/services/toast.service';
|
||||||
@ -22,10 +22,6 @@ export class TagListComponent extends GenericListComponent<PaperlessTag> {
|
|||||||
super(tagService, modalService, TagEditDialogComponent, toastService)
|
super(tagService, modalService, TagEditDialogComponent, toastService)
|
||||||
}
|
}
|
||||||
|
|
||||||
getColor(id) {
|
|
||||||
return TAG_COLOURS.find(c => c.id == id)
|
|
||||||
}
|
|
||||||
|
|
||||||
getDeleteMessage(object: PaperlessTag) {
|
getDeleteMessage(object: PaperlessTag) {
|
||||||
return $localize`Do you really want to delete the tag "${object.name}"?`
|
return $localize`Do you really want to delete the tag "${object.name}"?`
|
||||||
}
|
}
|
||||||
|
@ -20,6 +20,8 @@ export const FILTER_DOES_NOT_HAVE_TAG = 17
|
|||||||
|
|
||||||
export const FILTER_ASN_ISNULL = 18
|
export const FILTER_ASN_ISNULL = 18
|
||||||
|
|
||||||
|
export const FILTER_TITLE_CONTENT = 19
|
||||||
|
|
||||||
export const FILTER_RULE_TYPES: FilterRuleType[] = [
|
export const FILTER_RULE_TYPES: FilterRuleType[] = [
|
||||||
|
|
||||||
{id: FILTER_TITLE, filtervar: "title__icontains", datatype: "string", multi: false, default: ""},
|
{id: FILTER_TITLE, filtervar: "title__icontains", datatype: "string", multi: false, default: ""},
|
||||||
@ -47,7 +49,9 @@ export const FILTER_RULE_TYPES: FilterRuleType[] = [
|
|||||||
|
|
||||||
{id: FILTER_MODIFIED_BEFORE, filtervar: "modified__date__lt", datatype: "date", multi: false},
|
{id: FILTER_MODIFIED_BEFORE, filtervar: "modified__date__lt", datatype: "date", multi: false},
|
||||||
{id: FILTER_MODIFIED_AFTER, filtervar: "modified__date__gt", datatype: "date", multi: false},
|
{id: FILTER_MODIFIED_AFTER, filtervar: "modified__date__gt", datatype: "date", multi: false},
|
||||||
{id: FILTER_ASN_ISNULL, filtervar: "archive_serial_number__isnull", datatype: "boolean", multi: false}
|
{id: FILTER_ASN_ISNULL, filtervar: "archive_serial_number__isnull", datatype: "boolean", multi: false},
|
||||||
|
|
||||||
|
{id: FILTER_TITLE_CONTENT, filtervar: "title_content", datatype: "string", multi: false}
|
||||||
]
|
]
|
||||||
|
|
||||||
export interface FilterRuleType {
|
export interface FilterRuleType {
|
||||||
|
@ -1,26 +1,10 @@
|
|||||||
import { MatchingModel } from './matching-model';
|
import { MatchingModel } from "./matching-model";
|
||||||
import { ObjectWithId } from './object-with-id';
|
|
||||||
|
|
||||||
|
|
||||||
export const TAG_COLOURS = [
|
|
||||||
{id: 1, value: "#a6cee3", name: $localize`Light blue`, textColor: "#000000"},
|
|
||||||
{id: 2, value: "#1f78b4", name: $localize`Blue`, textColor: "#ffffff"},
|
|
||||||
{id: 3, value: "#b2df8a", name: $localize`Light green`, textColor: "#000000"},
|
|
||||||
{id: 4, value: "#33a02c", name: $localize`Green`, textColor: "#ffffff"},
|
|
||||||
{id: 5, value: "#fb9a99", name: $localize`Light red`, textColor: "#000000"},
|
|
||||||
{id: 6, value: "#e31a1c", name: $localize`Red `, textColor: "#ffffff"},
|
|
||||||
{id: 7, value: "#fdbf6f", name: $localize`Light orange`, textColor: "#000000"},
|
|
||||||
{id: 8, value: "#ff7f00", name: $localize`Orange`, textColor: "#000000"},
|
|
||||||
{id: 9, value: "#cab2d6", name: $localize`Light violet`, textColor: "#000000"},
|
|
||||||
{id: 10, value: "#6a3d9a", name: $localize`Violet`, textColor: "#ffffff"},
|
|
||||||
{id: 11, value: "#b15928", name: $localize`Brown`, textColor: "#ffffff"},
|
|
||||||
{id: 12, value: "#000000", name: $localize`Black`, textColor: "#ffffff"},
|
|
||||||
{id: 13, value: "#cccccc", name: $localize`Light grey`, textColor: "#000000"}
|
|
||||||
]
|
|
||||||
|
|
||||||
export interface PaperlessTag extends MatchingModel {
|
export interface PaperlessTag extends MatchingModel {
|
||||||
|
|
||||||
colour?: number
|
color?: string
|
||||||
|
|
||||||
|
text_color?: string
|
||||||
|
|
||||||
is_inbox_tag?: boolean
|
is_inbox_tag?: boolean
|
||||||
|
|
||||||
|
16
src-ui/src/app/interceptors/api-version.interceptor.spec.ts
Normal file
16
src-ui/src/app/interceptors/api-version.interceptor.spec.ts
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
import { TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { ApiVersionInterceptor } from './api-version.interceptor';
|
||||||
|
|
||||||
|
describe('ApiVersionInterceptor', () => {
|
||||||
|
beforeEach(() => TestBed.configureTestingModule({
|
||||||
|
providers: [
|
||||||
|
ApiVersionInterceptor
|
||||||
|
]
|
||||||
|
}));
|
||||||
|
|
||||||
|
it('should be created', () => {
|
||||||
|
const interceptor: ApiVersionInterceptor = TestBed.inject(ApiVersionInterceptor);
|
||||||
|
expect(interceptor).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
25
src-ui/src/app/interceptors/api-version.interceptor.ts
Normal file
25
src-ui/src/app/interceptors/api-version.interceptor.ts
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
import { Injectable } from '@angular/core';
|
||||||
|
import {
|
||||||
|
HttpRequest,
|
||||||
|
HttpHandler,
|
||||||
|
HttpEvent,
|
||||||
|
HttpInterceptor
|
||||||
|
} from '@angular/common/http';
|
||||||
|
import { Observable } from 'rxjs';
|
||||||
|
import { environment } from 'src/environments/environment';
|
||||||
|
|
||||||
|
@Injectable()
|
||||||
|
export class ApiVersionInterceptor implements HttpInterceptor {
|
||||||
|
|
||||||
|
constructor() {}
|
||||||
|
|
||||||
|
intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {
|
||||||
|
request = request.clone({
|
||||||
|
setHeaders: {
|
||||||
|
'Accept': `application/json; version=${environment.apiVersion}`
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
return next.handle(request);
|
||||||
|
}
|
||||||
|
}
|
@ -13,17 +13,20 @@ const FORMAT_TO_ISO_FORMAT = {
|
|||||||
})
|
})
|
||||||
export class CustomDatePipe extends DatePipe implements PipeTransform {
|
export class CustomDatePipe extends DatePipe implements PipeTransform {
|
||||||
|
|
||||||
|
private defaultLocale: string
|
||||||
|
|
||||||
constructor(@Inject(LOCALE_ID) locale: string, private settings: SettingsService) {
|
constructor(@Inject(LOCALE_ID) locale: string, private settings: SettingsService) {
|
||||||
super(locale)
|
super(locale)
|
||||||
|
this.defaultLocale = locale
|
||||||
}
|
}
|
||||||
|
|
||||||
transform(value: any, format?: string, timezone?: string, locale?: string): string | null {
|
transform(value: any, format?: string, timezone?: string, locale?: string): string | null {
|
||||||
let l = locale || this.settings.get(SETTINGS_KEYS.DATE_LOCALE)
|
let l = locale || this.settings.get(SETTINGS_KEYS.DATE_LOCALE) || this.defaultLocale
|
||||||
let f = format || this.settings.get(SETTINGS_KEYS.DATE_FORMAT)
|
let f = format || this.settings.get(SETTINGS_KEYS.DATE_FORMAT)
|
||||||
if (l == "iso-8601") {
|
if (l == "iso-8601") {
|
||||||
return super.transform(value, FORMAT_TO_ISO_FORMAT[f], timezone)
|
return super.transform(value, FORMAT_TO_ISO_FORMAT[f], timezone)
|
||||||
} else {
|
} else {
|
||||||
return super.transform(value, format || this.settings.get(SETTINGS_KEYS.DATE_FORMAT), timezone, locale)
|
return super.transform(value, format || this.settings.get(SETTINGS_KEYS.DATE_FORMAT), timezone, l)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,6 +26,7 @@ export const SETTINGS_KEYS = {
|
|||||||
DOCUMENT_LIST_SIZE: 'general-settings:documentListSize',
|
DOCUMENT_LIST_SIZE: 'general-settings:documentListSize',
|
||||||
DARK_MODE_USE_SYSTEM: 'general-settings:dark-mode:use-system',
|
DARK_MODE_USE_SYSTEM: 'general-settings:dark-mode:use-system',
|
||||||
DARK_MODE_ENABLED: 'general-settings:dark-mode:enabled',
|
DARK_MODE_ENABLED: 'general-settings:dark-mode:enabled',
|
||||||
|
DARK_MODE_THUMB_INVERTED: 'general-settings:dark-mode:thumb-inverted',
|
||||||
DATE_LOCALE: 'general-settings:date-display:date-locale',
|
DATE_LOCALE: 'general-settings:date-display:date-locale',
|
||||||
DATE_FORMAT: 'general-settings:date-display:date-format',
|
DATE_FORMAT: 'general-settings:date-display:date-format',
|
||||||
NOTIFICATIONS_CONSUMER_NEW_DOCUMENT: 'general-settings:notifications:consumer-new-documents',
|
NOTIFICATIONS_CONSUMER_NEW_DOCUMENT: 'general-settings:notifications:consumer-new-documents',
|
||||||
@ -40,6 +41,7 @@ const SETTINGS: PaperlessSettings[] = [
|
|||||||
{key: SETTINGS_KEYS.DOCUMENT_LIST_SIZE, type: "number", default: 50},
|
{key: SETTINGS_KEYS.DOCUMENT_LIST_SIZE, type: "number", default: 50},
|
||||||
{key: SETTINGS_KEYS.DARK_MODE_USE_SYSTEM, type: "boolean", default: true},
|
{key: SETTINGS_KEYS.DARK_MODE_USE_SYSTEM, type: "boolean", default: true},
|
||||||
{key: SETTINGS_KEYS.DARK_MODE_ENABLED, type: "boolean", default: false},
|
{key: SETTINGS_KEYS.DARK_MODE_ENABLED, type: "boolean", default: false},
|
||||||
|
{key: SETTINGS_KEYS.DARK_MODE_THUMB_INVERTED, type: "boolean", default: true},
|
||||||
{key: SETTINGS_KEYS.DATE_LOCALE, type: "string", default: ""},
|
{key: SETTINGS_KEYS.DATE_LOCALE, type: "string", default: ""},
|
||||||
{key: SETTINGS_KEYS.DATE_FORMAT, type: "string", default: "mediumDate"},
|
{key: SETTINGS_KEYS.DATE_FORMAT, type: "string", default: "mediumDate"},
|
||||||
{key: SETTINGS_KEYS.NOTIFICATIONS_CONSUMER_NEW_DOCUMENT, type: "boolean", default: true},
|
{key: SETTINGS_KEYS.NOTIFICATIONS_CONSUMER_NEW_DOCUMENT, type: "boolean", default: true},
|
||||||
@ -88,7 +90,9 @@ export class SettingsService {
|
|||||||
{code: "de", name: $localize`German`, englishName: "German", 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: "nl", name: $localize`Dutch`, englishName: "Dutch", dateInputFormat: "dd-mm-yyyy"},
|
||||||
{code: "fr", name: $localize`French`, englishName: "French", 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: "pt-br", name: $localize`Portuguese (Brazil)`, englishName: "Portuguese (Brazil)", 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"}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
48
src-ui/src/app/utils/color.ts
Normal file
48
src-ui/src/app/utils/color.ts
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
|
||||||
|
function componentToHex(c) {
|
||||||
|
var hex = Math.floor(c).toString(16)
|
||||||
|
return hex.length == 1 ? "0" + hex : hex
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* https://axonflux.com/handy-rgb-to-hsl-and-rgb-to-hsv-color-model-c
|
||||||
|
*
|
||||||
|
* Converts an HSL color value to RGB. Conversion formula
|
||||||
|
* adapted from http://en.wikipedia.org/wiki/HSL_color_space.
|
||||||
|
* Assumes h, s, and l are contained in the set [0, 1] and
|
||||||
|
* returns r, g, and b in the set [0, 255].
|
||||||
|
*
|
||||||
|
* @param Number h The hue
|
||||||
|
* @param Number s The saturation
|
||||||
|
* @param Number l The lightness
|
||||||
|
* @return Array The RGB representation
|
||||||
|
*/
|
||||||
|
function hslToRgb(h, s, l){
|
||||||
|
var r, g, b
|
||||||
|
|
||||||
|
if(s == 0){
|
||||||
|
r = g = b = l // achromatic
|
||||||
|
}else{
|
||||||
|
function hue2rgb(p, q, t){
|
||||||
|
if(t < 0) t += 1
|
||||||
|
if(t > 1) t -= 1
|
||||||
|
if(t < 1/6) return p + (q - p) * 6 * t
|
||||||
|
if(t < 1/2) return q
|
||||||
|
if(t < 2/3) return p + (q - p) * (2/3 - t) * 6
|
||||||
|
return p
|
||||||
|
}
|
||||||
|
|
||||||
|
var q = l < 0.5 ? l * (1 + s) : l + s - l * s
|
||||||
|
var p = 2 * l - q
|
||||||
|
r = hue2rgb(p, q, h + 1/3)
|
||||||
|
g = hue2rgb(p, q, h)
|
||||||
|
b = hue2rgb(p, q, h - 1/3)
|
||||||
|
}
|
||||||
|
|
||||||
|
return [r * 255, g * 255, b * 255]
|
||||||
|
}
|
||||||
|
|
||||||
|
export function randomColor() {
|
||||||
|
let rgb = hslToRgb(Math.random(), 0.6, Math.random() * 0.4 + 0.4)
|
||||||
|
return `#${componentToHex(rgb[0])}${componentToHex(rgb[1])}${componentToHex(rgb[2])}`
|
||||||
|
}
|
@ -1,8 +1,9 @@
|
|||||||
export const environment = {
|
export const environment = {
|
||||||
production: true,
|
production: true,
|
||||||
apiBaseUrl: "/api/",
|
apiBaseUrl: "/api/",
|
||||||
|
apiVersion: "2",
|
||||||
appTitle: "Paperless-ng",
|
appTitle: "Paperless-ng",
|
||||||
version: "1.2.1",
|
version: "1.3.0",
|
||||||
webSocketHost: window.location.host,
|
webSocketHost: window.location.host,
|
||||||
webSocketProtocol: (window.location.protocol == "https:" ? "wss:" : "ws:")
|
webSocketProtocol: (window.location.protocol == "https:" ? "wss:" : "ws:")
|
||||||
};
|
};
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
export const environment = {
|
export const environment = {
|
||||||
production: false,
|
production: false,
|
||||||
apiBaseUrl: "http://localhost:8000/api/",
|
apiBaseUrl: "http://localhost:8000/api/",
|
||||||
|
apiVersion: "2",
|
||||||
appTitle: "Paperless-ng",
|
appTitle: "Paperless-ng",
|
||||||
version: "DEVELOPMENT",
|
version: "DEVELOPMENT",
|
||||||
webSocketHost: "localhost:8000",
|
webSocketHost: "localhost:8000",
|
||||||
|
@ -478,7 +478,7 @@
|
|||||||
<target>Möchten Sie das Tag "<x equiv-text="object.name" id="PH"/>" wirklich löschen?</target>
|
<target>Möchten Sie das Tag "<x equiv-text="object.name" id="PH"/>" wirklich löschen?</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-list.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-list.component.ts</context>
|
||||||
<context context-type="linenumber">30</context>
|
<context context-type="linenumber">26</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="cafc87479686947e2590b9f588a88040aeaf660b">
|
<trans-unit datatype="html" id="cafc87479686947e2590b9f588a88040aeaf660b">
|
||||||
@ -590,7 +590,7 @@
|
|||||||
<target>Gespeicherte Ansicht "<x equiv-text="savedView.name" id="PH"/>" gelöscht.</target>
|
<target>Gespeicherte Ansicht "<x equiv-text="savedView.name" id="PH"/>" gelöscht.</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">67</context>
|
<context context-type="linenumber">68</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="5647210819299459618">
|
<trans-unit datatype="html" id="5647210819299459618">
|
||||||
@ -598,7 +598,7 @@
|
|||||||
<target>Einstellungen erfolgreich gespeichert.</target>
|
<target>Einstellungen erfolgreich gespeichert.</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">87</context>
|
<context context-type="linenumber">89</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="6839066544204061364">
|
<trans-unit datatype="html" id="6839066544204061364">
|
||||||
@ -606,7 +606,7 @@
|
|||||||
<target>Benutze Systemsprache</target>
|
<target>Benutze Systemsprache</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">92</context>
|
<context context-type="linenumber">94</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="7729897675462249787">
|
<trans-unit datatype="html" id="7729897675462249787">
|
||||||
@ -614,7 +614,7 @@
|
|||||||
<target>Benutze Datumsformat der Anzeigesprache</target>
|
<target>Benutze Datumsformat der Anzeigesprache</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">98</context>
|
<context context-type="linenumber">100</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="8488620293789898901">
|
<trans-unit datatype="html" id="8488620293789898901">
|
||||||
@ -622,7 +622,7 @@
|
|||||||
<target>Fehler beim Speichern der Einstellungen auf dem Server: <x equiv-text="JSON.stringify(error.error)" id="PH"/></target>
|
<target>Fehler beim Speichern der Einstellungen auf dem Server: <x equiv-text="JSON.stringify(error.error)" id="PH"/></target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">115</context>
|
<context context-type="linenumber">117</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="121cc5391cd2a5115bc2b3160379ee5b36cd7716">
|
<trans-unit datatype="html" id="121cc5391cd2a5115bc2b3160379ee5b36cd7716">
|
||||||
@ -646,7 +646,7 @@
|
|||||||
<target>Benachrichtigungen</target>
|
<target>Benachrichtigungen</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">115</context>
|
<context context-type="linenumber">116</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="99dee94e92dbd9e21a008d4569f9719ed206ae37">
|
<trans-unit datatype="html" id="99dee94e92dbd9e21a008d4569f9719ed206ae37">
|
||||||
@ -654,7 +654,7 @@
|
|||||||
<target>Gespeicherte Ansichten</target>
|
<target>Gespeicherte Ansichten</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">133</context>
|
<context context-type="linenumber">134</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="bbe41ac2ea4a6c00ea941a41b33105048f8e9f13">
|
<trans-unit datatype="html" id="bbe41ac2ea4a6c00ea941a41b33105048f8e9f13">
|
||||||
@ -777,12 +777,20 @@
|
|||||||
<context context-type="linenumber">98</context>
|
<context context-type="linenumber">98</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit datatype="html" id="71bad20b37410c8972c9aa0f7c62996534b84339">
|
||||||
|
<source>Invert thumbnails in dark mode</source>
|
||||||
|
<target>Miniaturbilder im dunklen Modus invertieren</target>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
|
<context context-type="linenumber">99</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="3863a86cd9e69a61d143d3daf51df44203df4a82">
|
<trans-unit datatype="html" id="3863a86cd9e69a61d143d3daf51df44203df4a82">
|
||||||
<source>Bulk editing</source>
|
<source>Bulk editing</source>
|
||||||
<target>Massenbearbeitung</target>
|
<target>Massenbearbeitung</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">102</context>
|
<context context-type="linenumber">103</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="c0ac61661c6c326d6e0e00c231b95cf2ac0c6586">
|
<trans-unit datatype="html" id="c0ac61661c6c326d6e0e00c231b95cf2ac0c6586">
|
||||||
@ -790,7 +798,7 @@
|
|||||||
<target>Bestätigungsdialoge anzeigen</target>
|
<target>Bestätigungsdialoge anzeigen</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">106</context>
|
<context context-type="linenumber">107</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="291bbe56ecbe945dcf05580a57d679fa7bd1e06a">
|
<trans-unit datatype="html" id="291bbe56ecbe945dcf05580a57d679fa7bd1e06a">
|
||||||
@ -798,7 +806,7 @@
|
|||||||
<target>Beim Löschen von Dokumenten wird immer nach einer Bestätigung gefragt.</target>
|
<target>Beim Löschen von Dokumenten wird immer nach einer Bestätigung gefragt.</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">106</context>
|
<context context-type="linenumber">107</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="8cfddc13e04f5545ac63f419ef363505d6f78c2e">
|
<trans-unit datatype="html" id="8cfddc13e04f5545ac63f419ef363505d6f78c2e">
|
||||||
@ -806,7 +814,7 @@
|
|||||||
<target>Anwenden beim Schließen</target>
|
<target>Anwenden beim Schließen</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">107</context>
|
<context context-type="linenumber">108</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="8680abbea249ebe9c2fe35556559c8e1a9eb5841">
|
<trans-unit datatype="html" id="8680abbea249ebe9c2fe35556559c8e1a9eb5841">
|
||||||
@ -814,7 +822,7 @@
|
|||||||
<target>Dokumentverarbeitung</target>
|
<target>Dokumentverarbeitung</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">118</context>
|
<context context-type="linenumber">119</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="2ad4d76b36341c589d94004ad2a213fd4d6f5ca0">
|
<trans-unit datatype="html" id="2ad4d76b36341c589d94004ad2a213fd4d6f5ca0">
|
||||||
@ -822,7 +830,7 @@
|
|||||||
<target>Zeige Benachrichtigungen wenn neue Dokumente erkannt werden</target>
|
<target>Zeige Benachrichtigungen wenn neue Dokumente erkannt werden</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">122</context>
|
<context context-type="linenumber">123</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="e775f4f7c40249d31426ae61a21616a0c9d8e84f">
|
<trans-unit datatype="html" id="e775f4f7c40249d31426ae61a21616a0c9d8e84f">
|
||||||
@ -830,7 +838,7 @@
|
|||||||
<target>Zeige Benachrichtigungen wenn neue Dokumente erfolgreich hinzugefügt wurden</target>
|
<target>Zeige Benachrichtigungen wenn neue Dokumente erfolgreich hinzugefügt wurden</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">123</context>
|
<context context-type="linenumber">124</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="e3844dd174d8e817ddb551fae28f14ae80ca36b6">
|
<trans-unit datatype="html" id="e3844dd174d8e817ddb551fae28f14ae80ca36b6">
|
||||||
@ -838,7 +846,7 @@
|
|||||||
<target>Zeige Benachrichtigungen wenn Dokumente nicht hinzugefügt werden konnten</target>
|
<target>Zeige Benachrichtigungen wenn Dokumente nicht hinzugefügt werden konnten</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">124</context>
|
<context context-type="linenumber">125</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="af113f7c9f7e13145c3461f61a1aedf12d57bd71">
|
<trans-unit datatype="html" id="af113f7c9f7e13145c3461f61a1aedf12d57bd71">
|
||||||
@ -846,7 +854,7 @@
|
|||||||
<target>Unterdrücke Benachrichtigungen auf der Startseite.</target>
|
<target>Unterdrücke Benachrichtigungen auf der Startseite.</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">125</context>
|
<context context-type="linenumber">126</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="e27bd3804d2936a6897e81c2e52e294490e5e5a8">
|
<trans-unit datatype="html" id="e27bd3804d2936a6897e81c2e52e294490e5e5a8">
|
||||||
@ -854,7 +862,7 @@
|
|||||||
<target>Dadurch werden alle Benachrichtigungen über die Dokumentenverarbeitung auf der Startseite unterdrückt.</target>
|
<target>Dadurch werden alle Benachrichtigungen über die Dokumentenverarbeitung auf der Startseite unterdrückt.</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">125</context>
|
<context context-type="linenumber">126</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="8cb90334f5dfd7fc67205085f59381e2a334ccfc">
|
<trans-unit datatype="html" id="8cb90334f5dfd7fc67205085f59381e2a334ccfc">
|
||||||
@ -862,7 +870,7 @@
|
|||||||
<target>Erscheint auf</target>
|
<target>Erscheint auf</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">145</context>
|
<context context-type="linenumber">146</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="6717cf1acf04728fc2b7c39f6d3297f8ff15fde5">
|
<trans-unit datatype="html" id="6717cf1acf04728fc2b7c39f6d3297f8ff15fde5">
|
||||||
@ -870,7 +878,7 @@
|
|||||||
<target>Auf Startseite zeigen</target>
|
<target>Auf Startseite zeigen</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">148</context>
|
<context context-type="linenumber">149</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="541bfc5b123b3f8867fd681eaceefb663a811973">
|
<trans-unit datatype="html" id="541bfc5b123b3f8867fd681eaceefb663a811973">
|
||||||
@ -878,7 +886,7 @@
|
|||||||
<target>In Seitenleiste zeigen</target>
|
<target>In Seitenleiste zeigen</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">152</context>
|
<context context-type="linenumber">153</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="abba764a7a595d04dc8c3b26e04b3780d4fdb540">
|
<trans-unit datatype="html" id="abba764a7a595d04dc8c3b26e04b3780d4fdb540">
|
||||||
@ -886,7 +894,7 @@
|
|||||||
<target>Keine gespeicherten Ansichten vorhanden.</target>
|
<target>Keine gespeicherten Ansichten vorhanden.</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">162</context>
|
<context context-type="linenumber">163</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="ef60a738a565f498b858e903e42bc5ffc3cc1299">
|
<trans-unit datatype="html" id="ef60a738a565f498b858e903e42bc5ffc3cc1299">
|
||||||
@ -990,7 +998,7 @@
|
|||||||
<target>Neues Tag erstellen</target>
|
<target>Neues Tag erstellen</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.ts</context>
|
||||||
<context context-type="linenumber">21</context>
|
<context context-type="linenumber">22</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="5872175735754226507">
|
<trans-unit datatype="html" id="5872175735754226507">
|
||||||
@ -998,7 +1006,7 @@
|
|||||||
<target>Tag bearbeiten</target>
|
<target>Tag bearbeiten</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.ts</context>
|
||||||
<context context-type="linenumber">25</context>
|
<context context-type="linenumber">26</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="f2a30b4e1a89a8a0db0bd147b54d6626b9a9bc42">
|
<trans-unit datatype="html" id="f2a30b4e1a89a8a0db0bd147b54d6626b9a9bc42">
|
||||||
@ -1006,7 +1014,7 @@
|
|||||||
<target>Posteingangs-Tag</target>
|
<target>Posteingangs-Tag</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.html</context>
|
||||||
<context context-type="linenumber">21</context>
|
<context context-type="linenumber">13</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="5e2f1a4ea12a1b8606ee3f0548d0ba64bf266077">
|
<trans-unit datatype="html" id="5e2f1a4ea12a1b8606ee3f0548d0ba64bf266077">
|
||||||
@ -1014,7 +1022,7 @@
|
|||||||
<target>Ein Tag mit dieser Option wird automatisch allen neuen Dokumenten zugewiesen.</target>
|
<target>Ein Tag mit dieser Option wird automatisch allen neuen Dokumenten zugewiesen.</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.html</context>
|
||||||
<context context-type="linenumber">21</context>
|
<context context-type="linenumber">13</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="6672809941092516947">
|
<trans-unit datatype="html" id="6672809941092516947">
|
||||||
@ -1111,7 +1119,7 @@
|
|||||||
<target>Verwalten</target>
|
<target>Verwalten</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
||||||
<context context-type="linenumber">107</context>
|
<context context-type="linenumber">112</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="408cb6073e60c5d966296a3207fc596adca75e01">
|
<trans-unit datatype="html" id="408cb6073e60c5d966296a3207fc596adca75e01">
|
||||||
@ -1119,7 +1127,7 @@
|
|||||||
<target>Administration</target>
|
<target>Administration</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
||||||
<context context-type="linenumber">149</context>
|
<context context-type="linenumber">154</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="321e4419a943044e674beb55b8039f42a9761ca5">
|
<trans-unit datatype="html" id="321e4419a943044e674beb55b8039f42a9761ca5">
|
||||||
@ -1127,7 +1135,7 @@
|
|||||||
<target>Info</target>
|
<target>Info</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
||||||
<context context-type="linenumber">155</context>
|
<context context-type="linenumber">160</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7">
|
<trans-unit datatype="html" id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7">
|
||||||
@ -1135,7 +1143,7 @@
|
|||||||
<target>Dokumentation</target>
|
<target>Dokumentation</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
||||||
<context context-type="linenumber">162</context>
|
<context context-type="linenumber">167</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="355a222236bc01b9a8cd3cb9ecf76891125aed69">
|
<trans-unit datatype="html" id="355a222236bc01b9a8cd3cb9ecf76891125aed69">
|
||||||
@ -1143,7 +1151,7 @@
|
|||||||
<target>GitHub</target>
|
<target>GitHub</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
||||||
<context context-type="linenumber">170</context>
|
<context context-type="linenumber">175</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="ea3a452c5238897cabc5781308cceb2d37dcf258">
|
<trans-unit datatype="html" id="ea3a452c5238897cabc5781308cceb2d37dcf258">
|
||||||
@ -1151,7 +1159,7 @@
|
|||||||
<target>Eine Idee vorschlagen</target>
|
<target>Eine Idee vorschlagen</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
||||||
<context context-type="linenumber">176</context>
|
<context context-type="linenumber">181</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="af665f8de8fabe306aaf27443957e69bcbbce63c">
|
<trans-unit datatype="html" id="af665f8de8fabe306aaf27443957e69bcbbce63c">
|
||||||
@ -1175,7 +1183,23 @@
|
|||||||
<target>Alle schließen</target>
|
<target>Alle schließen</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
||||||
<context context-type="linenumber">101</context>
|
<context context-type="linenumber">106</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit datatype="html" id="5701618810648052610">
|
||||||
|
<source>Title</source>
|
||||||
|
<target>Titel</target>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
||||||
|
<context context-type="linenumber">73</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit datatype="html" id="3100631071441658964">
|
||||||
|
<source>Title & content</source>
|
||||||
|
<target>Titel & Inhalt</target>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
||||||
|
<context context-type="linenumber">74</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="5195932016807797291">
|
<trans-unit datatype="html" id="5195932016807797291">
|
||||||
@ -1183,7 +1207,7 @@
|
|||||||
<target>Korrespondent: <x equiv-text="this.correspondents.find(c => c.id == +rule.value)?.name" id="PH"/></target>
|
<target>Korrespondent: <x equiv-text="this.correspondents.find(c => c.id == +rule.value)?.name" id="PH"/></target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
||||||
<context context-type="linenumber">29</context>
|
<context context-type="linenumber">32</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="8170755470576301659">
|
<trans-unit datatype="html" id="8170755470576301659">
|
||||||
@ -1191,7 +1215,7 @@
|
|||||||
<target>Ohne Korrespondent</target>
|
<target>Ohne Korrespondent</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
||||||
<context context-type="linenumber">31</context>
|
<context context-type="linenumber">34</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="8705701325879965907">
|
<trans-unit datatype="html" id="8705701325879965907">
|
||||||
@ -1199,7 +1223,7 @@
|
|||||||
<target>Typ: <x equiv-text="this.documentTypes.find(dt => dt.id == +rule.value)?.name" id="PH"/></target>
|
<target>Typ: <x equiv-text="this.documentTypes.find(dt => dt.id == +rule.value)?.name" id="PH"/></target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
||||||
<context context-type="linenumber">36</context>
|
<context context-type="linenumber">39</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="4362173610367509215">
|
<trans-unit datatype="html" id="4362173610367509215">
|
||||||
@ -1207,7 +1231,7 @@
|
|||||||
<target>Ohne Dokumenttyp</target>
|
<target>Ohne Dokumenttyp</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
||||||
<context context-type="linenumber">38</context>
|
<context context-type="linenumber">41</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="8180755793012580465">
|
<trans-unit datatype="html" id="8180755793012580465">
|
||||||
@ -1215,7 +1239,7 @@
|
|||||||
<target>Tag: <x equiv-text="this.tags.find(t => t.id == +rule.value)?.name" id="PH"/></target>
|
<target>Tag: <x equiv-text="this.tags.find(t => t.id == +rule.value)?.name" id="PH"/></target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
<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">45</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="6494566478302448576">
|
<trans-unit datatype="html" id="6494566478302448576">
|
||||||
@ -1223,7 +1247,7 @@
|
|||||||
<target>Ohne Tag</target>
|
<target>Ohne Tag</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
<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">49</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="6523384805359286307">
|
<trans-unit datatype="html" id="6523384805359286307">
|
||||||
@ -1231,7 +1255,7 @@
|
|||||||
<target>Titel: <x equiv-text="rule.value" id="PH"/></target>
|
<target>Titel: <x equiv-text="rule.value" id="PH"/></target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
<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">53</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="02d184c288f567825a1fcbf83bcd3099a10853d5">
|
<trans-unit datatype="html" id="02d184c288f567825a1fcbf83bcd3099a10853d5">
|
||||||
@ -1239,7 +1263,7 @@
|
|||||||
<target>Tags filtern</target>
|
<target>Tags filtern</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
||||||
<context context-type="linenumber">12</context>
|
<context context-type="linenumber">20</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="4b089ca12c472cf0b46167bb5afe4b527b301bbc">
|
<trans-unit datatype="html" id="4b089ca12c472cf0b46167bb5afe4b527b301bbc">
|
||||||
@ -1247,7 +1271,7 @@
|
|||||||
<target>Korrespondenten filtern</target>
|
<target>Korrespondenten filtern</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
||||||
<context context-type="linenumber">20</context>
|
<context context-type="linenumber">28</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="0ad509732aaf702b7ea8c771c7809fa84bc85908">
|
<trans-unit datatype="html" id="0ad509732aaf702b7ea8c771c7809fa84bc85908">
|
||||||
@ -1255,7 +1279,7 @@
|
|||||||
<target>Dokumenttypen filtern</target>
|
<target>Dokumenttypen filtern</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
||||||
<context context-type="linenumber">27</context>
|
<context context-type="linenumber">35</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="2d9d55f1b70142ff4597ba32179d16888fd9c6b2">
|
<trans-unit datatype="html" id="2d9d55f1b70142ff4597ba32179d16888fd9c6b2">
|
||||||
@ -1263,7 +1287,7 @@
|
|||||||
<target>Filter zurücksetzen</target>
|
<target>Filter zurücksetzen</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
||||||
<context context-type="linenumber">50</context>
|
<context context-type="linenumber">58</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="7593728289020204896">
|
<trans-unit datatype="html" id="7593728289020204896">
|
||||||
@ -1288,7 +1312,7 @@
|
|||||||
<target>Letzte 7 Tage</target>
|
<target>Letzte 7 Tage</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
||||||
<context context-type="linenumber">24</context>
|
<context context-type="linenumber">34</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="4463380307954693363">
|
<trans-unit datatype="html" id="4463380307954693363">
|
||||||
@ -1296,7 +1320,7 @@
|
|||||||
<target>Letzten Monat</target>
|
<target>Letzten Monat</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
||||||
<context context-type="linenumber">25</context>
|
<context context-type="linenumber">35</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="8697368973702409683">
|
<trans-unit datatype="html" id="8697368973702409683">
|
||||||
@ -1304,7 +1328,7 @@
|
|||||||
<target>Letzte 3 Monate</target>
|
<target>Letzte 3 Monate</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
||||||
<context context-type="linenumber">26</context>
|
<context context-type="linenumber">36</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="3566342898065860218">
|
<trans-unit datatype="html" id="3566342898065860218">
|
||||||
@ -1312,7 +1336,7 @@
|
|||||||
<target>Letztes Jahr</target>
|
<target>Letztes Jahr</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
||||||
<context context-type="linenumber">27</context>
|
<context context-type="linenumber">37</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="be2add3a3d9e4e2556b8f9048a15a9c0f00bf1ad">
|
<trans-unit datatype="html" id="be2add3a3d9e4e2556b8f9048a15a9c0f00bf1ad">
|
||||||
@ -1328,7 +1352,7 @@
|
|||||||
<target>Vor</target>
|
<target>Vor</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.html</context>
|
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.html</context>
|
||||||
<context context-type="linenumber">29</context>
|
<context context-type="linenumber">38</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46">
|
<trans-unit datatype="html" id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46">
|
||||||
@ -1829,7 +1853,7 @@
|
|||||||
<target>Ungültiges Datum.</target>
|
<target>Ungültiges Datum.</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/input/date/date.component.html</context>
|
<context context-type="sourcefile">src/app/components/common/input/date/date.component.html</context>
|
||||||
<context context-type="linenumber">13</context>
|
<context context-type="linenumber">14</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="2807800733729323332">
|
<trans-unit datatype="html" id="2807800733729323332">
|
||||||
@ -1861,7 +1885,7 @@
|
|||||||
<target>Englisch (US)</target>
|
<target>Englisch (US)</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">88</context>
|
<context context-type="linenumber">90</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="6987083569809053351">
|
<trans-unit datatype="html" id="6987083569809053351">
|
||||||
@ -1869,7 +1893,7 @@
|
|||||||
<target>Englisch (UK)</target>
|
<target>Englisch (UK)</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">89</context>
|
<context context-type="linenumber">91</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="1858110241312746425">
|
<trans-unit datatype="html" id="1858110241312746425">
|
||||||
@ -1877,7 +1901,7 @@
|
|||||||
<target>Deutsch</target>
|
<target>Deutsch</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">90</context>
|
<context context-type="linenumber">92</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="3071065188816255493">
|
<trans-unit datatype="html" id="3071065188816255493">
|
||||||
@ -1885,7 +1909,7 @@
|
|||||||
<target>Niederländisch</target>
|
<target>Niederländisch</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">91</context>
|
<context context-type="linenumber">93</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="7633754075223722162">
|
<trans-unit datatype="html" id="7633754075223722162">
|
||||||
@ -1893,7 +1917,7 @@
|
|||||||
<target>Französisch</target>
|
<target>Französisch</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">92</context>
|
<context context-type="linenumber">94</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="9184513005098760425">
|
<trans-unit datatype="html" id="9184513005098760425">
|
||||||
@ -1901,7 +1925,23 @@
|
|||||||
<target>Portugiesisch (Brasilien)</target>
|
<target>Portugiesisch (Brasilien)</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">93</context>
|
<context context-type="linenumber">95</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit datatype="html" id="2935232983274991580">
|
||||||
|
<source>Italian</source>
|
||||||
|
<target>Italienisch</target>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
|
<context context-type="linenumber">96</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit datatype="html" id="8118856427047826368">
|
||||||
|
<source>Romanian</source>
|
||||||
|
<target>Rumänisch</target>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
|
<context context-type="linenumber">97</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="4912706592792948707">
|
<trans-unit datatype="html" id="4912706592792948707">
|
||||||
@ -1909,7 +1949,7 @@
|
|||||||
<target>ISO 8601</target>
|
<target>ISO 8601</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">98</context>
|
<context context-type="linenumber">102</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="2119857572761283468">
|
<trans-unit datatype="html" id="2119857572761283468">
|
||||||
@ -2052,14 +2092,6 @@
|
|||||||
<context context-type="linenumber">18</context>
|
<context context-type="linenumber">18</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="5701618810648052610">
|
|
||||||
<source>Title</source>
|
|
||||||
<target>Titel</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/services/rest/document.service.ts</context>
|
|
||||||
<context context-type="linenumber">19</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="5066119607229701477">
|
<trans-unit datatype="html" id="5066119607229701477">
|
||||||
<source>Document type</source>
|
<source>Document type</source>
|
||||||
<target>Dokumenttyp</target>
|
<target>Dokumenttyp</target>
|
||||||
@ -2092,110 +2124,6 @@
|
|||||||
<context context-type="linenumber">23</context>
|
<context context-type="linenumber">23</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="2056433880533904076">
|
|
||||||
<source>Light blue</source>
|
|
||||||
<target>Blau, hell</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">6</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="4082253113407591781">
|
|
||||||
<source>Blue</source>
|
|
||||||
<target>Blau</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">7</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="1143414876575720034">
|
|
||||||
<source>Light green</source>
|
|
||||||
<target>Grün, hell</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">8</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="119581980963263815">
|
|
||||||
<source>Green</source>
|
|
||||||
<target>Grün</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">9</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="3250646524116252719">
|
|
||||||
<source>Light red</source>
|
|
||||||
<target>Rot, hell</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">10</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="1628552745302385832">
|
|
||||||
<source>Red </source>
|
|
||||||
<target>Rot</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">11</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="5479028842846122610">
|
|
||||||
<source>Light orange</source>
|
|
||||||
<target>Orange, hell</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">12</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="8598918991528773310">
|
|
||||||
<source>Orange</source>
|
|
||||||
<target>Orange</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">13</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="1789283185177957430">
|
|
||||||
<source>Light violet</source>
|
|
||||||
<target>Violet, hell</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">14</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="2682868487071320453">
|
|
||||||
<source>Violet</source>
|
|
||||||
<target>Violet</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">15</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="1449010446077321264">
|
|
||||||
<source>Brown</source>
|
|
||||||
<target>Braun</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">16</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="30300572504753589">
|
|
||||||
<source>Black</source>
|
|
||||||
<target>Schwarz</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">17</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="461048771215121187">
|
|
||||||
<source>Light grey</source>
|
|
||||||
<target>Grau, hell</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">18</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="4561076822163447092">
|
<trans-unit datatype="html" id="4561076822163447092">
|
||||||
<source>Create new item</source>
|
<source>Create new item</source>
|
||||||
<target>Neues Element erstellen</target>
|
<target>Neues Element erstellen</target>
|
||||||
|
@ -478,7 +478,7 @@
|
|||||||
<target>Do you really want to delete the tag "<x equiv-text="object.name" id="PH"/>"?</target>
|
<target>Do you really want to delete the tag "<x equiv-text="object.name" id="PH"/>"?</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-list.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-list.component.ts</context>
|
||||||
<context context-type="linenumber">30</context>
|
<context context-type="linenumber">26</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="cafc87479686947e2590b9f588a88040aeaf660b">
|
<trans-unit datatype="html" id="cafc87479686947e2590b9f588a88040aeaf660b">
|
||||||
@ -990,7 +990,7 @@
|
|||||||
<target>Create new tag</target>
|
<target>Create new tag</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.ts</context>
|
||||||
<context context-type="linenumber">21</context>
|
<context context-type="linenumber">22</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="5872175735754226507">
|
<trans-unit datatype="html" id="5872175735754226507">
|
||||||
@ -998,7 +998,7 @@
|
|||||||
<target>Edit tag</target>
|
<target>Edit tag</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.ts</context>
|
||||||
<context context-type="linenumber">25</context>
|
<context context-type="linenumber">26</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="f2a30b4e1a89a8a0db0bd147b54d6626b9a9bc42">
|
<trans-unit datatype="html" id="f2a30b4e1a89a8a0db0bd147b54d6626b9a9bc42">
|
||||||
@ -1006,7 +1006,7 @@
|
|||||||
<target>Inbox tag</target>
|
<target>Inbox tag</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.html</context>
|
||||||
<context context-type="linenumber">21</context>
|
<context context-type="linenumber">13</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="5e2f1a4ea12a1b8606ee3f0548d0ba64bf266077">
|
<trans-unit datatype="html" id="5e2f1a4ea12a1b8606ee3f0548d0ba64bf266077">
|
||||||
@ -1014,7 +1014,7 @@
|
|||||||
<target>Inbox tags are automatically assigned to all consumed documents.</target>
|
<target>Inbox tags are automatically assigned to all consumed documents.</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.html</context>
|
||||||
<context context-type="linenumber">21</context>
|
<context context-type="linenumber">13</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="6672809941092516947">
|
<trans-unit datatype="html" id="6672809941092516947">
|
||||||
@ -1288,7 +1288,7 @@
|
|||||||
<target>Last 7 days</target>
|
<target>Last 7 days</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
||||||
<context context-type="linenumber">24</context>
|
<context context-type="linenumber">34</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="4463380307954693363">
|
<trans-unit datatype="html" id="4463380307954693363">
|
||||||
@ -1296,7 +1296,7 @@
|
|||||||
<target>Last month</target>
|
<target>Last month</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
||||||
<context context-type="linenumber">25</context>
|
<context context-type="linenumber">35</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="8697368973702409683">
|
<trans-unit datatype="html" id="8697368973702409683">
|
||||||
@ -1304,7 +1304,7 @@
|
|||||||
<target>Last 3 months</target>
|
<target>Last 3 months</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
||||||
<context context-type="linenumber">26</context>
|
<context context-type="linenumber">36</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="3566342898065860218">
|
<trans-unit datatype="html" id="3566342898065860218">
|
||||||
@ -1312,7 +1312,7 @@
|
|||||||
<target>Last year</target>
|
<target>Last year</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
||||||
<context context-type="linenumber">27</context>
|
<context context-type="linenumber">37</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="be2add3a3d9e4e2556b8f9048a15a9c0f00bf1ad">
|
<trans-unit datatype="html" id="be2add3a3d9e4e2556b8f9048a15a9c0f00bf1ad">
|
||||||
@ -1328,7 +1328,7 @@
|
|||||||
<target>Before</target>
|
<target>Before</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.html</context>
|
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.html</context>
|
||||||
<context context-type="linenumber">29</context>
|
<context context-type="linenumber">38</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46">
|
<trans-unit datatype="html" id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46">
|
||||||
@ -1829,7 +1829,7 @@
|
|||||||
<target>Invalid date.</target>
|
<target>Invalid date.</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/input/date/date.component.html</context>
|
<context context-type="sourcefile">src/app/components/common/input/date/date.component.html</context>
|
||||||
<context context-type="linenumber">13</context>
|
<context context-type="linenumber">14</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="2807800733729323332">
|
<trans-unit datatype="html" id="2807800733729323332">
|
||||||
@ -1904,12 +1904,20 @@
|
|||||||
<context context-type="linenumber">93</context>
|
<context context-type="linenumber">93</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit datatype="html" id="2935232983274991580">
|
||||||
|
<source>Italian</source>
|
||||||
|
<target>Italian</target>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
|
<context context-type="linenumber">94</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="4912706592792948707">
|
<trans-unit datatype="html" id="4912706592792948707">
|
||||||
<source>ISO 8601</source>
|
<source>ISO 8601</source>
|
||||||
<target>ISO 8601</target>
|
<target>ISO 8601</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">98</context>
|
<context context-type="linenumber">99</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="2119857572761283468">
|
<trans-unit datatype="html" id="2119857572761283468">
|
||||||
@ -2092,110 +2100,6 @@
|
|||||||
<context context-type="linenumber">23</context>
|
<context context-type="linenumber">23</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="2056433880533904076">
|
|
||||||
<source>Light blue</source>
|
|
||||||
<target>Light blue</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">6</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="4082253113407591781">
|
|
||||||
<source>Blue</source>
|
|
||||||
<target>Blue</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">7</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="1143414876575720034">
|
|
||||||
<source>Light green</source>
|
|
||||||
<target>Light green</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">8</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="119581980963263815">
|
|
||||||
<source>Green</source>
|
|
||||||
<target>Green</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">9</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="3250646524116252719">
|
|
||||||
<source>Light red</source>
|
|
||||||
<target>Light red</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">10</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="1628552745302385832">
|
|
||||||
<source>Red </source>
|
|
||||||
<target>Red </target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">11</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="5479028842846122610">
|
|
||||||
<source>Light orange</source>
|
|
||||||
<target>Light orange</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">12</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="8598918991528773310">
|
|
||||||
<source>Orange</source>
|
|
||||||
<target>Orange</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">13</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="1789283185177957430">
|
|
||||||
<source>Light violet</source>
|
|
||||||
<target>Light violet</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">14</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="2682868487071320453">
|
|
||||||
<source>Violet</source>
|
|
||||||
<target>Violet</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">15</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="1449010446077321264">
|
|
||||||
<source>Brown</source>
|
|
||||||
<target>Brown</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">16</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="30300572504753589">
|
|
||||||
<source>Black</source>
|
|
||||||
<target>Black</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">17</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="461048771215121187">
|
|
||||||
<source>Light grey</source>
|
|
||||||
<target>Light grey</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">18</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="4561076822163447092">
|
<trans-unit datatype="html" id="4561076822163447092">
|
||||||
<source>Create new item</source>
|
<source>Create new item</source>
|
||||||
<target>Create new item</target>
|
<target>Create new item</target>
|
||||||
|
@ -478,7 +478,7 @@
|
|||||||
<target>Voulez-vous vraiment supprimer l'étiquette "<x equiv-text="object.name" id="PH"/>" ?</target>
|
<target>Voulez-vous vraiment supprimer l'étiquette "<x equiv-text="object.name" id="PH"/>" ?</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-list.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-list.component.ts</context>
|
||||||
<context context-type="linenumber">30</context>
|
<context context-type="linenumber">26</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="cafc87479686947e2590b9f588a88040aeaf660b">
|
<trans-unit datatype="html" id="cafc87479686947e2590b9f588a88040aeaf660b">
|
||||||
@ -590,7 +590,7 @@
|
|||||||
<target>Vue "<x equiv-text="savedView.name" id="PH"/>" supprimée.</target>
|
<target>Vue "<x equiv-text="savedView.name" id="PH"/>" supprimée.</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">67</context>
|
<context context-type="linenumber">68</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="5647210819299459618">
|
<trans-unit datatype="html" id="5647210819299459618">
|
||||||
@ -598,7 +598,7 @@
|
|||||||
<target>Paramètres enregistrés avec succès.</target>
|
<target>Paramètres enregistrés avec succès.</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">87</context>
|
<context context-type="linenumber">89</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="6839066544204061364">
|
<trans-unit datatype="html" id="6839066544204061364">
|
||||||
@ -606,7 +606,7 @@
|
|||||||
<target>Utiliser la langue du système</target>
|
<target>Utiliser la langue du système</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">92</context>
|
<context context-type="linenumber">94</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="7729897675462249787">
|
<trans-unit datatype="html" id="7729897675462249787">
|
||||||
@ -614,7 +614,7 @@
|
|||||||
<target>Utiliser le format de date de la langue d'affichage</target>
|
<target>Utiliser le format de date de la langue d'affichage</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">98</context>
|
<context context-type="linenumber">100</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="8488620293789898901">
|
<trans-unit datatype="html" id="8488620293789898901">
|
||||||
@ -622,7 +622,7 @@
|
|||||||
<target>Une erreur s'est produite lors de l'enregistrement des paramètres sur le serveur : <x equiv-text="JSON.stringify(error.error)" id="PH"/></target>
|
<target>Une erreur s'est produite lors de l'enregistrement des paramètres sur le serveur : <x equiv-text="JSON.stringify(error.error)" id="PH"/></target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">115</context>
|
<context context-type="linenumber">117</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="121cc5391cd2a5115bc2b3160379ee5b36cd7716">
|
<trans-unit datatype="html" id="121cc5391cd2a5115bc2b3160379ee5b36cd7716">
|
||||||
@ -646,7 +646,7 @@
|
|||||||
<target>Notifications</target>
|
<target>Notifications</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">115</context>
|
<context context-type="linenumber">116</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="99dee94e92dbd9e21a008d4569f9719ed206ae37">
|
<trans-unit datatype="html" id="99dee94e92dbd9e21a008d4569f9719ed206ae37">
|
||||||
@ -654,7 +654,7 @@
|
|||||||
<target>Vues enregistrées</target>
|
<target>Vues enregistrées</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">133</context>
|
<context context-type="linenumber">134</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="bbe41ac2ea4a6c00ea941a41b33105048f8e9f13">
|
<trans-unit datatype="html" id="bbe41ac2ea4a6c00ea941a41b33105048f8e9f13">
|
||||||
@ -777,12 +777,20 @@
|
|||||||
<context context-type="linenumber">98</context>
|
<context context-type="linenumber">98</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit datatype="html" id="71bad20b37410c8972c9aa0f7c62996534b84339">
|
||||||
|
<source>Invert thumbnails in dark mode</source>
|
||||||
|
<target>Inverser les vignettes en mode sombre</target>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
|
<context context-type="linenumber">99</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="3863a86cd9e69a61d143d3daf51df44203df4a82">
|
<trans-unit datatype="html" id="3863a86cd9e69a61d143d3daf51df44203df4a82">
|
||||||
<source>Bulk editing</source>
|
<source>Bulk editing</source>
|
||||||
<target>Edition en masse</target>
|
<target>Edition en masse</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">102</context>
|
<context context-type="linenumber">103</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="c0ac61661c6c326d6e0e00c231b95cf2ac0c6586">
|
<trans-unit datatype="html" id="c0ac61661c6c326d6e0e00c231b95cf2ac0c6586">
|
||||||
@ -790,7 +798,7 @@
|
|||||||
<target>Afficher les messages de confirmation</target>
|
<target>Afficher les messages de confirmation</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">106</context>
|
<context context-type="linenumber">107</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="291bbe56ecbe945dcf05580a57d679fa7bd1e06a">
|
<trans-unit datatype="html" id="291bbe56ecbe945dcf05580a57d679fa7bd1e06a">
|
||||||
@ -798,7 +806,7 @@
|
|||||||
<target>La suppression de documents requiert toujours une confirmation.</target>
|
<target>La suppression de documents requiert toujours une confirmation.</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">106</context>
|
<context context-type="linenumber">107</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="8cfddc13e04f5545ac63f419ef363505d6f78c2e">
|
<trans-unit datatype="html" id="8cfddc13e04f5545ac63f419ef363505d6f78c2e">
|
||||||
@ -806,7 +814,7 @@
|
|||||||
<target>Appliquer lors de la fermeture</target>
|
<target>Appliquer lors de la fermeture</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">107</context>
|
<context context-type="linenumber">108</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="8680abbea249ebe9c2fe35556559c8e1a9eb5841">
|
<trans-unit datatype="html" id="8680abbea249ebe9c2fe35556559c8e1a9eb5841">
|
||||||
@ -814,7 +822,7 @@
|
|||||||
<target>Traitement de documents</target>
|
<target>Traitement de documents</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">118</context>
|
<context context-type="linenumber">119</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="2ad4d76b36341c589d94004ad2a213fd4d6f5ca0">
|
<trans-unit datatype="html" id="2ad4d76b36341c589d94004ad2a213fd4d6f5ca0">
|
||||||
@ -822,7 +830,7 @@
|
|||||||
<target>Afficher des notifications lorsque de nouveaux documents sont détectés</target>
|
<target>Afficher des notifications lorsque de nouveaux documents sont détectés</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">122</context>
|
<context context-type="linenumber">123</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="e775f4f7c40249d31426ae61a21616a0c9d8e84f">
|
<trans-unit datatype="html" id="e775f4f7c40249d31426ae61a21616a0c9d8e84f">
|
||||||
@ -830,7 +838,7 @@
|
|||||||
<target>Afficher des notifications lorsque le traitement des documents se termine avec succès</target>
|
<target>Afficher des notifications lorsque le traitement des documents se termine avec succès</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">123</context>
|
<context context-type="linenumber">124</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="e3844dd174d8e817ddb551fae28f14ae80ca36b6">
|
<trans-unit datatype="html" id="e3844dd174d8e817ddb551fae28f14ae80ca36b6">
|
||||||
@ -838,7 +846,7 @@
|
|||||||
<target>Afficher des notifications en cas d'échec du traitement des documents</target>
|
<target>Afficher des notifications en cas d'échec du traitement des documents</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">124</context>
|
<context context-type="linenumber">125</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="af113f7c9f7e13145c3461f61a1aedf12d57bd71">
|
<trans-unit datatype="html" id="af113f7c9f7e13145c3461f61a1aedf12d57bd71">
|
||||||
@ -846,7 +854,7 @@
|
|||||||
<target>Supprimer les notifications du tableau de bord</target>
|
<target>Supprimer les notifications du tableau de bord</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">125</context>
|
<context context-type="linenumber">126</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="e27bd3804d2936a6897e81c2e52e294490e5e5a8">
|
<trans-unit datatype="html" id="e27bd3804d2936a6897e81c2e52e294490e5e5a8">
|
||||||
@ -854,7 +862,7 @@
|
|||||||
<target>Cela supprimera tous les messages liés au traitement de documents sur le tableau de bord.</target>
|
<target>Cela supprimera tous les messages liés au traitement de documents sur le tableau de bord.</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">125</context>
|
<context context-type="linenumber">126</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="8cb90334f5dfd7fc67205085f59381e2a334ccfc">
|
<trans-unit datatype="html" id="8cb90334f5dfd7fc67205085f59381e2a334ccfc">
|
||||||
@ -862,7 +870,7 @@
|
|||||||
<target>Apparaît sur</target>
|
<target>Apparaît sur</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">145</context>
|
<context context-type="linenumber">146</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="6717cf1acf04728fc2b7c39f6d3297f8ff15fde5">
|
<trans-unit datatype="html" id="6717cf1acf04728fc2b7c39f6d3297f8ff15fde5">
|
||||||
@ -870,7 +878,7 @@
|
|||||||
<target>Montrer sur le tableau de bord</target>
|
<target>Montrer sur le tableau de bord</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">148</context>
|
<context context-type="linenumber">149</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="541bfc5b123b3f8867fd681eaceefb663a811973">
|
<trans-unit datatype="html" id="541bfc5b123b3f8867fd681eaceefb663a811973">
|
||||||
@ -878,7 +886,7 @@
|
|||||||
<target>Montrer dans la barre latérale</target>
|
<target>Montrer dans la barre latérale</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">152</context>
|
<context context-type="linenumber">153</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="abba764a7a595d04dc8c3b26e04b3780d4fdb540">
|
<trans-unit datatype="html" id="abba764a7a595d04dc8c3b26e04b3780d4fdb540">
|
||||||
@ -886,7 +894,7 @@
|
|||||||
<target>Aucune vue sauvegardée n'est définie.</target>
|
<target>Aucune vue sauvegardée n'est définie.</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">162</context>
|
<context context-type="linenumber">163</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="ef60a738a565f498b858e903e42bc5ffc3cc1299">
|
<trans-unit datatype="html" id="ef60a738a565f498b858e903e42bc5ffc3cc1299">
|
||||||
@ -990,7 +998,7 @@
|
|||||||
<target>Créer une nouvelle étiquette</target>
|
<target>Créer une nouvelle étiquette</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.ts</context>
|
||||||
<context context-type="linenumber">21</context>
|
<context context-type="linenumber">22</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="5872175735754226507">
|
<trans-unit datatype="html" id="5872175735754226507">
|
||||||
@ -998,7 +1006,7 @@
|
|||||||
<target>Éditer l'étiquette</target>
|
<target>Éditer l'étiquette</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.ts</context>
|
||||||
<context context-type="linenumber">25</context>
|
<context context-type="linenumber">26</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="f2a30b4e1a89a8a0db0bd147b54d6626b9a9bc42">
|
<trans-unit datatype="html" id="f2a30b4e1a89a8a0db0bd147b54d6626b9a9bc42">
|
||||||
@ -1006,7 +1014,7 @@
|
|||||||
<target>Étiquette de boîte de réception</target>
|
<target>Étiquette de boîte de réception</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.html</context>
|
||||||
<context context-type="linenumber">21</context>
|
<context context-type="linenumber">13</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="5e2f1a4ea12a1b8606ee3f0548d0ba64bf266077">
|
<trans-unit datatype="html" id="5e2f1a4ea12a1b8606ee3f0548d0ba64bf266077">
|
||||||
@ -1014,7 +1022,7 @@
|
|||||||
<target>Les étiquettes de boîte de réception sont automatiquement affectées à tous les documents traités.</target>
|
<target>Les étiquettes de boîte de réception sont automatiquement affectées à tous les documents traités.</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.html</context>
|
||||||
<context context-type="linenumber">21</context>
|
<context context-type="linenumber">13</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="6672809941092516947">
|
<trans-unit datatype="html" id="6672809941092516947">
|
||||||
@ -1111,7 +1119,7 @@
|
|||||||
<target>Gestion</target>
|
<target>Gestion</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
||||||
<context context-type="linenumber">107</context>
|
<context context-type="linenumber">112</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="408cb6073e60c5d966296a3207fc596adca75e01">
|
<trans-unit datatype="html" id="408cb6073e60c5d966296a3207fc596adca75e01">
|
||||||
@ -1119,7 +1127,7 @@
|
|||||||
<target>Administration</target>
|
<target>Administration</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
||||||
<context context-type="linenumber">149</context>
|
<context context-type="linenumber">154</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="321e4419a943044e674beb55b8039f42a9761ca5">
|
<trans-unit datatype="html" id="321e4419a943044e674beb55b8039f42a9761ca5">
|
||||||
@ -1127,7 +1135,7 @@
|
|||||||
<target>Info</target>
|
<target>Info</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
||||||
<context context-type="linenumber">155</context>
|
<context context-type="linenumber">160</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7">
|
<trans-unit datatype="html" id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7">
|
||||||
@ -1135,7 +1143,7 @@
|
|||||||
<target>Documentation</target>
|
<target>Documentation</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
||||||
<context context-type="linenumber">162</context>
|
<context context-type="linenumber">167</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="355a222236bc01b9a8cd3cb9ecf76891125aed69">
|
<trans-unit datatype="html" id="355a222236bc01b9a8cd3cb9ecf76891125aed69">
|
||||||
@ -1143,7 +1151,7 @@
|
|||||||
<target>GitHub</target>
|
<target>GitHub</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
||||||
<context context-type="linenumber">170</context>
|
<context context-type="linenumber">175</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="ea3a452c5238897cabc5781308cceb2d37dcf258">
|
<trans-unit datatype="html" id="ea3a452c5238897cabc5781308cceb2d37dcf258">
|
||||||
@ -1151,7 +1159,7 @@
|
|||||||
<target>Suggérer une idée</target>
|
<target>Suggérer une idée</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
||||||
<context context-type="linenumber">176</context>
|
<context context-type="linenumber">181</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="af665f8de8fabe306aaf27443957e69bcbbce63c">
|
<trans-unit datatype="html" id="af665f8de8fabe306aaf27443957e69bcbbce63c">
|
||||||
@ -1175,7 +1183,23 @@
|
|||||||
<target>Fermer tout</target>
|
<target>Fermer tout</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
||||||
<context context-type="linenumber">101</context>
|
<context context-type="linenumber">106</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit datatype="html" id="5701618810648052610">
|
||||||
|
<source>Title</source>
|
||||||
|
<target>Titre</target>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
||||||
|
<context context-type="linenumber">73</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit datatype="html" id="3100631071441658964">
|
||||||
|
<source>Title & content</source>
|
||||||
|
<target>Titre & contenu</target>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
||||||
|
<context context-type="linenumber">74</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="5195932016807797291">
|
<trans-unit datatype="html" id="5195932016807797291">
|
||||||
@ -1183,7 +1207,7 @@
|
|||||||
<target>Correspondant : <x equiv-text="this.correspondents.find(c => c.id == +rule.value)?.name" id="PH"/></target>
|
<target>Correspondant : <x equiv-text="this.correspondents.find(c => c.id == +rule.value)?.name" id="PH"/></target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
||||||
<context context-type="linenumber">29</context>
|
<context context-type="linenumber">32</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="8170755470576301659">
|
<trans-unit datatype="html" id="8170755470576301659">
|
||||||
@ -1191,7 +1215,7 @@
|
|||||||
<target>Sans correspondant</target>
|
<target>Sans correspondant</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
||||||
<context context-type="linenumber">31</context>
|
<context context-type="linenumber">34</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="8705701325879965907">
|
<trans-unit datatype="html" id="8705701325879965907">
|
||||||
@ -1199,7 +1223,7 @@
|
|||||||
<target>Type : <x equiv-text="this.documentTypes.find(dt => dt.id == +rule.value)?.name" id="PH"/></target>
|
<target>Type : <x equiv-text="this.documentTypes.find(dt => dt.id == +rule.value)?.name" id="PH"/></target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
||||||
<context context-type="linenumber">36</context>
|
<context context-type="linenumber">39</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="4362173610367509215">
|
<trans-unit datatype="html" id="4362173610367509215">
|
||||||
@ -1207,7 +1231,7 @@
|
|||||||
<target>Sans type de document</target>
|
<target>Sans type de document</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
||||||
<context context-type="linenumber">38</context>
|
<context context-type="linenumber">41</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="8180755793012580465">
|
<trans-unit datatype="html" id="8180755793012580465">
|
||||||
@ -1215,7 +1239,7 @@
|
|||||||
<target>Étiquette : <x equiv-text="this.tags.find(t => t.id == +rule.value)?.name" id="PH"/></target>
|
<target>Étiquette : <x equiv-text="this.tags.find(t => t.id == +rule.value)?.name" id="PH"/></target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
<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">45</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="6494566478302448576">
|
<trans-unit datatype="html" id="6494566478302448576">
|
||||||
@ -1223,7 +1247,7 @@
|
|||||||
<target>Sans étiquette</target>
|
<target>Sans étiquette</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
<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">49</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="6523384805359286307">
|
<trans-unit datatype="html" id="6523384805359286307">
|
||||||
@ -1231,7 +1255,7 @@
|
|||||||
<target>Titre : <x equiv-text="rule.value" id="PH"/></target>
|
<target>Titre : <x equiv-text="rule.value" id="PH"/></target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
<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">53</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="02d184c288f567825a1fcbf83bcd3099a10853d5">
|
<trans-unit datatype="html" id="02d184c288f567825a1fcbf83bcd3099a10853d5">
|
||||||
@ -1239,7 +1263,7 @@
|
|||||||
<target>Filtrer les étiquettes</target>
|
<target>Filtrer les étiquettes</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
||||||
<context context-type="linenumber">12</context>
|
<context context-type="linenumber">20</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="4b089ca12c472cf0b46167bb5afe4b527b301bbc">
|
<trans-unit datatype="html" id="4b089ca12c472cf0b46167bb5afe4b527b301bbc">
|
||||||
@ -1247,7 +1271,7 @@
|
|||||||
<target>Filtrer les correspondants</target>
|
<target>Filtrer les correspondants</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
||||||
<context context-type="linenumber">20</context>
|
<context context-type="linenumber">28</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="0ad509732aaf702b7ea8c771c7809fa84bc85908">
|
<trans-unit datatype="html" id="0ad509732aaf702b7ea8c771c7809fa84bc85908">
|
||||||
@ -1255,7 +1279,7 @@
|
|||||||
<target>Filtrer les types de documents</target>
|
<target>Filtrer les types de documents</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
||||||
<context context-type="linenumber">27</context>
|
<context context-type="linenumber">35</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="2d9d55f1b70142ff4597ba32179d16888fd9c6b2">
|
<trans-unit datatype="html" id="2d9d55f1b70142ff4597ba32179d16888fd9c6b2">
|
||||||
@ -1263,7 +1287,7 @@
|
|||||||
<target>Réinitialiser les filtres</target>
|
<target>Réinitialiser les filtres</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
||||||
<context context-type="linenumber">50</context>
|
<context context-type="linenumber">58</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="7593728289020204896">
|
<trans-unit datatype="html" id="7593728289020204896">
|
||||||
@ -1288,7 +1312,7 @@
|
|||||||
<target>Les 7 derniers jours</target>
|
<target>Les 7 derniers jours</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
||||||
<context context-type="linenumber">24</context>
|
<context context-type="linenumber">34</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="4463380307954693363">
|
<trans-unit datatype="html" id="4463380307954693363">
|
||||||
@ -1296,7 +1320,7 @@
|
|||||||
<target>Le mois dernier</target>
|
<target>Le mois dernier</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
||||||
<context context-type="linenumber">25</context>
|
<context context-type="linenumber">35</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="8697368973702409683">
|
<trans-unit datatype="html" id="8697368973702409683">
|
||||||
@ -1304,7 +1328,7 @@
|
|||||||
<target>Les 3 derniers mois</target>
|
<target>Les 3 derniers mois</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
||||||
<context context-type="linenumber">26</context>
|
<context context-type="linenumber">36</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="3566342898065860218">
|
<trans-unit datatype="html" id="3566342898065860218">
|
||||||
@ -1312,7 +1336,7 @@
|
|||||||
<target>L'année passée</target>
|
<target>L'année passée</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
||||||
<context context-type="linenumber">27</context>
|
<context context-type="linenumber">37</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="be2add3a3d9e4e2556b8f9048a15a9c0f00bf1ad">
|
<trans-unit datatype="html" id="be2add3a3d9e4e2556b8f9048a15a9c0f00bf1ad">
|
||||||
@ -1328,7 +1352,7 @@
|
|||||||
<target>Avant</target>
|
<target>Avant</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.html</context>
|
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.html</context>
|
||||||
<context context-type="linenumber">29</context>
|
<context context-type="linenumber">38</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46">
|
<trans-unit datatype="html" id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46">
|
||||||
@ -1829,7 +1853,7 @@
|
|||||||
<target>Date incorrecte.</target>
|
<target>Date incorrecte.</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/input/date/date.component.html</context>
|
<context context-type="sourcefile">src/app/components/common/input/date/date.component.html</context>
|
||||||
<context context-type="linenumber">13</context>
|
<context context-type="linenumber">14</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="2807800733729323332">
|
<trans-unit datatype="html" id="2807800733729323332">
|
||||||
@ -1861,7 +1885,7 @@
|
|||||||
<target>Anglais (US)</target>
|
<target>Anglais (US)</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">88</context>
|
<context context-type="linenumber">90</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="6987083569809053351">
|
<trans-unit datatype="html" id="6987083569809053351">
|
||||||
@ -1869,7 +1893,7 @@
|
|||||||
<target>Anglais (GB)</target>
|
<target>Anglais (GB)</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">89</context>
|
<context context-type="linenumber">91</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="1858110241312746425">
|
<trans-unit datatype="html" id="1858110241312746425">
|
||||||
@ -1877,7 +1901,7 @@
|
|||||||
<target>Allemand</target>
|
<target>Allemand</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">90</context>
|
<context context-type="linenumber">92</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="3071065188816255493">
|
<trans-unit datatype="html" id="3071065188816255493">
|
||||||
@ -1885,7 +1909,7 @@
|
|||||||
<target>Néerlandais</target>
|
<target>Néerlandais</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">91</context>
|
<context context-type="linenumber">93</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="7633754075223722162">
|
<trans-unit datatype="html" id="7633754075223722162">
|
||||||
@ -1893,7 +1917,7 @@
|
|||||||
<target>Français</target>
|
<target>Français</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">92</context>
|
<context context-type="linenumber">94</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="9184513005098760425">
|
<trans-unit datatype="html" id="9184513005098760425">
|
||||||
@ -1901,7 +1925,23 @@
|
|||||||
<target>Portugais (Brésil)</target>
|
<target>Portugais (Brésil)</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">93</context>
|
<context context-type="linenumber">95</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit datatype="html" id="2935232983274991580">
|
||||||
|
<source>Italian</source>
|
||||||
|
<target>Italien</target>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
|
<context context-type="linenumber">96</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit datatype="html" id="8118856427047826368">
|
||||||
|
<source>Romanian</source>
|
||||||
|
<target>Roumain</target>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
|
<context context-type="linenumber">97</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="4912706592792948707">
|
<trans-unit datatype="html" id="4912706592792948707">
|
||||||
@ -1909,7 +1949,7 @@
|
|||||||
<target>ISO 8601</target>
|
<target>ISO 8601</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">98</context>
|
<context context-type="linenumber">102</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="2119857572761283468">
|
<trans-unit datatype="html" id="2119857572761283468">
|
||||||
@ -2052,14 +2092,6 @@
|
|||||||
<context context-type="linenumber">18</context>
|
<context context-type="linenumber">18</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="5701618810648052610">
|
|
||||||
<source>Title</source>
|
|
||||||
<target>Titre</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/services/rest/document.service.ts</context>
|
|
||||||
<context context-type="linenumber">19</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="5066119607229701477">
|
<trans-unit datatype="html" id="5066119607229701477">
|
||||||
<source>Document type</source>
|
<source>Document type</source>
|
||||||
<target>Type de document</target>
|
<target>Type de document</target>
|
||||||
@ -2092,110 +2124,6 @@
|
|||||||
<context context-type="linenumber">23</context>
|
<context context-type="linenumber">23</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="2056433880533904076">
|
|
||||||
<source>Light blue</source>
|
|
||||||
<target>Bleu clair</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">6</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="4082253113407591781">
|
|
||||||
<source>Blue</source>
|
|
||||||
<target>Bleu</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">7</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="1143414876575720034">
|
|
||||||
<source>Light green</source>
|
|
||||||
<target>Vert clair</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">8</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="119581980963263815">
|
|
||||||
<source>Green</source>
|
|
||||||
<target>Vert</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">9</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="3250646524116252719">
|
|
||||||
<source>Light red</source>
|
|
||||||
<target>Rouge clair</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">10</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="1628552745302385832">
|
|
||||||
<source>Red </source>
|
|
||||||
<target>Rouge</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">11</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="5479028842846122610">
|
|
||||||
<source>Light orange</source>
|
|
||||||
<target>Orange clair</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">12</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="8598918991528773310">
|
|
||||||
<source>Orange</source>
|
|
||||||
<target>Orange</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">13</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="1789283185177957430">
|
|
||||||
<source>Light violet</source>
|
|
||||||
<target>Violet clair</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">14</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="2682868487071320453">
|
|
||||||
<source>Violet</source>
|
|
||||||
<target>Violet</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">15</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="1449010446077321264">
|
|
||||||
<source>Brown</source>
|
|
||||||
<target>Brun</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">16</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="30300572504753589">
|
|
||||||
<source>Black</source>
|
|
||||||
<target>Noir</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">17</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="461048771215121187">
|
|
||||||
<source>Light grey</source>
|
|
||||||
<target>Gris clair</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">18</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="4561076822163447092">
|
<trans-unit datatype="html" id="4561076822163447092">
|
||||||
<source>Create new item</source>
|
<source>Create new item</source>
|
||||||
<target>Créer un nouvel élément</target>
|
<target>Créer un nouvel élément</target>
|
||||||
|
2281
src-ui/src/locale/messages.it.xlf
Normal file
2281
src-ui/src/locale/messages.it.xlf
Normal file
File diff suppressed because it is too large
Load Diff
@ -478,7 +478,7 @@
|
|||||||
<target>Wil je het etiket echt verwijderen "<x equiv-text="object.name" id="PH"/>"?</target>
|
<target>Wil je het etiket echt verwijderen "<x equiv-text="object.name" id="PH"/>"?</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-list.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-list.component.ts</context>
|
||||||
<context context-type="linenumber">30</context>
|
<context context-type="linenumber">26</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="cafc87479686947e2590b9f588a88040aeaf660b">
|
<trans-unit datatype="html" id="cafc87479686947e2590b9f588a88040aeaf660b">
|
||||||
@ -606,7 +606,7 @@
|
|||||||
<target>Gebruik de systeemtaal</target>
|
<target>Gebruik de systeemtaal</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">91</context>
|
<context context-type="linenumber">92</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="7729897675462249787">
|
<trans-unit datatype="html" id="7729897675462249787">
|
||||||
@ -614,15 +614,7 @@
|
|||||||
<target>Datumopmaak van weergavetaal gebruiken</target>
|
<target>Datumopmaak van weergavetaal gebruiken</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">96</context>
|
<context context-type="linenumber">98</context>
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="4912706592792948707">
|
|
||||||
<source>ISO 8601</source>
|
|
||||||
<target>ISO 8601</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
|
||||||
<context context-type="linenumber">97</context>
|
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="8488620293789898901">
|
<trans-unit datatype="html" id="8488620293789898901">
|
||||||
@ -630,7 +622,7 @@
|
|||||||
<target>Fout bij het opslaan van de instellingen: <x equiv-text="JSON.stringify(error.error)" id="PH"/></target>
|
<target>Fout bij het opslaan van de instellingen: <x equiv-text="JSON.stringify(error.error)" id="PH"/></target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">114</context>
|
<context context-type="linenumber">115</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="121cc5391cd2a5115bc2b3160379ee5b36cd7716">
|
<trans-unit datatype="html" id="121cc5391cd2a5115bc2b3160379ee5b36cd7716">
|
||||||
@ -998,7 +990,7 @@
|
|||||||
<target>Nieuw etiket maken</target>
|
<target>Nieuw etiket maken</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.ts</context>
|
||||||
<context context-type="linenumber">21</context>
|
<context context-type="linenumber">22</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="5872175735754226507">
|
<trans-unit datatype="html" id="5872175735754226507">
|
||||||
@ -1006,7 +998,7 @@
|
|||||||
<target>Etiket bewerken</target>
|
<target>Etiket bewerken</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.ts</context>
|
||||||
<context context-type="linenumber">25</context>
|
<context context-type="linenumber">26</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="f2a30b4e1a89a8a0db0bd147b54d6626b9a9bc42">
|
<trans-unit datatype="html" id="f2a30b4e1a89a8a0db0bd147b54d6626b9a9bc42">
|
||||||
@ -1014,7 +1006,7 @@
|
|||||||
<target>"Postvak in"-etiket</target>
|
<target>"Postvak in"-etiket</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.html</context>
|
||||||
<context context-type="linenumber">21</context>
|
<context context-type="linenumber">13</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="5e2f1a4ea12a1b8606ee3f0548d0ba64bf266077">
|
<trans-unit datatype="html" id="5e2f1a4ea12a1b8606ee3f0548d0ba64bf266077">
|
||||||
@ -1022,7 +1014,7 @@
|
|||||||
<target>"Postvak in"-etiketten worden automatisch toegewezen aan alle verwerkte documenten."</target>
|
<target>"Postvak in"-etiketten worden automatisch toegewezen aan alle verwerkte documenten."</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.html</context>
|
||||||
<context context-type="linenumber">21</context>
|
<context context-type="linenumber">13</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="6672809941092516947">
|
<trans-unit datatype="html" id="6672809941092516947">
|
||||||
@ -1296,7 +1288,7 @@
|
|||||||
<target>Afgelopen 7 dagen</target>
|
<target>Afgelopen 7 dagen</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
||||||
<context context-type="linenumber">24</context>
|
<context context-type="linenumber">34</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="4463380307954693363">
|
<trans-unit datatype="html" id="4463380307954693363">
|
||||||
@ -1304,7 +1296,7 @@
|
|||||||
<target>Afgelopen maand</target>
|
<target>Afgelopen maand</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
||||||
<context context-type="linenumber">25</context>
|
<context context-type="linenumber">35</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="8697368973702409683">
|
<trans-unit datatype="html" id="8697368973702409683">
|
||||||
@ -1312,7 +1304,7 @@
|
|||||||
<target>Afgelopen 3 maanden</target>
|
<target>Afgelopen 3 maanden</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
||||||
<context context-type="linenumber">26</context>
|
<context context-type="linenumber">36</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="3566342898065860218">
|
<trans-unit datatype="html" id="3566342898065860218">
|
||||||
@ -1320,7 +1312,7 @@
|
|||||||
<target>Afgelopen jaar</target>
|
<target>Afgelopen jaar</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
||||||
<context context-type="linenumber">27</context>
|
<context context-type="linenumber">37</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="be2add3a3d9e4e2556b8f9048a15a9c0f00bf1ad">
|
<trans-unit datatype="html" id="be2add3a3d9e4e2556b8f9048a15a9c0f00bf1ad">
|
||||||
@ -1336,7 +1328,7 @@
|
|||||||
<target>Voor</target>
|
<target>Voor</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.html</context>
|
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.html</context>
|
||||||
<context context-type="linenumber">29</context>
|
<context context-type="linenumber">38</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46">
|
<trans-unit datatype="html" id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46">
|
||||||
@ -1832,6 +1824,14 @@
|
|||||||
<context context-type="linenumber">21</context>
|
<context context-type="linenumber">21</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit datatype="html" id="d6529debfc1613db22d6fa096ebfeb8a85fa739d">
|
||||||
|
<source>Invalid date.</source>
|
||||||
|
<target>Ongeldige datum.</target>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/components/common/input/date/date.component.html</context>
|
||||||
|
<context context-type="linenumber">14</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="2807800733729323332">
|
<trans-unit datatype="html" id="2807800733729323332">
|
||||||
<source>Yes</source>
|
<source>Yes</source>
|
||||||
<target>Ja</target>
|
<target>Ja</target>
|
||||||
@ -1861,7 +1861,7 @@
|
|||||||
<target>Engels (US)</target>
|
<target>Engels (US)</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">82</context>
|
<context context-type="linenumber">88</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="6987083569809053351">
|
<trans-unit datatype="html" id="6987083569809053351">
|
||||||
@ -1869,7 +1869,7 @@
|
|||||||
<target>Engels (Brits)</target>
|
<target>Engels (Brits)</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">83</context>
|
<context context-type="linenumber">89</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="1858110241312746425">
|
<trans-unit datatype="html" id="1858110241312746425">
|
||||||
@ -1877,7 +1877,7 @@
|
|||||||
<target>Duits</target>
|
<target>Duits</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">84</context>
|
<context context-type="linenumber">90</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="3071065188816255493">
|
<trans-unit datatype="html" id="3071065188816255493">
|
||||||
@ -1885,7 +1885,7 @@
|
|||||||
<target>Nederlands</target>
|
<target>Nederlands</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">85</context>
|
<context context-type="linenumber">91</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="7633754075223722162">
|
<trans-unit datatype="html" id="7633754075223722162">
|
||||||
@ -1893,7 +1893,31 @@
|
|||||||
<target>Frans</target>
|
<target>Frans</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">86</context>
|
<context context-type="linenumber">92</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit datatype="html" id="9184513005098760425">
|
||||||
|
<source>Portuguese (Brazil)</source>
|
||||||
|
<target>Portugees (Brazilië)</target>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
|
<context context-type="linenumber">93</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit datatype="html" id="2935232983274991580">
|
||||||
|
<source>Italian</source>
|
||||||
|
<target>Italiaans</target>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
|
<context context-type="linenumber">94</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit datatype="html" id="4912706592792948707">
|
||||||
|
<source>ISO 8601</source>
|
||||||
|
<target>ISO 8601</target>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
|
<context context-type="linenumber">99</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="2119857572761283468">
|
<trans-unit datatype="html" id="2119857572761283468">
|
||||||
@ -2076,110 +2100,6 @@
|
|||||||
<context context-type="linenumber">23</context>
|
<context context-type="linenumber">23</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="2056433880533904076">
|
|
||||||
<source>Light blue</source>
|
|
||||||
<target>Licht blauw</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">6</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="4082253113407591781">
|
|
||||||
<source>Blue</source>
|
|
||||||
<target>Blauw</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">7</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="1143414876575720034">
|
|
||||||
<source>Light green</source>
|
|
||||||
<target>Licht groen</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">8</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="119581980963263815">
|
|
||||||
<source>Green</source>
|
|
||||||
<target>Groen</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">9</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="3250646524116252719">
|
|
||||||
<source>Light red</source>
|
|
||||||
<target>Licht rood</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">10</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="1628552745302385832">
|
|
||||||
<source>Red </source>
|
|
||||||
<target>Rood</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">11</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="5479028842846122610">
|
|
||||||
<source>Light orange</source>
|
|
||||||
<target>Licht oranje</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">12</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="8598918991528773310">
|
|
||||||
<source>Orange</source>
|
|
||||||
<target>Oranje</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">13</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="1789283185177957430">
|
|
||||||
<source>Light violet</source>
|
|
||||||
<target>Licht paars</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">14</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="2682868487071320453">
|
|
||||||
<source>Violet</source>
|
|
||||||
<target>Paars</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">15</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="1449010446077321264">
|
|
||||||
<source>Brown</source>
|
|
||||||
<target>Bruin</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">16</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="30300572504753589">
|
|
||||||
<source>Black</source>
|
|
||||||
<target>Zwart</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">17</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="461048771215121187">
|
|
||||||
<source>Light grey</source>
|
|
||||||
<target>Licht grijs</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">18</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="4561076822163447092">
|
<trans-unit datatype="html" id="4561076822163447092">
|
||||||
<source>Create new item</source>
|
<source>Create new item</source>
|
||||||
<target>Maak nieuw item</target>
|
<target>Maak nieuw item</target>
|
||||||
|
@ -478,7 +478,7 @@
|
|||||||
<target>Você realmente deseja excluir a etiqueta "<x equiv-text="object.name" id="PH"/>"?</target>
|
<target>Você realmente deseja excluir a etiqueta "<x equiv-text="object.name" id="PH"/>"?</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-list.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-list.component.ts</context>
|
||||||
<context context-type="linenumber">30</context>
|
<context context-type="linenumber">26</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="cafc87479686947e2590b9f588a88040aeaf660b">
|
<trans-unit datatype="html" id="cafc87479686947e2590b9f588a88040aeaf660b">
|
||||||
@ -590,7 +590,7 @@
|
|||||||
<target>Visualização "<x equiv-text="savedView.name" id="PH"/>" excluída.</target>
|
<target>Visualização "<x equiv-text="savedView.name" id="PH"/>" excluída.</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">67</context>
|
<context context-type="linenumber">68</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="5647210819299459618">
|
<trans-unit datatype="html" id="5647210819299459618">
|
||||||
@ -598,7 +598,7 @@
|
|||||||
<target>Configurações salvas com sucesso.</target>
|
<target>Configurações salvas com sucesso.</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">87</context>
|
<context context-type="linenumber">89</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="6839066544204061364">
|
<trans-unit datatype="html" id="6839066544204061364">
|
||||||
@ -606,7 +606,7 @@
|
|||||||
<target>Usar linguagem do sistema</target>
|
<target>Usar linguagem do sistema</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">92</context>
|
<context context-type="linenumber">94</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="7729897675462249787">
|
<trans-unit datatype="html" id="7729897675462249787">
|
||||||
@ -614,7 +614,7 @@
|
|||||||
<target>Usar formato de data da linguagem de exibição</target>
|
<target>Usar formato de data da linguagem de exibição</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">98</context>
|
<context context-type="linenumber">100</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="8488620293789898901">
|
<trans-unit datatype="html" id="8488620293789898901">
|
||||||
@ -622,7 +622,7 @@
|
|||||||
<target>Erro ao salvar configurações: <x equiv-text="JSON.stringify(error.error)" id="PH"/></target>
|
<target>Erro ao salvar configurações: <x equiv-text="JSON.stringify(error.error)" id="PH"/></target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context>
|
||||||
<context context-type="linenumber">115</context>
|
<context context-type="linenumber">117</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="121cc5391cd2a5115bc2b3160379ee5b36cd7716">
|
<trans-unit datatype="html" id="121cc5391cd2a5115bc2b3160379ee5b36cd7716">
|
||||||
@ -646,7 +646,7 @@
|
|||||||
<target>Notificações</target>
|
<target>Notificações</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">115</context>
|
<context context-type="linenumber">116</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="99dee94e92dbd9e21a008d4569f9719ed206ae37">
|
<trans-unit datatype="html" id="99dee94e92dbd9e21a008d4569f9719ed206ae37">
|
||||||
@ -654,7 +654,7 @@
|
|||||||
<target>Visualizações</target>
|
<target>Visualizações</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">133</context>
|
<context context-type="linenumber">134</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="bbe41ac2ea4a6c00ea941a41b33105048f8e9f13">
|
<trans-unit datatype="html" id="bbe41ac2ea4a6c00ea941a41b33105048f8e9f13">
|
||||||
@ -777,12 +777,20 @@
|
|||||||
<context context-type="linenumber">98</context>
|
<context context-type="linenumber">98</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit datatype="html" id="71bad20b37410c8972c9aa0f7c62996534b84339">
|
||||||
|
<source>Invert thumbnails in dark mode</source>
|
||||||
|
<target>Inverter imagens em modo noturno</target>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
|
<context context-type="linenumber">99</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="3863a86cd9e69a61d143d3daf51df44203df4a82">
|
<trans-unit datatype="html" id="3863a86cd9e69a61d143d3daf51df44203df4a82">
|
||||||
<source>Bulk editing</source>
|
<source>Bulk editing</source>
|
||||||
<target>Edição em massa</target>
|
<target>Edição em massa</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">102</context>
|
<context context-type="linenumber">103</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="c0ac61661c6c326d6e0e00c231b95cf2ac0c6586">
|
<trans-unit datatype="html" id="c0ac61661c6c326d6e0e00c231b95cf2ac0c6586">
|
||||||
@ -790,7 +798,7 @@
|
|||||||
<target>Mostrar janelas de confirmação</target>
|
<target>Mostrar janelas de confirmação</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">106</context>
|
<context context-type="linenumber">107</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="291bbe56ecbe945dcf05580a57d679fa7bd1e06a">
|
<trans-unit datatype="html" id="291bbe56ecbe945dcf05580a57d679fa7bd1e06a">
|
||||||
@ -798,7 +806,7 @@
|
|||||||
<target>Ao excluir um documento, sempre será pedido uma confirmação.</target>
|
<target>Ao excluir um documento, sempre será pedido uma confirmação.</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">106</context>
|
<context context-type="linenumber">107</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="8cfddc13e04f5545ac63f419ef363505d6f78c2e">
|
<trans-unit datatype="html" id="8cfddc13e04f5545ac63f419ef363505d6f78c2e">
|
||||||
@ -806,7 +814,7 @@
|
|||||||
<target>Aplicar ao fechar</target>
|
<target>Aplicar ao fechar</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">107</context>
|
<context context-type="linenumber">108</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="8680abbea249ebe9c2fe35556559c8e1a9eb5841">
|
<trans-unit datatype="html" id="8680abbea249ebe9c2fe35556559c8e1a9eb5841">
|
||||||
@ -814,7 +822,7 @@
|
|||||||
<target>Processamento de documentos</target>
|
<target>Processamento de documentos</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">118</context>
|
<context context-type="linenumber">119</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="2ad4d76b36341c589d94004ad2a213fd4d6f5ca0">
|
<trans-unit datatype="html" id="2ad4d76b36341c589d94004ad2a213fd4d6f5ca0">
|
||||||
@ -822,7 +830,7 @@
|
|||||||
<target>Exibir notificações quando novos documentos forem detectados</target>
|
<target>Exibir notificações quando novos documentos forem detectados</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">122</context>
|
<context context-type="linenumber">123</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="e775f4f7c40249d31426ae61a21616a0c9d8e84f">
|
<trans-unit datatype="html" id="e775f4f7c40249d31426ae61a21616a0c9d8e84f">
|
||||||
@ -830,7 +838,7 @@
|
|||||||
<target>Exibir notificações quando o processamento de um documento concluir com sucesso</target>
|
<target>Exibir notificações quando o processamento de um documento concluir com sucesso</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">123</context>
|
<context context-type="linenumber">124</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="e3844dd174d8e817ddb551fae28f14ae80ca36b6">
|
<trans-unit datatype="html" id="e3844dd174d8e817ddb551fae28f14ae80ca36b6">
|
||||||
@ -838,7 +846,7 @@
|
|||||||
<target>Exibir notificações quando o processamento de um documento falhar</target>
|
<target>Exibir notificações quando o processamento de um documento falhar</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">124</context>
|
<context context-type="linenumber">125</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="af113f7c9f7e13145c3461f61a1aedf12d57bd71">
|
<trans-unit datatype="html" id="af113f7c9f7e13145c3461f61a1aedf12d57bd71">
|
||||||
@ -846,7 +854,7 @@
|
|||||||
<target>Não exibir notificações no painel de controle</target>
|
<target>Não exibir notificações no painel de controle</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">125</context>
|
<context context-type="linenumber">126</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="e27bd3804d2936a6897e81c2e52e294490e5e5a8">
|
<trans-unit datatype="html" id="e27bd3804d2936a6897e81c2e52e294490e5e5a8">
|
||||||
@ -854,7 +862,7 @@
|
|||||||
<target>Isso esconderá todas as mensagens sobre o status de processamento de documentos no painel de controle.</target>
|
<target>Isso esconderá todas as mensagens sobre o status de processamento de documentos no painel de controle.</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">125</context>
|
<context context-type="linenumber">126</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="8cb90334f5dfd7fc67205085f59381e2a334ccfc">
|
<trans-unit datatype="html" id="8cb90334f5dfd7fc67205085f59381e2a334ccfc">
|
||||||
@ -862,7 +870,7 @@
|
|||||||
<target>Aparece em</target>
|
<target>Aparece em</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">145</context>
|
<context context-type="linenumber">146</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="6717cf1acf04728fc2b7c39f6d3297f8ff15fde5">
|
<trans-unit datatype="html" id="6717cf1acf04728fc2b7c39f6d3297f8ff15fde5">
|
||||||
@ -870,7 +878,7 @@
|
|||||||
<target>Exibir no painel de controle</target>
|
<target>Exibir no painel de controle</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">148</context>
|
<context context-type="linenumber">149</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="541bfc5b123b3f8867fd681eaceefb663a811973">
|
<trans-unit datatype="html" id="541bfc5b123b3f8867fd681eaceefb663a811973">
|
||||||
@ -878,7 +886,7 @@
|
|||||||
<target>Mostrar na navegação lateral</target>
|
<target>Mostrar na navegação lateral</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">152</context>
|
<context context-type="linenumber">153</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="abba764a7a595d04dc8c3b26e04b3780d4fdb540">
|
<trans-unit datatype="html" id="abba764a7a595d04dc8c3b26e04b3780d4fdb540">
|
||||||
@ -886,7 +894,7 @@
|
|||||||
<target>Nenhuma visualização definida.</target>
|
<target>Nenhuma visualização definida.</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context>
|
||||||
<context context-type="linenumber">162</context>
|
<context context-type="linenumber">163</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="ef60a738a565f498b858e903e42bc5ffc3cc1299">
|
<trans-unit datatype="html" id="ef60a738a565f498b858e903e42bc5ffc3cc1299">
|
||||||
@ -990,7 +998,7 @@
|
|||||||
<target>Criar nova etiqueta</target>
|
<target>Criar nova etiqueta</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.ts</context>
|
||||||
<context context-type="linenumber">21</context>
|
<context context-type="linenumber">22</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="5872175735754226507">
|
<trans-unit datatype="html" id="5872175735754226507">
|
||||||
@ -998,7 +1006,7 @@
|
|||||||
<target>Editar etiqueta</target>
|
<target>Editar etiqueta</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.ts</context>
|
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.ts</context>
|
||||||
<context context-type="linenumber">25</context>
|
<context context-type="linenumber">26</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="f2a30b4e1a89a8a0db0bd147b54d6626b9a9bc42">
|
<trans-unit datatype="html" id="f2a30b4e1a89a8a0db0bd147b54d6626b9a9bc42">
|
||||||
@ -1006,7 +1014,7 @@
|
|||||||
<target>Etiqueta caixa de entrada</target>
|
<target>Etiqueta caixa de entrada</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.html</context>
|
||||||
<context context-type="linenumber">21</context>
|
<context context-type="linenumber">13</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="5e2f1a4ea12a1b8606ee3f0548d0ba64bf266077">
|
<trans-unit datatype="html" id="5e2f1a4ea12a1b8606ee3f0548d0ba64bf266077">
|
||||||
@ -1014,7 +1022,7 @@
|
|||||||
<target>Etiquetas de caixa de entrada são atribuídas automaticamente para todos os documentos consumidos.</target>
|
<target>Etiquetas de caixa de entrada são atribuídas automaticamente para todos os documentos consumidos.</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.html</context>
|
<context context-type="sourcefile">src/app/components/manage/tag-list/tag-edit-dialog/tag-edit-dialog.component.html</context>
|
||||||
<context context-type="linenumber">21</context>
|
<context context-type="linenumber">13</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="6672809941092516947">
|
<trans-unit datatype="html" id="6672809941092516947">
|
||||||
@ -1111,7 +1119,7 @@
|
|||||||
<target>Gerenciar</target>
|
<target>Gerenciar</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
||||||
<context context-type="linenumber">107</context>
|
<context context-type="linenumber">112</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="408cb6073e60c5d966296a3207fc596adca75e01">
|
<trans-unit datatype="html" id="408cb6073e60c5d966296a3207fc596adca75e01">
|
||||||
@ -1119,7 +1127,7 @@
|
|||||||
<target>Admin</target>
|
<target>Admin</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
||||||
<context context-type="linenumber">149</context>
|
<context context-type="linenumber">154</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="321e4419a943044e674beb55b8039f42a9761ca5">
|
<trans-unit datatype="html" id="321e4419a943044e674beb55b8039f42a9761ca5">
|
||||||
@ -1127,7 +1135,7 @@
|
|||||||
<target>Informação</target>
|
<target>Informação</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
||||||
<context context-type="linenumber">155</context>
|
<context context-type="linenumber">160</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7">
|
<trans-unit datatype="html" id="fcfd4675b4c90f08d18d3abede9a9a4dff4cfdc7">
|
||||||
@ -1135,7 +1143,7 @@
|
|||||||
<target>Documentação</target>
|
<target>Documentação</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
||||||
<context context-type="linenumber">162</context>
|
<context context-type="linenumber">167</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="355a222236bc01b9a8cd3cb9ecf76891125aed69">
|
<trans-unit datatype="html" id="355a222236bc01b9a8cd3cb9ecf76891125aed69">
|
||||||
@ -1143,7 +1151,7 @@
|
|||||||
<target>GitHub</target>
|
<target>GitHub</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
||||||
<context context-type="linenumber">170</context>
|
<context context-type="linenumber">175</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="ea3a452c5238897cabc5781308cceb2d37dcf258">
|
<trans-unit datatype="html" id="ea3a452c5238897cabc5781308cceb2d37dcf258">
|
||||||
@ -1151,7 +1159,7 @@
|
|||||||
<target>Sugerir uma idéia</target>
|
<target>Sugerir uma idéia</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
||||||
<context context-type="linenumber">176</context>
|
<context context-type="linenumber">181</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="af665f8de8fabe306aaf27443957e69bcbbce63c">
|
<trans-unit datatype="html" id="af665f8de8fabe306aaf27443957e69bcbbce63c">
|
||||||
@ -1175,7 +1183,23 @@
|
|||||||
<target>Fechar todos</target>
|
<target>Fechar todos</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
||||||
<context context-type="linenumber">101</context>
|
<context context-type="linenumber">106</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit datatype="html" id="5701618810648052610">
|
||||||
|
<source>Title</source>
|
||||||
|
<target>Título</target>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
||||||
|
<context context-type="linenumber">73</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit datatype="html" id="3100631071441658964">
|
||||||
|
<source>Title & content</source>
|
||||||
|
<target>Título & conteúdo</target>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
||||||
|
<context context-type="linenumber">74</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="5195932016807797291">
|
<trans-unit datatype="html" id="5195932016807797291">
|
||||||
@ -1183,7 +1207,7 @@
|
|||||||
<target>Correspondente: <x equiv-text="this.correspondents.find(c => c.id == +rule.value)?.name" id="PH"/></target>
|
<target>Correspondente: <x equiv-text="this.correspondents.find(c => c.id == +rule.value)?.name" id="PH"/></target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
||||||
<context context-type="linenumber">29</context>
|
<context context-type="linenumber">32</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="8170755470576301659">
|
<trans-unit datatype="html" id="8170755470576301659">
|
||||||
@ -1191,7 +1215,7 @@
|
|||||||
<target>Sem correspondente</target>
|
<target>Sem correspondente</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
||||||
<context context-type="linenumber">31</context>
|
<context context-type="linenumber">34</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="8705701325879965907">
|
<trans-unit datatype="html" id="8705701325879965907">
|
||||||
@ -1199,7 +1223,7 @@
|
|||||||
<target>Tipo: <x equiv-text="this.documentTypes.find(dt => dt.id == +rule.value)?.name" id="PH"/></target>
|
<target>Tipo: <x equiv-text="this.documentTypes.find(dt => dt.id == +rule.value)?.name" id="PH"/></target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
||||||
<context context-type="linenumber">36</context>
|
<context context-type="linenumber">39</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="4362173610367509215">
|
<trans-unit datatype="html" id="4362173610367509215">
|
||||||
@ -1207,7 +1231,7 @@
|
|||||||
<target>Sem tipo de documento</target>
|
<target>Sem tipo de documento</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
||||||
<context context-type="linenumber">38</context>
|
<context context-type="linenumber">41</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="8180755793012580465">
|
<trans-unit datatype="html" id="8180755793012580465">
|
||||||
@ -1215,7 +1239,7 @@
|
|||||||
<target>Etiqueta: <x equiv-text="this.tags.find(t => t.id == +rule.value)?.name" id="PH"/></target>
|
<target>Etiqueta: <x equiv-text="this.tags.find(t => t.id == +rule.value)?.name" id="PH"/></target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
<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">45</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="6494566478302448576">
|
<trans-unit datatype="html" id="6494566478302448576">
|
||||||
@ -1223,7 +1247,7 @@
|
|||||||
<target>Sem etiquetas</target>
|
<target>Sem etiquetas</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
<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">49</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="6523384805359286307">
|
<trans-unit datatype="html" id="6523384805359286307">
|
||||||
@ -1231,7 +1255,7 @@
|
|||||||
<target>Título: <x equiv-text="rule.value" id="PH"/></target>
|
<target>Título: <x equiv-text="rule.value" id="PH"/></target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.ts</context>
|
<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">53</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="02d184c288f567825a1fcbf83bcd3099a10853d5">
|
<trans-unit datatype="html" id="02d184c288f567825a1fcbf83bcd3099a10853d5">
|
||||||
@ -1239,7 +1263,7 @@
|
|||||||
<target>Filtrar etiquetas</target>
|
<target>Filtrar etiquetas</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
||||||
<context context-type="linenumber">12</context>
|
<context context-type="linenumber">20</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="4b089ca12c472cf0b46167bb5afe4b527b301bbc">
|
<trans-unit datatype="html" id="4b089ca12c472cf0b46167bb5afe4b527b301bbc">
|
||||||
@ -1247,7 +1271,7 @@
|
|||||||
<target>Filtrar correspondentes</target>
|
<target>Filtrar correspondentes</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
||||||
<context context-type="linenumber">20</context>
|
<context context-type="linenumber">28</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="0ad509732aaf702b7ea8c771c7809fa84bc85908">
|
<trans-unit datatype="html" id="0ad509732aaf702b7ea8c771c7809fa84bc85908">
|
||||||
@ -1255,7 +1279,7 @@
|
|||||||
<target>Filtrar tipos de documento</target>
|
<target>Filtrar tipos de documento</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
||||||
<context context-type="linenumber">27</context>
|
<context context-type="linenumber">35</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="2d9d55f1b70142ff4597ba32179d16888fd9c6b2">
|
<trans-unit datatype="html" id="2d9d55f1b70142ff4597ba32179d16888fd9c6b2">
|
||||||
@ -1263,7 +1287,7 @@
|
|||||||
<target>Limpar filtros</target>
|
<target>Limpar filtros</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
<context context-type="sourcefile">src/app/components/document-list/filter-editor/filter-editor.component.html</context>
|
||||||
<context context-type="linenumber">50</context>
|
<context context-type="linenumber">58</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="7593728289020204896">
|
<trans-unit datatype="html" id="7593728289020204896">
|
||||||
@ -1288,7 +1312,7 @@
|
|||||||
<target>Últimos 7 dias</target>
|
<target>Últimos 7 dias</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
||||||
<context context-type="linenumber">24</context>
|
<context context-type="linenumber">34</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="4463380307954693363">
|
<trans-unit datatype="html" id="4463380307954693363">
|
||||||
@ -1296,7 +1320,7 @@
|
|||||||
<target>Último mês</target>
|
<target>Último mês</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
||||||
<context context-type="linenumber">25</context>
|
<context context-type="linenumber">35</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="8697368973702409683">
|
<trans-unit datatype="html" id="8697368973702409683">
|
||||||
@ -1304,7 +1328,7 @@
|
|||||||
<target>Últimos 3 meses</target>
|
<target>Últimos 3 meses</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
||||||
<context context-type="linenumber">26</context>
|
<context context-type="linenumber">36</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="3566342898065860218">
|
<trans-unit datatype="html" id="3566342898065860218">
|
||||||
@ -1312,7 +1336,7 @@
|
|||||||
<target>Último ano</target>
|
<target>Último ano</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.ts</context>
|
||||||
<context context-type="linenumber">27</context>
|
<context context-type="linenumber">37</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="be2add3a3d9e4e2556b8f9048a15a9c0f00bf1ad">
|
<trans-unit datatype="html" id="be2add3a3d9e4e2556b8f9048a15a9c0f00bf1ad">
|
||||||
@ -1328,7 +1352,7 @@
|
|||||||
<target>Depois</target>
|
<target>Depois</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.html</context>
|
<context context-type="sourcefile">src/app/components/common/date-dropdown/date-dropdown.component.html</context>
|
||||||
<context context-type="linenumber">29</context>
|
<context context-type="linenumber">38</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46">
|
<trans-unit datatype="html" id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46">
|
||||||
@ -1729,7 +1753,7 @@
|
|||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="90917e1a0a7bb59e9d11bdde9183e9391963e17b">
|
<trans-unit datatype="html" id="90917e1a0a7bb59e9d11bdde9183e9391963e17b">
|
||||||
<source>{VAR_PLURAL, plural, =1 {One more document} other {<x id="INTERPOLATION"/> more documents}}</source>
|
<source>{VAR_PLURAL, plural, =1 {One more document} other {<x id="INTERPOLATION"/> more documents}}</source>
|
||||||
<target>{VAR_PLURAL, plural, =1 {Mais um documento} other {Mais <x id="INTERPOLATION"/> documentos}</target>
|
<target>{VAR_PLURAL, plural, =1 {Mais um documento} other {Mais <x id="INTERPOLATION"/> documentos}}</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/upload-file-widget/upload-file-widget.component.html</context>
|
<context context-type="sourcefile">src/app/components/dashboard/widgets/upload-file-widget/upload-file-widget.component.html</context>
|
||||||
<context context-type="linenumber">25</context>
|
<context context-type="linenumber">25</context>
|
||||||
@ -1829,7 +1853,7 @@
|
|||||||
<target>Data inválida.</target>
|
<target>Data inválida.</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/components/common/input/date/date.component.html</context>
|
<context context-type="sourcefile">src/app/components/common/input/date/date.component.html</context>
|
||||||
<context context-type="linenumber">13</context>
|
<context context-type="linenumber">14</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="2807800733729323332">
|
<trans-unit datatype="html" id="2807800733729323332">
|
||||||
@ -1861,7 +1885,7 @@
|
|||||||
<target>Inglês (US)</target>
|
<target>Inglês (US)</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">88</context>
|
<context context-type="linenumber">90</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="6987083569809053351">
|
<trans-unit datatype="html" id="6987083569809053351">
|
||||||
@ -1869,7 +1893,7 @@
|
|||||||
<target>Inglês (GB)</target>
|
<target>Inglês (GB)</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">89</context>
|
<context context-type="linenumber">91</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="1858110241312746425">
|
<trans-unit datatype="html" id="1858110241312746425">
|
||||||
@ -1877,7 +1901,7 @@
|
|||||||
<target>Alemão</target>
|
<target>Alemão</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">90</context>
|
<context context-type="linenumber">92</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="3071065188816255493">
|
<trans-unit datatype="html" id="3071065188816255493">
|
||||||
@ -1885,7 +1909,7 @@
|
|||||||
<target>Holandês</target>
|
<target>Holandês</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">91</context>
|
<context context-type="linenumber">93</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="7633754075223722162">
|
<trans-unit datatype="html" id="7633754075223722162">
|
||||||
@ -1893,7 +1917,7 @@
|
|||||||
<target>Francês</target>
|
<target>Francês</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">92</context>
|
<context context-type="linenumber">94</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="9184513005098760425">
|
<trans-unit datatype="html" id="9184513005098760425">
|
||||||
@ -1901,7 +1925,23 @@
|
|||||||
<target>Português (Brasil)</target>
|
<target>Português (Brasil)</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">93</context>
|
<context context-type="linenumber">95</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit datatype="html" id="2935232983274991580">
|
||||||
|
<source>Italian</source>
|
||||||
|
<target>Italiano</target>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
|
<context context-type="linenumber">96</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit datatype="html" id="8118856427047826368">
|
||||||
|
<source>Romanian</source>
|
||||||
|
<target>Romeno</target>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
|
<context context-type="linenumber">97</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="4912706592792948707">
|
<trans-unit datatype="html" id="4912706592792948707">
|
||||||
@ -1909,7 +1949,7 @@
|
|||||||
<target>ISO 8601</target>
|
<target>ISO 8601</target>
|
||||||
<context-group purpose="location">
|
<context-group purpose="location">
|
||||||
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
<context context-type="sourcefile">src/app/services/settings.service.ts</context>
|
||||||
<context context-type="linenumber">98</context>
|
<context context-type="linenumber">102</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="2119857572761283468">
|
<trans-unit datatype="html" id="2119857572761283468">
|
||||||
@ -2052,14 +2092,6 @@
|
|||||||
<context context-type="linenumber">18</context>
|
<context context-type="linenumber">18</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="5701618810648052610">
|
|
||||||
<source>Title</source>
|
|
||||||
<target>Título</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/services/rest/document.service.ts</context>
|
|
||||||
<context context-type="linenumber">19</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="5066119607229701477">
|
<trans-unit datatype="html" id="5066119607229701477">
|
||||||
<source>Document type</source>
|
<source>Document type</source>
|
||||||
<target>Tipo de Documento</target>
|
<target>Tipo de Documento</target>
|
||||||
@ -2092,110 +2124,6 @@
|
|||||||
<context context-type="linenumber">23</context>
|
<context context-type="linenumber">23</context>
|
||||||
</context-group>
|
</context-group>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit datatype="html" id="2056433880533904076">
|
|
||||||
<source>Light blue</source>
|
|
||||||
<target>Azul claro</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">6</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="4082253113407591781">
|
|
||||||
<source>Blue</source>
|
|
||||||
<target>Azul</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">7</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="1143414876575720034">
|
|
||||||
<source>Light green</source>
|
|
||||||
<target>Verde claro</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">8</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="119581980963263815">
|
|
||||||
<source>Green</source>
|
|
||||||
<target>Verde</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">9</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="3250646524116252719">
|
|
||||||
<source>Light red</source>
|
|
||||||
<target>Vermelho claro</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">10</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="1628552745302385832">
|
|
||||||
<source>Red </source>
|
|
||||||
<target>Vermelho</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">11</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="5479028842846122610">
|
|
||||||
<source>Light orange</source>
|
|
||||||
<target>Laranja claro</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">12</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="8598918991528773310">
|
|
||||||
<source>Orange</source>
|
|
||||||
<target>Laranja</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">13</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="1789283185177957430">
|
|
||||||
<source>Light violet</source>
|
|
||||||
<target>Violeta claro</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">14</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="2682868487071320453">
|
|
||||||
<source>Violet</source>
|
|
||||||
<target>Violeta</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">15</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="1449010446077321264">
|
|
||||||
<source>Brown</source>
|
|
||||||
<target>Marrom</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">16</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="30300572504753589">
|
|
||||||
<source>Black</source>
|
|
||||||
<target>Preto</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">17</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="461048771215121187">
|
|
||||||
<source>Light grey</source>
|
|
||||||
<target>Cinza claro</target>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/data/paperless-tag.ts</context>
|
|
||||||
<context context-type="linenumber">18</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit datatype="html" id="4561076822163447092">
|
<trans-unit datatype="html" id="4561076822163447092">
|
||||||
<source>Create new item</source>
|
<source>Create new item</source>
|
||||||
<target>Criar novo item</target>
|
<target>Criar novo item</target>
|
||||||
|
2281
src-ui/src/locale/messages.ro.xlf
Normal file
2281
src-ui/src/locale/messages.ro.xlf
Normal file
File diff suppressed because it is too large
Load Diff
@ -64,6 +64,10 @@ $border-color-dark-mode: #47494f;
|
|||||||
background-color: $bg-dark-mode;
|
background-color: $bg-dark-mode;
|
||||||
color: $text-color-dark-mode;
|
color: $text-color-dark-mode;
|
||||||
border-color: $border-color-dark-mode $border-color-dark-mode $bg-dark-mode;
|
border-color: $border-color-dark-mode $border-color-dark-mode $bg-dark-mode;
|
||||||
|
|
||||||
|
.close {
|
||||||
|
background-color: inherit !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
@ -140,15 +144,18 @@ $border-color-dark-mode: #47494f;
|
|||||||
|
|
||||||
.doc-img {
|
.doc-img {
|
||||||
mix-blend-mode: normal;
|
mix-blend-mode: normal;
|
||||||
filter: invert(95%) hue-rotate(180deg);
|
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
border-color: $bg-dark-mode;
|
border-color: $bg-dark-mode;
|
||||||
|
filter: invert(10%);
|
||||||
&.border-right {
|
&.border-right {
|
||||||
border-right: none !important;
|
border-right: none !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.doc-img.inverted {
|
||||||
|
filter: invert(95%) hue-rotate(180deg);
|
||||||
|
}
|
||||||
|
|
||||||
.card-selected .doc-img {
|
.card-selected .doc-img {
|
||||||
mix-blend-mode: luminosity;
|
mix-blend-mode: luminosity;
|
||||||
}
|
}
|
||||||
|
BIN
src/clash.pdf
BIN
src/clash.pdf
Binary file not shown.
@ -19,12 +19,12 @@ class TagAdmin(admin.ModelAdmin):
|
|||||||
|
|
||||||
list_display = (
|
list_display = (
|
||||||
"name",
|
"name",
|
||||||
"colour",
|
"color",
|
||||||
"match",
|
"match",
|
||||||
"matching_algorithm"
|
"matching_algorithm"
|
||||||
)
|
)
|
||||||
list_filter = ("colour", "matching_algorithm")
|
list_filter = ("color", "matching_algorithm")
|
||||||
list_editable = ("colour", "match", "matching_algorithm")
|
list_editable = ("color", "match", "matching_algorithm")
|
||||||
|
|
||||||
|
|
||||||
class DocumentTypeAdmin(admin.ModelAdmin):
|
class DocumentTypeAdmin(admin.ModelAdmin):
|
||||||
|
@ -123,10 +123,11 @@ class DocumentClassifier(object):
|
|||||||
m.update(y.to_bytes(4, 'little', signed=True))
|
m.update(y.to_bytes(4, 'little', signed=True))
|
||||||
labels_correspondent.append(y)
|
labels_correspondent.append(y)
|
||||||
|
|
||||||
tags = [tag.pk for tag in doc.tags.filter(
|
tags = sorted([tag.pk for tag in doc.tags.filter(
|
||||||
matching_algorithm=MatchingModel.MATCH_AUTO
|
matching_algorithm=MatchingModel.MATCH_AUTO
|
||||||
)]
|
)])
|
||||||
m.update(bytearray(tags))
|
for tag in tags:
|
||||||
|
m.update(tag.to_bytes(4, 'little', signed=True))
|
||||||
labels_tags.append(tags)
|
labels_tags.append(tags)
|
||||||
|
|
||||||
if not data:
|
if not data:
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
from django.db.models import Q
|
||||||
from django_filters.rest_framework import BooleanFilter, FilterSet, Filter
|
from django_filters.rest_framework import BooleanFilter, FilterSet, Filter
|
||||||
|
|
||||||
from .models import Correspondent, Document, Tag, DocumentType, Log
|
from .models import Correspondent, Document, Tag, DocumentType, Log
|
||||||
@ -70,6 +71,16 @@ class InboxFilter(Filter):
|
|||||||
return qs
|
return qs
|
||||||
|
|
||||||
|
|
||||||
|
class TitleContentFilter(Filter):
|
||||||
|
|
||||||
|
def filter(self, qs, value):
|
||||||
|
if value:
|
||||||
|
return qs.filter(Q(title__icontains=value) |
|
||||||
|
Q(content__icontains=value))
|
||||||
|
else:
|
||||||
|
return qs
|
||||||
|
|
||||||
|
|
||||||
class DocumentFilterSet(FilterSet):
|
class DocumentFilterSet(FilterSet):
|
||||||
|
|
||||||
is_tagged = BooleanFilter(
|
is_tagged = BooleanFilter(
|
||||||
@ -85,6 +96,8 @@ class DocumentFilterSet(FilterSet):
|
|||||||
|
|
||||||
is_in_inbox = InboxFilter()
|
is_in_inbox = InboxFilter()
|
||||||
|
|
||||||
|
title_content = TitleContentFilter()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Document
|
model = Document
|
||||||
fields = {
|
fields = {
|
||||||
|
70
src/documents/migrations/1013_migrate_tag_colour.py
Normal file
70
src/documents/migrations/1013_migrate_tag_colour.py
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
# Generated by Django 3.1.4 on 2020-12-02 21:43
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
COLOURS_OLD = {
|
||||||
|
1: "#a6cee3",
|
||||||
|
2: "#1f78b4",
|
||||||
|
3: "#b2df8a",
|
||||||
|
4: "#33a02c",
|
||||||
|
5: "#fb9a99",
|
||||||
|
6: "#e31a1c",
|
||||||
|
7: "#fdbf6f",
|
||||||
|
8: "#ff7f00",
|
||||||
|
9: "#cab2d6",
|
||||||
|
10: "#6a3d9a",
|
||||||
|
11: "#b15928",
|
||||||
|
12: "#000000",
|
||||||
|
13: "#cccccc",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def forward(apps, schema_editor):
|
||||||
|
Tag = apps.get_model('documents', 'Tag')
|
||||||
|
|
||||||
|
for tag in Tag.objects.all():
|
||||||
|
colour_old_id = tag.colour_old
|
||||||
|
rgb = COLOURS_OLD[colour_old_id]
|
||||||
|
tag.color = rgb
|
||||||
|
tag.save()
|
||||||
|
|
||||||
|
|
||||||
|
def reverse(apps, schema_editor):
|
||||||
|
Tag = apps.get_model('documents', 'Tag')
|
||||||
|
|
||||||
|
def _get_colour_id(rdb):
|
||||||
|
for idx, rdbx in COLOURS_OLD.items():
|
||||||
|
if rdbx == rdb:
|
||||||
|
return idx
|
||||||
|
# Return colour 1 if we can't match anything
|
||||||
|
return 1
|
||||||
|
|
||||||
|
for tag in Tag.objects.all():
|
||||||
|
colour_id = _get_colour_id(tag.color)
|
||||||
|
tag.colour_old = colour_id
|
||||||
|
tag.save()
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('documents', '1012_fix_archive_files'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RenameField(
|
||||||
|
model_name='tag',
|
||||||
|
old_name='colour',
|
||||||
|
new_name='colour_old',
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='tag',
|
||||||
|
name='color',
|
||||||
|
field=models.CharField(default='#a6cee3', max_length=7, verbose_name='color'),
|
||||||
|
),
|
||||||
|
migrations.RunPython(forward, reverse),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='tag',
|
||||||
|
name='colour_old',
|
||||||
|
)
|
||||||
|
]
|
18
src/documents/migrations/1014_auto_20210228_1614.py
Normal file
18
src/documents/migrations/1014_auto_20210228_1614.py
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# Generated by Django 3.1.7 on 2021-02-28 15:14
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('documents', '1013_migrate_tag_colour'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='savedviewfilterrule',
|
||||||
|
name='rule_type',
|
||||||
|
field=models.PositiveIntegerField(choices=[(0, 'title contains'), (1, 'content contains'), (2, 'ASN is'), (3, 'correspondent is'), (4, 'document type is'), (5, 'is in inbox'), (6, 'has tag'), (7, 'has any tag'), (8, 'created before'), (9, 'created after'), (10, 'created year is'), (11, 'created month is'), (12, 'created day is'), (13, 'added before'), (14, 'added after'), (15, 'modified before'), (16, 'modified after'), (17, 'does not have tag'), (18, 'does not have ASN'), (19, 'title or content contains')], verbose_name='rule type'),
|
||||||
|
),
|
||||||
|
]
|
@ -77,25 +77,11 @@ class Correspondent(MatchingModel):
|
|||||||
|
|
||||||
class Tag(MatchingModel):
|
class Tag(MatchingModel):
|
||||||
|
|
||||||
COLOURS = (
|
color = models.CharField(
|
||||||
(1, "#a6cee3"),
|
|
||||||
(2, "#1f78b4"),
|
|
||||||
(3, "#b2df8a"),
|
|
||||||
(4, "#33a02c"),
|
|
||||||
(5, "#fb9a99"),
|
|
||||||
(6, "#e31a1c"),
|
|
||||||
(7, "#fdbf6f"),
|
|
||||||
(8, "#ff7f00"),
|
|
||||||
(9, "#cab2d6"),
|
|
||||||
(10, "#6a3d9a"),
|
|
||||||
(11, "#b15928"),
|
|
||||||
(12, "#000000"),
|
|
||||||
(13, "#cccccc")
|
|
||||||
)
|
|
||||||
|
|
||||||
colour = models.PositiveIntegerField(
|
|
||||||
_("color"),
|
_("color"),
|
||||||
choices=COLOURS, default=1)
|
max_length=7,
|
||||||
|
default="#a6cee3"
|
||||||
|
)
|
||||||
|
|
||||||
is_inbox_tag = models.BooleanField(
|
is_inbox_tag = models.BooleanField(
|
||||||
_("is inbox tag"),
|
_("is inbox tag"),
|
||||||
@ -399,6 +385,8 @@ class SavedViewFilterRule(models.Model):
|
|||||||
(15, _("modified before")),
|
(15, _("modified before")),
|
||||||
(16, _("modified after")),
|
(16, _("modified after")),
|
||||||
(17, _("does not have tag")),
|
(17, _("does not have tag")),
|
||||||
|
(18, _("does not have ASN")),
|
||||||
|
(19, _("title or content contains")),
|
||||||
]
|
]
|
||||||
|
|
||||||
saved_view = models.ForeignKey(
|
saved_view = models.ForeignKey(
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import re
|
import re
|
||||||
|
|
||||||
import magic
|
import magic
|
||||||
|
import math
|
||||||
from django.utils.text import slugify
|
from django.utils.text import slugify
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
from rest_framework.fields import SerializerMethodField
|
from rest_framework.fields import SerializerMethodField
|
||||||
@ -88,7 +89,40 @@ class DocumentTypeSerializer(MatchingModelSerializer):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class TagSerializer(MatchingModelSerializer):
|
class ColorField(serializers.Field):
|
||||||
|
|
||||||
|
COLOURS = (
|
||||||
|
(1, "#a6cee3"),
|
||||||
|
(2, "#1f78b4"),
|
||||||
|
(3, "#b2df8a"),
|
||||||
|
(4, "#33a02c"),
|
||||||
|
(5, "#fb9a99"),
|
||||||
|
(6, "#e31a1c"),
|
||||||
|
(7, "#fdbf6f"),
|
||||||
|
(8, "#ff7f00"),
|
||||||
|
(9, "#cab2d6"),
|
||||||
|
(10, "#6a3d9a"),
|
||||||
|
(11, "#b15928"),
|
||||||
|
(12, "#000000"),
|
||||||
|
(13, "#cccccc")
|
||||||
|
)
|
||||||
|
|
||||||
|
def to_internal_value(self, data):
|
||||||
|
for id, color in self.COLOURS:
|
||||||
|
if id == data:
|
||||||
|
return color
|
||||||
|
raise serializers.ValidationError()
|
||||||
|
|
||||||
|
def to_representation(self, value):
|
||||||
|
for id, color in self.COLOURS:
|
||||||
|
if color == value:
|
||||||
|
return id
|
||||||
|
return 1
|
||||||
|
|
||||||
|
|
||||||
|
class TagSerializerVersion1(MatchingModelSerializer):
|
||||||
|
|
||||||
|
colour = ColorField(source='color', default="#a6cee3")
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Tag
|
model = Tag
|
||||||
@ -105,6 +139,45 @@ class TagSerializer(MatchingModelSerializer):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class TagSerializer(MatchingModelSerializer):
|
||||||
|
|
||||||
|
def get_text_color(self, obj):
|
||||||
|
try:
|
||||||
|
h = obj.color.lstrip('#')
|
||||||
|
rgb = tuple(int(h[i:i + 2], 16)/256 for i in (0, 2, 4))
|
||||||
|
luminance = math.sqrt(
|
||||||
|
0.299 * math.pow(rgb[0], 2) +
|
||||||
|
0.587 * math.pow(rgb[1], 2) +
|
||||||
|
0.114 * math.pow(rgb[2], 2)
|
||||||
|
)
|
||||||
|
return "#ffffff" if luminance < 0.53 else "#000000"
|
||||||
|
except ValueError:
|
||||||
|
return "#000000"
|
||||||
|
|
||||||
|
text_color = serializers.SerializerMethodField()
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = Tag
|
||||||
|
fields = (
|
||||||
|
"id",
|
||||||
|
"slug",
|
||||||
|
"name",
|
||||||
|
"color",
|
||||||
|
"text_color",
|
||||||
|
"match",
|
||||||
|
"matching_algorithm",
|
||||||
|
"is_insensitive",
|
||||||
|
"is_inbox_tag",
|
||||||
|
"document_count"
|
||||||
|
)
|
||||||
|
|
||||||
|
def validate_color(self, color):
|
||||||
|
regex = r"#[0-9a-fA-F]{6}"
|
||||||
|
if not re.match(regex, color):
|
||||||
|
raise serializers.ValidationError(_("Invalid color."))
|
||||||
|
return color
|
||||||
|
|
||||||
|
|
||||||
class CorrespondentField(serializers.PrimaryKeyRelatedField):
|
class CorrespondentField(serializers.PrimaryKeyRelatedField):
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
return Correspondent.objects.all()
|
return Correspondent.objects.all()
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
<link rel="icon" type="image/x-icon" href="favicon.ico">
|
<link rel="icon" type="image/x-icon" href="favicon.ico">
|
||||||
<link rel="manifest" href="{% static webmanifest %}">
|
<link rel="manifest" href="{% static webmanifest %}">
|
||||||
<link rel="stylesheet" href="{% static styles_css %}">
|
<link rel="stylesheet" href="{% static styles_css %}">
|
||||||
<link rel="apple-touch-icon" href="apple-touch-icon.png">
|
<link rel="apple-touch-icon" href="{% static apple_touch_icon %}">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<app-root>{% translate "Paperless-ng is loading..." %}</app-root>
|
<app-root>{% translate "Paperless-ng is loading..." %}</app-root>
|
||||||
|
@ -807,6 +807,69 @@ class TestDocumentApi(DirectoriesMixin, APITestCase):
|
|||||||
}, format='json')
|
}, format='json')
|
||||||
self.assertEqual(response.status_code, 201, endpoint)
|
self.assertEqual(response.status_code, 201, endpoint)
|
||||||
|
|
||||||
|
def test_tag_color_default(self):
|
||||||
|
response = self.client.post("/api/tags/", {
|
||||||
|
"name": "tag"
|
||||||
|
}, format="json")
|
||||||
|
self.assertEqual(response.status_code, 201)
|
||||||
|
self.assertEqual(Tag.objects.get(id=response.data['id']).color, "#a6cee3")
|
||||||
|
self.assertEqual(self.client.get(f"/api/tags/{response.data['id']}/", format="json").data['colour'], 1)
|
||||||
|
|
||||||
|
def test_tag_color(self):
|
||||||
|
response = self.client.post("/api/tags/", {
|
||||||
|
"name": "tag",
|
||||||
|
"colour": 3
|
||||||
|
}, format="json")
|
||||||
|
self.assertEqual(response.status_code, 201)
|
||||||
|
self.assertEqual(Tag.objects.get(id=response.data['id']).color, "#b2df8a")
|
||||||
|
self.assertEqual(self.client.get(f"/api/tags/{response.data['id']}/", format="json").data['colour'], 3)
|
||||||
|
|
||||||
|
def test_tag_color_invalid(self):
|
||||||
|
response = self.client.post("/api/tags/", {
|
||||||
|
"name": "tag",
|
||||||
|
"colour": 34
|
||||||
|
}, format="json")
|
||||||
|
self.assertEqual(response.status_code, 400)
|
||||||
|
|
||||||
|
def test_tag_color_custom(self):
|
||||||
|
tag = Tag.objects.create(name="test", color="#abcdef")
|
||||||
|
self.assertEqual(self.client.get(f"/api/tags/{tag.id}/", format="json").data['colour'], 1)
|
||||||
|
|
||||||
|
|
||||||
|
class TestDocumentApiV2(DirectoriesMixin, APITestCase):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
super(TestDocumentApiV2, self).setUp()
|
||||||
|
|
||||||
|
self.user = User.objects.create_superuser(username="temp_admin")
|
||||||
|
|
||||||
|
self.client.force_login(user=self.user)
|
||||||
|
self.client.defaults['HTTP_ACCEPT'] = 'application/json; version=2'
|
||||||
|
|
||||||
|
def test_tag_validate_color(self):
|
||||||
|
self.assertEqual(self.client.post("/api/tags/", {"name": "test", "color": "#12fFaA"}, format="json").status_code, 201)
|
||||||
|
|
||||||
|
self.assertEqual(self.client.post("/api/tags/", {"name": "test1", "color": "abcdef"}, format="json").status_code, 400)
|
||||||
|
self.assertEqual(self.client.post("/api/tags/", {"name": "test2", "color": "#abcdfg"}, format="json").status_code, 400)
|
||||||
|
self.assertEqual(self.client.post("/api/tags/", {"name": "test3", "color": "#asd"}, format="json").status_code, 400)
|
||||||
|
self.assertEqual(self.client.post("/api/tags/", {"name": "test4", "color": "#12121212"}, format="json").status_code, 400)
|
||||||
|
|
||||||
|
def test_tag_text_color(self):
|
||||||
|
t = Tag.objects.create(name="tag1", color="#000000")
|
||||||
|
self.assertEqual(self.client.get(f"/api/tags/{t.id}/", format="json").data['text_color'], "#ffffff")
|
||||||
|
|
||||||
|
t.color = "#ffffff"
|
||||||
|
t.save()
|
||||||
|
self.assertEqual(self.client.get(f"/api/tags/{t.id}/", format="json").data['text_color'], "#000000")
|
||||||
|
|
||||||
|
t.color = "asdf"
|
||||||
|
t.save()
|
||||||
|
self.assertEqual(self.client.get(f"/api/tags/{t.id}/", format="json").data['text_color'], "#000000")
|
||||||
|
|
||||||
|
t.color = "123"
|
||||||
|
t.save()
|
||||||
|
self.assertEqual(self.client.get(f"/api/tags/{t.id}/", format="json").data['text_color'], "#000000")
|
||||||
|
|
||||||
|
|
||||||
class TestBulkEdit(DirectoriesMixin, APITestCase):
|
class TestBulkEdit(DirectoriesMixin, APITestCase):
|
||||||
|
|
||||||
@ -1293,3 +1356,16 @@ class TestApiAuth(APITestCase):
|
|||||||
self.assertEqual(self.client.get("/api/documents/bulk_edit/").status_code, 401)
|
self.assertEqual(self.client.get("/api/documents/bulk_edit/").status_code, 401)
|
||||||
self.assertEqual(self.client.get("/api/documents/bulk_download/").status_code, 401)
|
self.assertEqual(self.client.get("/api/documents/bulk_download/").status_code, 401)
|
||||||
self.assertEqual(self.client.get("/api/documents/selection_data/").status_code, 401)
|
self.assertEqual(self.client.get("/api/documents/selection_data/").status_code, 401)
|
||||||
|
|
||||||
|
def test_api_version_no_auth(self):
|
||||||
|
|
||||||
|
response = self.client.get("/api/")
|
||||||
|
self.assertNotIn("X-Api-Version", response)
|
||||||
|
self.assertNotIn("X-Version", response)
|
||||||
|
|
||||||
|
def test_api_version_with_auth(self):
|
||||||
|
user = User.objects.create_superuser(username="test")
|
||||||
|
self.client.force_login(user)
|
||||||
|
response = self.client.get("/api/")
|
||||||
|
self.assertIn("X-Api-Version", response)
|
||||||
|
self.assertIn("X-Version", response)
|
||||||
|
37
src/documents/tests/test_migration_tag_colors.py
Normal file
37
src/documents/tests/test_migration_tag_colors.py
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
from documents.tests.utils import DirectoriesMixin, TestMigrations
|
||||||
|
|
||||||
|
|
||||||
|
class TestMigrateTagColor(DirectoriesMixin, TestMigrations):
|
||||||
|
|
||||||
|
migrate_from = '1012_fix_archive_files'
|
||||||
|
migrate_to = '1013_migrate_tag_colour'
|
||||||
|
|
||||||
|
def setUpBeforeMigration(self, apps):
|
||||||
|
Tag = apps.get_model("documents", "Tag")
|
||||||
|
self.t1_id = Tag.objects.create(name="tag1").id
|
||||||
|
self.t2_id = Tag.objects.create(name="tag2", colour=1).id
|
||||||
|
self.t3_id = Tag.objects.create(name="tag3", colour=5).id
|
||||||
|
|
||||||
|
def testMimeTypesMigrated(self):
|
||||||
|
Tag = self.apps.get_model('documents', 'Tag')
|
||||||
|
self.assertEqual(Tag.objects.get(id=self.t1_id).color, "#a6cee3")
|
||||||
|
self.assertEqual(Tag.objects.get(id=self.t2_id).color, "#a6cee3")
|
||||||
|
self.assertEqual(Tag.objects.get(id=self.t3_id).color, "#fb9a99")
|
||||||
|
|
||||||
|
|
||||||
|
class TestMigrateTagColorBackwards(DirectoriesMixin, TestMigrations):
|
||||||
|
|
||||||
|
migrate_from = '1013_migrate_tag_colour'
|
||||||
|
migrate_to = '1012_fix_archive_files'
|
||||||
|
|
||||||
|
def setUpBeforeMigration(self, apps):
|
||||||
|
Tag = apps.get_model("documents", "Tag")
|
||||||
|
self.t1_id = Tag.objects.create(name="tag1").id
|
||||||
|
self.t2_id = Tag.objects.create(name="tag2", color="#cab2d6").id
|
||||||
|
self.t3_id = Tag.objects.create(name="tag3", color="#123456").id
|
||||||
|
|
||||||
|
def testMimeTypesReverted(self):
|
||||||
|
Tag = self.apps.get_model('documents', 'Tag')
|
||||||
|
self.assertEqual(Tag.objects.get(id=self.t1_id).colour, 1)
|
||||||
|
self.assertEqual(Tag.objects.get(id=self.t2_id).colour, 9)
|
||||||
|
self.assertEqual(Tag.objects.get(id=self.t3_id).colour, 1)
|
@ -50,6 +50,7 @@ from .parsers import get_parser_class_for_mime_type
|
|||||||
from .serialisers import (
|
from .serialisers import (
|
||||||
CorrespondentSerializer,
|
CorrespondentSerializer,
|
||||||
DocumentSerializer,
|
DocumentSerializer,
|
||||||
|
TagSerializerVersion1,
|
||||||
TagSerializer,
|
TagSerializer,
|
||||||
DocumentTypeSerializer,
|
DocumentTypeSerializer,
|
||||||
PostDocumentSerializer,
|
PostDocumentSerializer,
|
||||||
@ -89,6 +90,7 @@ class IndexView(TemplateView):
|
|||||||
context['polyfills_js'] = f"frontend/{self.get_language()}/polyfills.js" # NOQA: E501
|
context['polyfills_js'] = f"frontend/{self.get_language()}/polyfills.js" # NOQA: E501
|
||||||
context['main_js'] = f"frontend/{self.get_language()}/main.js"
|
context['main_js'] = f"frontend/{self.get_language()}/main.js"
|
||||||
context['webmanifest'] = f"frontend/{self.get_language()}/manifest.webmanifest" # NOQA: E501
|
context['webmanifest'] = f"frontend/{self.get_language()}/manifest.webmanifest" # NOQA: E501
|
||||||
|
context['apple_touch_icon'] = f"frontend/{self.get_language()}/apple-touch-icon.png" # NOQA: E501
|
||||||
return context
|
return context
|
||||||
|
|
||||||
|
|
||||||
@ -118,7 +120,12 @@ class TagViewSet(ModelViewSet):
|
|||||||
queryset = Tag.objects.annotate(
|
queryset = Tag.objects.annotate(
|
||||||
document_count=Count('documents')).order_by(Lower('name'))
|
document_count=Count('documents')).order_by(Lower('name'))
|
||||||
|
|
||||||
serializer_class = TagSerializer
|
def get_serializer_class(self):
|
||||||
|
if int(self.request.version) == 1:
|
||||||
|
return TagSerializerVersion1
|
||||||
|
else:
|
||||||
|
return TagSerializer
|
||||||
|
|
||||||
pagination_class = StandardPagination
|
pagination_class = StandardPagination
|
||||||
permission_classes = (IsAuthenticated,)
|
permission_classes = (IsAuthenticated,)
|
||||||
filter_backends = (DjangoFilterBackend, OrderingFilter)
|
filter_backends = (DjangoFilterBackend, OrderingFilter)
|
||||||
|
@ -11,7 +11,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2021-02-24 16:49+0100\n"
|
"POT-Creation-Date: 2021-02-28 12:40+0100\n"
|
||||||
"PO-Revision-Date: 2021-02-16 18:37+0000\n"
|
"PO-Revision-Date: 2021-02-16 18:37+0000\n"
|
||||||
"Last-Translator: Jonas Winkler, 2021\n"
|
"Last-Translator: Jonas Winkler, 2021\n"
|
||||||
"Language-Team: German (https://www.transifex.com/paperless/teams/115905/de/)\n"
|
"Language-Team: German (https://www.transifex.com/paperless/teams/115905/de/)\n"
|
||||||
@ -49,7 +49,7 @@ msgstr "Ungenaues Wort"
|
|||||||
msgid "Automatic"
|
msgid "Automatic"
|
||||||
msgstr "Automatisch"
|
msgstr "Automatisch"
|
||||||
|
|
||||||
#: documents/models.py:41 documents/models.py:364 paperless_mail/models.py:25
|
#: documents/models.py:41 documents/models.py:350 paperless_mail/models.py:25
|
||||||
#: paperless_mail/models.py:109
|
#: paperless_mail/models.py:109
|
||||||
msgid "name"
|
msgid "name"
|
||||||
msgstr "Name"
|
msgstr "Name"
|
||||||
@ -66,7 +66,7 @@ msgstr "Zuweisungsalgorithmus"
|
|||||||
msgid "is insensitive"
|
msgid "is insensitive"
|
||||||
msgstr "Groß-/Kleinschreibung irrelevant"
|
msgstr "Groß-/Kleinschreibung irrelevant"
|
||||||
|
|
||||||
#: documents/models.py:74 documents/models.py:134
|
#: documents/models.py:74 documents/models.py:120
|
||||||
msgid "correspondent"
|
msgid "correspondent"
|
||||||
msgstr "Korrespondent"
|
msgstr "Korrespondent"
|
||||||
|
|
||||||
@ -74,15 +74,15 @@ msgstr "Korrespondent"
|
|||||||
msgid "correspondents"
|
msgid "correspondents"
|
||||||
msgstr "Korrespondenten"
|
msgstr "Korrespondenten"
|
||||||
|
|
||||||
#: documents/models.py:97
|
#: documents/models.py:81
|
||||||
msgid "color"
|
msgid "color"
|
||||||
msgstr "Farbe"
|
msgstr "Farbe"
|
||||||
|
|
||||||
#: documents/models.py:101
|
#: documents/models.py:87
|
||||||
msgid "is inbox tag"
|
msgid "is inbox tag"
|
||||||
msgstr "Posteingangs-Tag"
|
msgstr "Posteingangs-Tag"
|
||||||
|
|
||||||
#: documents/models.py:103
|
#: documents/models.py:89
|
||||||
msgid ""
|
msgid ""
|
||||||
"Marks this tag as an inbox tag: All newly consumed documents will be tagged "
|
"Marks this tag as an inbox tag: All newly consumed documents will be tagged "
|
||||||
"with inbox tags."
|
"with inbox tags."
|
||||||
@ -90,39 +90,39 @@ msgstr ""
|
|||||||
"Markiert das Tag als Posteingangs-Tag. Neue Dokumente werden immer mit "
|
"Markiert das Tag als Posteingangs-Tag. Neue Dokumente werden immer mit "
|
||||||
"diesem Tag versehen."
|
"diesem Tag versehen."
|
||||||
|
|
||||||
#: documents/models.py:108
|
#: documents/models.py:94
|
||||||
msgid "tag"
|
msgid "tag"
|
||||||
msgstr "Tag"
|
msgstr "Tag"
|
||||||
|
|
||||||
#: documents/models.py:109 documents/models.py:165
|
#: documents/models.py:95 documents/models.py:151
|
||||||
msgid "tags"
|
msgid "tags"
|
||||||
msgstr "Tags"
|
msgstr "Tags"
|
||||||
|
|
||||||
#: documents/models.py:115 documents/models.py:147
|
#: documents/models.py:101 documents/models.py:133
|
||||||
msgid "document type"
|
msgid "document type"
|
||||||
msgstr "Dokumenttyp"
|
msgstr "Dokumenttyp"
|
||||||
|
|
||||||
#: documents/models.py:116
|
#: documents/models.py:102
|
||||||
msgid "document types"
|
msgid "document types"
|
||||||
msgstr "Dokumenttypen"
|
msgstr "Dokumenttypen"
|
||||||
|
|
||||||
#: documents/models.py:124
|
#: documents/models.py:110
|
||||||
msgid "Unencrypted"
|
msgid "Unencrypted"
|
||||||
msgstr "Nicht verschlüsselt"
|
msgstr "Nicht verschlüsselt"
|
||||||
|
|
||||||
#: documents/models.py:125
|
#: documents/models.py:111
|
||||||
msgid "Encrypted with GNU Privacy Guard"
|
msgid "Encrypted with GNU Privacy Guard"
|
||||||
msgstr "Verschlüsselt mit GNU Privacy Guard"
|
msgstr "Verschlüsselt mit GNU Privacy Guard"
|
||||||
|
|
||||||
#: documents/models.py:138
|
#: documents/models.py:124
|
||||||
msgid "title"
|
msgid "title"
|
||||||
msgstr "Titel"
|
msgstr "Titel"
|
||||||
|
|
||||||
#: documents/models.py:151
|
#: documents/models.py:137
|
||||||
msgid "content"
|
msgid "content"
|
||||||
msgstr "Inhalt"
|
msgstr "Inhalt"
|
||||||
|
|
||||||
#: documents/models.py:153
|
#: documents/models.py:139
|
||||||
msgid ""
|
msgid ""
|
||||||
"The raw, text-only data of the document. This field is primarily used for "
|
"The raw, text-only data of the document. This field is primarily used for "
|
||||||
"searching."
|
"searching."
|
||||||
@ -130,241 +130,245 @@ msgstr ""
|
|||||||
"Der Inhalt des Dokuments in Textform. Dieses Feld wird primär für die Suche "
|
"Der Inhalt des Dokuments in Textform. Dieses Feld wird primär für die Suche "
|
||||||
"verwendet."
|
"verwendet."
|
||||||
|
|
||||||
#: documents/models.py:158
|
#: documents/models.py:144
|
||||||
msgid "mime type"
|
msgid "mime type"
|
||||||
msgstr "MIME-Typ"
|
msgstr "MIME-Typ"
|
||||||
|
|
||||||
#: documents/models.py:169
|
#: documents/models.py:155
|
||||||
msgid "checksum"
|
msgid "checksum"
|
||||||
msgstr "Prüfsumme"
|
msgstr "Prüfsumme"
|
||||||
|
|
||||||
#: documents/models.py:173
|
#: documents/models.py:159
|
||||||
msgid "The checksum of the original document."
|
msgid "The checksum of the original document."
|
||||||
msgstr "Die Prüfsumme des originalen Dokuments."
|
msgstr "Die Prüfsumme des originalen Dokuments."
|
||||||
|
|
||||||
#: documents/models.py:177
|
#: documents/models.py:163
|
||||||
msgid "archive checksum"
|
msgid "archive checksum"
|
||||||
msgstr "Archiv-Prüfsumme"
|
msgstr "Archiv-Prüfsumme"
|
||||||
|
|
||||||
#: documents/models.py:182
|
#: documents/models.py:168
|
||||||
msgid "The checksum of the archived document."
|
msgid "The checksum of the archived document."
|
||||||
msgstr "Die Prüfsumme des archivierten Dokuments."
|
msgstr "Die Prüfsumme des archivierten Dokuments."
|
||||||
|
|
||||||
#: documents/models.py:186 documents/models.py:342
|
#: documents/models.py:172 documents/models.py:328
|
||||||
msgid "created"
|
msgid "created"
|
||||||
msgstr "Ausgestellt"
|
msgstr "Ausgestellt"
|
||||||
|
|
||||||
#: documents/models.py:190
|
#: documents/models.py:176
|
||||||
msgid "modified"
|
msgid "modified"
|
||||||
msgstr "Geändert"
|
msgstr "Geändert"
|
||||||
|
|
||||||
#: documents/models.py:194
|
#: documents/models.py:180
|
||||||
msgid "storage type"
|
msgid "storage type"
|
||||||
msgstr "Speichertyp"
|
msgstr "Speichertyp"
|
||||||
|
|
||||||
#: documents/models.py:202
|
#: documents/models.py:188
|
||||||
msgid "added"
|
msgid "added"
|
||||||
msgstr "Hinzugefügt"
|
msgstr "Hinzugefügt"
|
||||||
|
|
||||||
#: documents/models.py:206
|
#: documents/models.py:192
|
||||||
msgid "filename"
|
msgid "filename"
|
||||||
msgstr "Dateiname"
|
msgstr "Dateiname"
|
||||||
|
|
||||||
#: documents/models.py:212
|
#: documents/models.py:198
|
||||||
msgid "Current filename in storage"
|
msgid "Current filename in storage"
|
||||||
msgstr "Aktueller Dateiname im Datenspeicher"
|
msgstr "Aktueller Dateiname im Datenspeicher"
|
||||||
|
|
||||||
#: documents/models.py:216
|
#: documents/models.py:202
|
||||||
msgid "archive filename"
|
msgid "archive filename"
|
||||||
msgstr "Archiv-Dateiname"
|
msgstr "Archiv-Dateiname"
|
||||||
|
|
||||||
#: documents/models.py:222
|
#: documents/models.py:208
|
||||||
msgid "Current archive filename in storage"
|
msgid "Current archive filename in storage"
|
||||||
msgstr "Aktueller Dateiname im Archiv"
|
msgstr "Aktueller Dateiname im Archiv"
|
||||||
|
|
||||||
#: documents/models.py:226
|
#: documents/models.py:212
|
||||||
msgid "archive serial number"
|
msgid "archive serial number"
|
||||||
msgstr "Archiv-Seriennummer"
|
msgstr "Archiv-Seriennummer"
|
||||||
|
|
||||||
#: documents/models.py:231
|
#: documents/models.py:217
|
||||||
msgid "The position of this document in your physical document archive."
|
msgid "The position of this document in your physical document archive."
|
||||||
msgstr "Die Position dieses Dokuments in Ihrem physischen Dokumentenarchiv."
|
msgstr "Die Position dieses Dokuments in Ihrem physischen Dokumentenarchiv."
|
||||||
|
|
||||||
#: documents/models.py:237
|
#: documents/models.py:223
|
||||||
msgid "document"
|
msgid "document"
|
||||||
msgstr "Dokument"
|
msgstr "Dokument"
|
||||||
|
|
||||||
#: documents/models.py:238
|
#: documents/models.py:224
|
||||||
msgid "documents"
|
msgid "documents"
|
||||||
msgstr "Dokumente"
|
msgstr "Dokumente"
|
||||||
|
|
||||||
#: documents/models.py:325
|
#: documents/models.py:311
|
||||||
msgid "debug"
|
msgid "debug"
|
||||||
msgstr "Debug"
|
msgstr "Debug"
|
||||||
|
|
||||||
#: documents/models.py:326
|
#: documents/models.py:312
|
||||||
msgid "information"
|
msgid "information"
|
||||||
msgstr "Information"
|
msgstr "Information"
|
||||||
|
|
||||||
#: documents/models.py:327
|
#: documents/models.py:313
|
||||||
msgid "warning"
|
msgid "warning"
|
||||||
msgstr "Warnung"
|
msgstr "Warnung"
|
||||||
|
|
||||||
#: documents/models.py:328
|
#: documents/models.py:314
|
||||||
msgid "error"
|
msgid "error"
|
||||||
msgstr "Fehler"
|
msgstr "Fehler"
|
||||||
|
|
||||||
#: documents/models.py:329
|
#: documents/models.py:315
|
||||||
msgid "critical"
|
msgid "critical"
|
||||||
msgstr "Kritisch"
|
msgstr "Kritisch"
|
||||||
|
|
||||||
#: documents/models.py:333
|
#: documents/models.py:319
|
||||||
msgid "group"
|
msgid "group"
|
||||||
msgstr "Gruppe"
|
msgstr "Gruppe"
|
||||||
|
|
||||||
#: documents/models.py:336
|
#: documents/models.py:322
|
||||||
msgid "message"
|
msgid "message"
|
||||||
msgstr "Nachricht"
|
msgstr "Nachricht"
|
||||||
|
|
||||||
#: documents/models.py:339
|
#: documents/models.py:325
|
||||||
msgid "level"
|
msgid "level"
|
||||||
msgstr "Level"
|
msgstr "Level"
|
||||||
|
|
||||||
#: documents/models.py:346
|
#: documents/models.py:332
|
||||||
msgid "log"
|
msgid "log"
|
||||||
msgstr "Protokoll"
|
msgstr "Protokoll"
|
||||||
|
|
||||||
#: documents/models.py:347
|
#: documents/models.py:333
|
||||||
msgid "logs"
|
msgid "logs"
|
||||||
msgstr "Protokoll"
|
msgstr "Protokoll"
|
||||||
|
|
||||||
#: documents/models.py:358 documents/models.py:408
|
#: documents/models.py:344 documents/models.py:394
|
||||||
msgid "saved view"
|
msgid "saved view"
|
||||||
msgstr "Gespeicherte Ansicht"
|
msgstr "Gespeicherte Ansicht"
|
||||||
|
|
||||||
#: documents/models.py:359
|
#: documents/models.py:345
|
||||||
msgid "saved views"
|
msgid "saved views"
|
||||||
msgstr "Gespeicherte Ansichten"
|
msgstr "Gespeicherte Ansichten"
|
||||||
|
|
||||||
#: documents/models.py:362
|
#: documents/models.py:348
|
||||||
msgid "user"
|
msgid "user"
|
||||||
msgstr "Benutzer"
|
msgstr "Benutzer"
|
||||||
|
|
||||||
#: documents/models.py:368
|
#: documents/models.py:354
|
||||||
msgid "show on dashboard"
|
msgid "show on dashboard"
|
||||||
msgstr "Auf Startseite zeigen"
|
msgstr "Auf Startseite zeigen"
|
||||||
|
|
||||||
#: documents/models.py:371
|
#: documents/models.py:357
|
||||||
msgid "show in sidebar"
|
msgid "show in sidebar"
|
||||||
msgstr "In Seitenleiste zeigen"
|
msgstr "In Seitenleiste zeigen"
|
||||||
|
|
||||||
#: documents/models.py:375
|
#: documents/models.py:361
|
||||||
msgid "sort field"
|
msgid "sort field"
|
||||||
msgstr "Sortierfeld"
|
msgstr "Sortierfeld"
|
||||||
|
|
||||||
#: documents/models.py:378
|
#: documents/models.py:364
|
||||||
msgid "sort reverse"
|
msgid "sort reverse"
|
||||||
msgstr "Umgekehrte Sortierung"
|
msgstr "Umgekehrte Sortierung"
|
||||||
|
|
||||||
#: documents/models.py:384
|
#: documents/models.py:370
|
||||||
msgid "title contains"
|
msgid "title contains"
|
||||||
msgstr "Titel enthält"
|
msgstr "Titel enthält"
|
||||||
|
|
||||||
#: documents/models.py:385
|
#: documents/models.py:371
|
||||||
msgid "content contains"
|
msgid "content contains"
|
||||||
msgstr "Inhalt enthält"
|
msgstr "Inhalt enthält"
|
||||||
|
|
||||||
#: documents/models.py:386
|
#: documents/models.py:372
|
||||||
msgid "ASN is"
|
msgid "ASN is"
|
||||||
msgstr "ASN ist"
|
msgstr "ASN ist"
|
||||||
|
|
||||||
#: documents/models.py:387
|
#: documents/models.py:373
|
||||||
msgid "correspondent is"
|
msgid "correspondent is"
|
||||||
msgstr "Korrespondent ist"
|
msgstr "Korrespondent ist"
|
||||||
|
|
||||||
#: documents/models.py:388
|
#: documents/models.py:374
|
||||||
msgid "document type is"
|
msgid "document type is"
|
||||||
msgstr "Dokumenttyp ist"
|
msgstr "Dokumenttyp ist"
|
||||||
|
|
||||||
#: documents/models.py:389
|
#: documents/models.py:375
|
||||||
msgid "is in inbox"
|
msgid "is in inbox"
|
||||||
msgstr "Ist im Posteingang"
|
msgstr "Ist im Posteingang"
|
||||||
|
|
||||||
#: documents/models.py:390
|
#: documents/models.py:376
|
||||||
msgid "has tag"
|
msgid "has tag"
|
||||||
msgstr "Hat Tag"
|
msgstr "Hat Tag"
|
||||||
|
|
||||||
#: documents/models.py:391
|
#: documents/models.py:377
|
||||||
msgid "has any tag"
|
msgid "has any tag"
|
||||||
msgstr "Hat irgendein Tag"
|
msgstr "Hat irgendein Tag"
|
||||||
|
|
||||||
#: documents/models.py:392
|
#: documents/models.py:378
|
||||||
msgid "created before"
|
msgid "created before"
|
||||||
msgstr "Ausgestellt vor"
|
msgstr "Ausgestellt vor"
|
||||||
|
|
||||||
#: documents/models.py:393
|
#: documents/models.py:379
|
||||||
msgid "created after"
|
msgid "created after"
|
||||||
msgstr "Ausgestellt nach"
|
msgstr "Ausgestellt nach"
|
||||||
|
|
||||||
#: documents/models.py:394
|
#: documents/models.py:380
|
||||||
msgid "created year is"
|
msgid "created year is"
|
||||||
msgstr "Ausgestellt im Jahr"
|
msgstr "Ausgestellt im Jahr"
|
||||||
|
|
||||||
#: documents/models.py:395
|
#: documents/models.py:381
|
||||||
msgid "created month is"
|
msgid "created month is"
|
||||||
msgstr "Ausgestellt im Monat"
|
msgstr "Ausgestellt im Monat"
|
||||||
|
|
||||||
#: documents/models.py:396
|
#: documents/models.py:382
|
||||||
msgid "created day is"
|
msgid "created day is"
|
||||||
msgstr "Ausgestellt am Tag"
|
msgstr "Ausgestellt am Tag"
|
||||||
|
|
||||||
#: documents/models.py:397
|
#: documents/models.py:383
|
||||||
msgid "added before"
|
msgid "added before"
|
||||||
msgstr "Hinzugefügt vor"
|
msgstr "Hinzugefügt vor"
|
||||||
|
|
||||||
#: documents/models.py:398
|
#: documents/models.py:384
|
||||||
msgid "added after"
|
msgid "added after"
|
||||||
msgstr "Hinzugefügt nach"
|
msgstr "Hinzugefügt nach"
|
||||||
|
|
||||||
#: documents/models.py:399
|
#: documents/models.py:385
|
||||||
msgid "modified before"
|
msgid "modified before"
|
||||||
msgstr "Geändert vor"
|
msgstr "Geändert vor"
|
||||||
|
|
||||||
#: documents/models.py:400
|
#: documents/models.py:386
|
||||||
msgid "modified after"
|
msgid "modified after"
|
||||||
msgstr "Geändert nach"
|
msgstr "Geändert nach"
|
||||||
|
|
||||||
#: documents/models.py:401
|
#: documents/models.py:387
|
||||||
msgid "does not have tag"
|
msgid "does not have tag"
|
||||||
msgstr "Hat nicht folgendes Tag"
|
msgstr "Hat nicht folgendes Tag"
|
||||||
|
|
||||||
#: documents/models.py:412
|
#: documents/models.py:398
|
||||||
msgid "rule type"
|
msgid "rule type"
|
||||||
msgstr "Regeltyp"
|
msgstr "Regeltyp"
|
||||||
|
|
||||||
#: documents/models.py:416
|
#: documents/models.py:402
|
||||||
msgid "value"
|
msgid "value"
|
||||||
msgstr "Wert"
|
msgstr "Wert"
|
||||||
|
|
||||||
#: documents/models.py:422
|
#: documents/models.py:408
|
||||||
msgid "filter rule"
|
msgid "filter rule"
|
||||||
msgstr "Filterregel"
|
msgstr "Filterregel"
|
||||||
|
|
||||||
#: documents/models.py:423
|
#: documents/models.py:409
|
||||||
msgid "filter rules"
|
msgid "filter rules"
|
||||||
msgstr "Filterregeln"
|
msgstr "Filterregeln"
|
||||||
|
|
||||||
#: documents/serialisers.py:52
|
#: documents/serialisers.py:53
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Invalid regular expresssion: %(error)s"
|
msgid "Invalid regular expresssion: %(error)s"
|
||||||
msgstr "Ungültiger regulärer Ausdruck: %(error)s"
|
msgstr "Ungültiger regulärer Ausdruck: %(error)s"
|
||||||
|
|
||||||
#: documents/serialisers.py:378
|
#: documents/serialisers.py:177
|
||||||
|
msgid "Invalid color."
|
||||||
|
msgstr "Ungültige Farbe."
|
||||||
|
|
||||||
|
#: documents/serialisers.py:451
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "File type %(type)s not supported"
|
msgid "File type %(type)s not supported"
|
||||||
msgstr "Dateityp %(type)s nicht unterstützt"
|
msgstr "Dateityp %(type)s nicht unterstützt"
|
||||||
|
|
||||||
#: documents/templates/index.html:20
|
#: documents/templates/index.html:21
|
||||||
msgid "Paperless-ng is loading..."
|
msgid "Paperless-ng is loading..."
|
||||||
msgstr "Paperless-ng wird geladen..."
|
msgstr "Paperless-ng wird geladen..."
|
||||||
|
|
||||||
@ -406,30 +410,38 @@ msgstr "Passwort"
|
|||||||
msgid "Sign in"
|
msgid "Sign in"
|
||||||
msgstr "Anmelden"
|
msgstr "Anmelden"
|
||||||
|
|
||||||
#: paperless/settings.py:291
|
#: paperless/settings.py:297
|
||||||
msgid "English (US)"
|
msgid "English (US)"
|
||||||
msgstr "Englisch (US)"
|
msgstr "Englisch (US)"
|
||||||
|
|
||||||
#: paperless/settings.py:292
|
#: paperless/settings.py:298
|
||||||
msgid "English (GB)"
|
msgid "English (GB)"
|
||||||
msgstr "Englisch (UK)"
|
msgstr "Englisch (UK)"
|
||||||
|
|
||||||
#: paperless/settings.py:293
|
#: paperless/settings.py:299
|
||||||
msgid "German"
|
msgid "German"
|
||||||
msgstr "Deutsch"
|
msgstr "Deutsch"
|
||||||
|
|
||||||
#: paperless/settings.py:294
|
#: paperless/settings.py:300
|
||||||
msgid "Dutch"
|
msgid "Dutch"
|
||||||
msgstr "Niederländisch"
|
msgstr "Niederländisch"
|
||||||
|
|
||||||
#: paperless/settings.py:295
|
#: paperless/settings.py:301
|
||||||
msgid "French"
|
msgid "French"
|
||||||
msgstr "Französisch"
|
msgstr "Französisch"
|
||||||
|
|
||||||
#: paperless/settings.py:296
|
#: paperless/settings.py:302
|
||||||
msgid "Portuguese (Brazil)"
|
msgid "Portuguese (Brazil)"
|
||||||
msgstr "Portugiesisch (Brasilien)"
|
msgstr "Portugiesisch (Brasilien)"
|
||||||
|
|
||||||
|
#: paperless/settings.py:303
|
||||||
|
msgid "Italian"
|
||||||
|
msgstr "Italienisch"
|
||||||
|
|
||||||
|
#: paperless/settings.py:304
|
||||||
|
msgid "Romanian"
|
||||||
|
msgstr "Rumänisch"
|
||||||
|
|
||||||
#: paperless/urls.py:118
|
#: paperless/urls.py:118
|
||||||
msgid "Paperless-ng administration"
|
msgid "Paperless-ng administration"
|
||||||
msgstr "Paperless-ng Administration"
|
msgstr "Paperless-ng Administration"
|
||||||
|
@ -12,7 +12,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2021-02-24 16:49+0100\n"
|
"POT-Creation-Date: 2021-02-26 12:56+0100\n"
|
||||||
"PO-Revision-Date: 2021-02-16 18:37+0000\n"
|
"PO-Revision-Date: 2021-02-16 18:37+0000\n"
|
||||||
"Last-Translator: Jonas Winkler, 2021\n"
|
"Last-Translator: Jonas Winkler, 2021\n"
|
||||||
"Language-Team: English (United Kingdom) (https://www.transifex.com/paperless/teams/115905/en_GB/)\n"
|
"Language-Team: English (United Kingdom) (https://www.transifex.com/paperless/teams/115905/en_GB/)\n"
|
||||||
@ -50,7 +50,7 @@ msgstr "Fuzzy word"
|
|||||||
msgid "Automatic"
|
msgid "Automatic"
|
||||||
msgstr "Automatic"
|
msgstr "Automatic"
|
||||||
|
|
||||||
#: documents/models.py:41 documents/models.py:364 paperless_mail/models.py:25
|
#: documents/models.py:41 documents/models.py:350 paperless_mail/models.py:25
|
||||||
#: paperless_mail/models.py:109
|
#: paperless_mail/models.py:109
|
||||||
msgid "name"
|
msgid "name"
|
||||||
msgstr "name"
|
msgstr "name"
|
||||||
@ -67,7 +67,7 @@ msgstr "matching algorithm"
|
|||||||
msgid "is insensitive"
|
msgid "is insensitive"
|
||||||
msgstr "is insensitive"
|
msgstr "is insensitive"
|
||||||
|
|
||||||
#: documents/models.py:74 documents/models.py:134
|
#: documents/models.py:74 documents/models.py:120
|
||||||
msgid "correspondent"
|
msgid "correspondent"
|
||||||
msgstr "correspondent"
|
msgstr "correspondent"
|
||||||
|
|
||||||
@ -75,15 +75,15 @@ msgstr "correspondent"
|
|||||||
msgid "correspondents"
|
msgid "correspondents"
|
||||||
msgstr "correspondents"
|
msgstr "correspondents"
|
||||||
|
|
||||||
#: documents/models.py:97
|
#: documents/models.py:81
|
||||||
msgid "color"
|
msgid "color"
|
||||||
msgstr "colour"
|
msgstr "colour"
|
||||||
|
|
||||||
#: documents/models.py:101
|
#: documents/models.py:87
|
||||||
msgid "is inbox tag"
|
msgid "is inbox tag"
|
||||||
msgstr "is inbox tag"
|
msgstr "is inbox tag"
|
||||||
|
|
||||||
#: documents/models.py:103
|
#: documents/models.py:89
|
||||||
msgid ""
|
msgid ""
|
||||||
"Marks this tag as an inbox tag: All newly consumed documents will be tagged "
|
"Marks this tag as an inbox tag: All newly consumed documents will be tagged "
|
||||||
"with inbox tags."
|
"with inbox tags."
|
||||||
@ -91,39 +91,39 @@ msgstr ""
|
|||||||
"Marks this tag as an inbox tag: All newly consumed documents will be tagged "
|
"Marks this tag as an inbox tag: All newly consumed documents will be tagged "
|
||||||
"with inbox tags."
|
"with inbox tags."
|
||||||
|
|
||||||
#: documents/models.py:108
|
#: documents/models.py:94
|
||||||
msgid "tag"
|
msgid "tag"
|
||||||
msgstr "tag"
|
msgstr "tag"
|
||||||
|
|
||||||
#: documents/models.py:109 documents/models.py:165
|
#: documents/models.py:95 documents/models.py:151
|
||||||
msgid "tags"
|
msgid "tags"
|
||||||
msgstr "tags"
|
msgstr "tags"
|
||||||
|
|
||||||
#: documents/models.py:115 documents/models.py:147
|
#: documents/models.py:101 documents/models.py:133
|
||||||
msgid "document type"
|
msgid "document type"
|
||||||
msgstr "document type"
|
msgstr "document type"
|
||||||
|
|
||||||
#: documents/models.py:116
|
#: documents/models.py:102
|
||||||
msgid "document types"
|
msgid "document types"
|
||||||
msgstr "document types"
|
msgstr "document types"
|
||||||
|
|
||||||
#: documents/models.py:124
|
#: documents/models.py:110
|
||||||
msgid "Unencrypted"
|
msgid "Unencrypted"
|
||||||
msgstr "Unencrypted"
|
msgstr "Unencrypted"
|
||||||
|
|
||||||
#: documents/models.py:125
|
#: documents/models.py:111
|
||||||
msgid "Encrypted with GNU Privacy Guard"
|
msgid "Encrypted with GNU Privacy Guard"
|
||||||
msgstr "Encrypted with GNU Privacy Guard"
|
msgstr "Encrypted with GNU Privacy Guard"
|
||||||
|
|
||||||
#: documents/models.py:138
|
#: documents/models.py:124
|
||||||
msgid "title"
|
msgid "title"
|
||||||
msgstr "title"
|
msgstr "title"
|
||||||
|
|
||||||
#: documents/models.py:151
|
#: documents/models.py:137
|
||||||
msgid "content"
|
msgid "content"
|
||||||
msgstr "content"
|
msgstr "content"
|
||||||
|
|
||||||
#: documents/models.py:153
|
#: documents/models.py:139
|
||||||
msgid ""
|
msgid ""
|
||||||
"The raw, text-only data of the document. This field is primarily used for "
|
"The raw, text-only data of the document. This field is primarily used for "
|
||||||
"searching."
|
"searching."
|
||||||
@ -131,241 +131,245 @@ msgstr ""
|
|||||||
"The raw, text-only data of the document. This field is primarily used for "
|
"The raw, text-only data of the document. This field is primarily used for "
|
||||||
"searching."
|
"searching."
|
||||||
|
|
||||||
#: documents/models.py:158
|
#: documents/models.py:144
|
||||||
msgid "mime type"
|
msgid "mime type"
|
||||||
msgstr "mime type"
|
msgstr "mime type"
|
||||||
|
|
||||||
#: documents/models.py:169
|
#: documents/models.py:155
|
||||||
msgid "checksum"
|
msgid "checksum"
|
||||||
msgstr "checksum"
|
msgstr "checksum"
|
||||||
|
|
||||||
#: documents/models.py:173
|
#: documents/models.py:159
|
||||||
msgid "The checksum of the original document."
|
msgid "The checksum of the original document."
|
||||||
msgstr "The checksum of the original document."
|
msgstr "The checksum of the original document."
|
||||||
|
|
||||||
#: documents/models.py:177
|
#: documents/models.py:163
|
||||||
msgid "archive checksum"
|
msgid "archive checksum"
|
||||||
msgstr "archive checksum"
|
msgstr "archive checksum"
|
||||||
|
|
||||||
#: documents/models.py:182
|
#: documents/models.py:168
|
||||||
msgid "The checksum of the archived document."
|
msgid "The checksum of the archived document."
|
||||||
msgstr "The checksum of the archived document."
|
msgstr "The checksum of the archived document."
|
||||||
|
|
||||||
#: documents/models.py:186 documents/models.py:342
|
#: documents/models.py:172 documents/models.py:328
|
||||||
msgid "created"
|
msgid "created"
|
||||||
msgstr "created"
|
msgstr "created"
|
||||||
|
|
||||||
#: documents/models.py:190
|
#: documents/models.py:176
|
||||||
msgid "modified"
|
msgid "modified"
|
||||||
msgstr "modified"
|
msgstr "modified"
|
||||||
|
|
||||||
#: documents/models.py:194
|
#: documents/models.py:180
|
||||||
msgid "storage type"
|
msgid "storage type"
|
||||||
msgstr "storage type"
|
msgstr "storage type"
|
||||||
|
|
||||||
#: documents/models.py:202
|
#: documents/models.py:188
|
||||||
msgid "added"
|
msgid "added"
|
||||||
msgstr "added"
|
msgstr "added"
|
||||||
|
|
||||||
#: documents/models.py:206
|
#: documents/models.py:192
|
||||||
msgid "filename"
|
msgid "filename"
|
||||||
msgstr "filename"
|
msgstr "filename"
|
||||||
|
|
||||||
#: documents/models.py:212
|
#: documents/models.py:198
|
||||||
msgid "Current filename in storage"
|
msgid "Current filename in storage"
|
||||||
msgstr "Current filename in storage"
|
msgstr "Current filename in storage"
|
||||||
|
|
||||||
#: documents/models.py:216
|
#: documents/models.py:202
|
||||||
msgid "archive filename"
|
msgid "archive filename"
|
||||||
msgstr "archive filename"
|
msgstr "archive filename"
|
||||||
|
|
||||||
#: documents/models.py:222
|
#: documents/models.py:208
|
||||||
msgid "Current archive filename in storage"
|
msgid "Current archive filename in storage"
|
||||||
msgstr "Current archive filename in storage"
|
msgstr "Current archive filename in storage"
|
||||||
|
|
||||||
#: documents/models.py:226
|
#: documents/models.py:212
|
||||||
msgid "archive serial number"
|
msgid "archive serial number"
|
||||||
msgstr "archive serial number"
|
msgstr "archive serial number"
|
||||||
|
|
||||||
#: documents/models.py:231
|
#: documents/models.py:217
|
||||||
msgid "The position of this document in your physical document archive."
|
msgid "The position of this document in your physical document archive."
|
||||||
msgstr "The position of this document in your physical document archive."
|
msgstr "The position of this document in your physical document archive."
|
||||||
|
|
||||||
#: documents/models.py:237
|
#: documents/models.py:223
|
||||||
msgid "document"
|
msgid "document"
|
||||||
msgstr "document"
|
msgstr "document"
|
||||||
|
|
||||||
#: documents/models.py:238
|
#: documents/models.py:224
|
||||||
msgid "documents"
|
msgid "documents"
|
||||||
msgstr "documents"
|
msgstr "documents"
|
||||||
|
|
||||||
#: documents/models.py:325
|
#: documents/models.py:311
|
||||||
msgid "debug"
|
msgid "debug"
|
||||||
msgstr "debug"
|
msgstr "debug"
|
||||||
|
|
||||||
#: documents/models.py:326
|
#: documents/models.py:312
|
||||||
msgid "information"
|
msgid "information"
|
||||||
msgstr "information"
|
msgstr "information"
|
||||||
|
|
||||||
#: documents/models.py:327
|
#: documents/models.py:313
|
||||||
msgid "warning"
|
msgid "warning"
|
||||||
msgstr "warning"
|
msgstr "warning"
|
||||||
|
|
||||||
#: documents/models.py:328
|
#: documents/models.py:314
|
||||||
msgid "error"
|
msgid "error"
|
||||||
msgstr "error"
|
msgstr "error"
|
||||||
|
|
||||||
#: documents/models.py:329
|
#: documents/models.py:315
|
||||||
msgid "critical"
|
msgid "critical"
|
||||||
msgstr "critical"
|
msgstr "critical"
|
||||||
|
|
||||||
#: documents/models.py:333
|
#: documents/models.py:319
|
||||||
msgid "group"
|
msgid "group"
|
||||||
msgstr "group"
|
msgstr "group"
|
||||||
|
|
||||||
#: documents/models.py:336
|
#: documents/models.py:322
|
||||||
msgid "message"
|
msgid "message"
|
||||||
msgstr "message"
|
msgstr "message"
|
||||||
|
|
||||||
#: documents/models.py:339
|
#: documents/models.py:325
|
||||||
msgid "level"
|
msgid "level"
|
||||||
msgstr "level"
|
msgstr "level"
|
||||||
|
|
||||||
#: documents/models.py:346
|
#: documents/models.py:332
|
||||||
msgid "log"
|
msgid "log"
|
||||||
msgstr "log"
|
msgstr "log"
|
||||||
|
|
||||||
#: documents/models.py:347
|
#: documents/models.py:333
|
||||||
msgid "logs"
|
msgid "logs"
|
||||||
msgstr "logs"
|
msgstr "logs"
|
||||||
|
|
||||||
#: documents/models.py:358 documents/models.py:408
|
#: documents/models.py:344 documents/models.py:394
|
||||||
msgid "saved view"
|
msgid "saved view"
|
||||||
msgstr "saved view"
|
msgstr "saved view"
|
||||||
|
|
||||||
#: documents/models.py:359
|
#: documents/models.py:345
|
||||||
msgid "saved views"
|
msgid "saved views"
|
||||||
msgstr "saved views"
|
msgstr "saved views"
|
||||||
|
|
||||||
#: documents/models.py:362
|
#: documents/models.py:348
|
||||||
msgid "user"
|
msgid "user"
|
||||||
msgstr "user"
|
msgstr "user"
|
||||||
|
|
||||||
#: documents/models.py:368
|
#: documents/models.py:354
|
||||||
msgid "show on dashboard"
|
msgid "show on dashboard"
|
||||||
msgstr "show on dashboard"
|
msgstr "show on dashboard"
|
||||||
|
|
||||||
#: documents/models.py:371
|
#: documents/models.py:357
|
||||||
msgid "show in sidebar"
|
msgid "show in sidebar"
|
||||||
msgstr "show in sidebar"
|
msgstr "show in sidebar"
|
||||||
|
|
||||||
#: documents/models.py:375
|
#: documents/models.py:361
|
||||||
msgid "sort field"
|
msgid "sort field"
|
||||||
msgstr "sort field"
|
msgstr "sort field"
|
||||||
|
|
||||||
#: documents/models.py:378
|
#: documents/models.py:364
|
||||||
msgid "sort reverse"
|
msgid "sort reverse"
|
||||||
msgstr "sort reverse"
|
msgstr "sort reverse"
|
||||||
|
|
||||||
#: documents/models.py:384
|
#: documents/models.py:370
|
||||||
msgid "title contains"
|
msgid "title contains"
|
||||||
msgstr "title contains"
|
msgstr "title contains"
|
||||||
|
|
||||||
#: documents/models.py:385
|
#: documents/models.py:371
|
||||||
msgid "content contains"
|
msgid "content contains"
|
||||||
msgstr "content contains"
|
msgstr "content contains"
|
||||||
|
|
||||||
#: documents/models.py:386
|
#: documents/models.py:372
|
||||||
msgid "ASN is"
|
msgid "ASN is"
|
||||||
msgstr "ASN is"
|
msgstr "ASN is"
|
||||||
|
|
||||||
#: documents/models.py:387
|
#: documents/models.py:373
|
||||||
msgid "correspondent is"
|
msgid "correspondent is"
|
||||||
msgstr "correspondent is"
|
msgstr "correspondent is"
|
||||||
|
|
||||||
#: documents/models.py:388
|
#: documents/models.py:374
|
||||||
msgid "document type is"
|
msgid "document type is"
|
||||||
msgstr "document type is"
|
msgstr "document type is"
|
||||||
|
|
||||||
#: documents/models.py:389
|
#: documents/models.py:375
|
||||||
msgid "is in inbox"
|
msgid "is in inbox"
|
||||||
msgstr "is in inbox"
|
msgstr "is in inbox"
|
||||||
|
|
||||||
#: documents/models.py:390
|
#: documents/models.py:376
|
||||||
msgid "has tag"
|
msgid "has tag"
|
||||||
msgstr "has tag"
|
msgstr "has tag"
|
||||||
|
|
||||||
#: documents/models.py:391
|
#: documents/models.py:377
|
||||||
msgid "has any tag"
|
msgid "has any tag"
|
||||||
msgstr "has any tag"
|
msgstr "has any tag"
|
||||||
|
|
||||||
#: documents/models.py:392
|
#: documents/models.py:378
|
||||||
msgid "created before"
|
msgid "created before"
|
||||||
msgstr "created before"
|
msgstr "created before"
|
||||||
|
|
||||||
#: documents/models.py:393
|
#: documents/models.py:379
|
||||||
msgid "created after"
|
msgid "created after"
|
||||||
msgstr "created after"
|
msgstr "created after"
|
||||||
|
|
||||||
#: documents/models.py:394
|
#: documents/models.py:380
|
||||||
msgid "created year is"
|
msgid "created year is"
|
||||||
msgstr "created year is"
|
msgstr "created year is"
|
||||||
|
|
||||||
#: documents/models.py:395
|
#: documents/models.py:381
|
||||||
msgid "created month is"
|
msgid "created month is"
|
||||||
msgstr "created month is"
|
msgstr "created month is"
|
||||||
|
|
||||||
#: documents/models.py:396
|
#: documents/models.py:382
|
||||||
msgid "created day is"
|
msgid "created day is"
|
||||||
msgstr "created day is"
|
msgstr "created day is"
|
||||||
|
|
||||||
#: documents/models.py:397
|
#: documents/models.py:383
|
||||||
msgid "added before"
|
msgid "added before"
|
||||||
msgstr "added before"
|
msgstr "added before"
|
||||||
|
|
||||||
#: documents/models.py:398
|
#: documents/models.py:384
|
||||||
msgid "added after"
|
msgid "added after"
|
||||||
msgstr "added after"
|
msgstr "added after"
|
||||||
|
|
||||||
#: documents/models.py:399
|
#: documents/models.py:385
|
||||||
msgid "modified before"
|
msgid "modified before"
|
||||||
msgstr "modified before"
|
msgstr "modified before"
|
||||||
|
|
||||||
#: documents/models.py:400
|
#: documents/models.py:386
|
||||||
msgid "modified after"
|
msgid "modified after"
|
||||||
msgstr "modified after"
|
msgstr "modified after"
|
||||||
|
|
||||||
#: documents/models.py:401
|
#: documents/models.py:387
|
||||||
msgid "does not have tag"
|
msgid "does not have tag"
|
||||||
msgstr "does not have tag"
|
msgstr "does not have tag"
|
||||||
|
|
||||||
#: documents/models.py:412
|
#: documents/models.py:398
|
||||||
msgid "rule type"
|
msgid "rule type"
|
||||||
msgstr "rule type"
|
msgstr "rule type"
|
||||||
|
|
||||||
#: documents/models.py:416
|
#: documents/models.py:402
|
||||||
msgid "value"
|
msgid "value"
|
||||||
msgstr "value"
|
msgstr "value"
|
||||||
|
|
||||||
#: documents/models.py:422
|
#: documents/models.py:408
|
||||||
msgid "filter rule"
|
msgid "filter rule"
|
||||||
msgstr "filter rule"
|
msgstr "filter rule"
|
||||||
|
|
||||||
#: documents/models.py:423
|
#: documents/models.py:409
|
||||||
msgid "filter rules"
|
msgid "filter rules"
|
||||||
msgstr "filter rules"
|
msgstr "filter rules"
|
||||||
|
|
||||||
#: documents/serialisers.py:52
|
#: documents/serialisers.py:53
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Invalid regular expresssion: %(error)s"
|
msgid "Invalid regular expresssion: %(error)s"
|
||||||
msgstr "Invalid regular expresssion: %(error)s"
|
msgstr "Invalid regular expresssion: %(error)s"
|
||||||
|
|
||||||
#: documents/serialisers.py:378
|
#: documents/serialisers.py:177
|
||||||
|
msgid "Invalid color."
|
||||||
|
msgstr "Invalid colour."
|
||||||
|
|
||||||
|
#: documents/serialisers.py:451
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "File type %(type)s not supported"
|
msgid "File type %(type)s not supported"
|
||||||
msgstr "File type %(type)s not supported"
|
msgstr "File type %(type)s not supported"
|
||||||
|
|
||||||
#: documents/templates/index.html:20
|
#: documents/templates/index.html:21
|
||||||
msgid "Paperless-ng is loading..."
|
msgid "Paperless-ng is loading..."
|
||||||
msgstr "Paperless-ng is loading..."
|
msgstr "Paperless-ng is loading..."
|
||||||
|
|
||||||
@ -405,30 +409,34 @@ msgstr "Password"
|
|||||||
msgid "Sign in"
|
msgid "Sign in"
|
||||||
msgstr "Sign in"
|
msgstr "Sign in"
|
||||||
|
|
||||||
#: paperless/settings.py:291
|
#: paperless/settings.py:297
|
||||||
msgid "English (US)"
|
msgid "English (US)"
|
||||||
msgstr "English (US)"
|
msgstr "English (US)"
|
||||||
|
|
||||||
#: paperless/settings.py:292
|
#: paperless/settings.py:298
|
||||||
msgid "English (GB)"
|
msgid "English (GB)"
|
||||||
msgstr "English (GB)"
|
msgstr "English (GB)"
|
||||||
|
|
||||||
#: paperless/settings.py:293
|
#: paperless/settings.py:299
|
||||||
msgid "German"
|
msgid "German"
|
||||||
msgstr "German"
|
msgstr "German"
|
||||||
|
|
||||||
#: paperless/settings.py:294
|
#: paperless/settings.py:300
|
||||||
msgid "Dutch"
|
msgid "Dutch"
|
||||||
msgstr "Dutch"
|
msgstr "Dutch"
|
||||||
|
|
||||||
#: paperless/settings.py:295
|
#: paperless/settings.py:301
|
||||||
msgid "French"
|
msgid "French"
|
||||||
msgstr "French"
|
msgstr "French"
|
||||||
|
|
||||||
#: paperless/settings.py:296
|
#: paperless/settings.py:302
|
||||||
msgid "Portuguese (Brazil)"
|
msgid "Portuguese (Brazil)"
|
||||||
msgstr "Portuguese (Brazil)"
|
msgstr "Portuguese (Brazil)"
|
||||||
|
|
||||||
|
#: paperless/settings.py:303
|
||||||
|
msgid "Italian"
|
||||||
|
msgstr "Italian"
|
||||||
|
|
||||||
#: paperless/urls.py:118
|
#: paperless/urls.py:118
|
||||||
msgid "Paperless-ng administration"
|
msgid "Paperless-ng administration"
|
||||||
msgstr "Paperless-ng administration"
|
msgstr "Paperless-ng administration"
|
||||||
|
@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2021-02-24 16:49+0100\n"
|
"POT-Creation-Date: 2021-02-28 12:40+0100\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
@ -45,7 +45,7 @@ msgstr ""
|
|||||||
msgid "Automatic"
|
msgid "Automatic"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:41 documents/models.py:364 paperless_mail/models.py:25
|
#: documents/models.py:41 documents/models.py:350 paperless_mail/models.py:25
|
||||||
#: paperless_mail/models.py:109
|
#: paperless_mail/models.py:109
|
||||||
msgid "name"
|
msgid "name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -62,7 +62,7 @@ msgstr ""
|
|||||||
msgid "is insensitive"
|
msgid "is insensitive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:74 documents/models.py:134
|
#: documents/models.py:74 documents/models.py:120
|
||||||
msgid "correspondent"
|
msgid "correspondent"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -70,293 +70,297 @@ msgstr ""
|
|||||||
msgid "correspondents"
|
msgid "correspondents"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:97
|
#: documents/models.py:81
|
||||||
msgid "color"
|
msgid "color"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:101
|
#: documents/models.py:87
|
||||||
msgid "is inbox tag"
|
msgid "is inbox tag"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:103
|
#: documents/models.py:89
|
||||||
msgid ""
|
msgid ""
|
||||||
"Marks this tag as an inbox tag: All newly consumed documents will be tagged "
|
"Marks this tag as an inbox tag: All newly consumed documents will be tagged "
|
||||||
"with inbox tags."
|
"with inbox tags."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:108
|
#: documents/models.py:94
|
||||||
msgid "tag"
|
msgid "tag"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:109 documents/models.py:165
|
#: documents/models.py:95 documents/models.py:151
|
||||||
msgid "tags"
|
msgid "tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:115 documents/models.py:147
|
#: documents/models.py:101 documents/models.py:133
|
||||||
msgid "document type"
|
msgid "document type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:116
|
#: documents/models.py:102
|
||||||
msgid "document types"
|
msgid "document types"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:124
|
#: documents/models.py:110
|
||||||
msgid "Unencrypted"
|
msgid "Unencrypted"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:125
|
#: documents/models.py:111
|
||||||
msgid "Encrypted with GNU Privacy Guard"
|
msgid "Encrypted with GNU Privacy Guard"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:138
|
#: documents/models.py:124
|
||||||
msgid "title"
|
msgid "title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:151
|
#: documents/models.py:137
|
||||||
msgid "content"
|
msgid "content"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:153
|
#: documents/models.py:139
|
||||||
msgid ""
|
msgid ""
|
||||||
"The raw, text-only data of the document. This field is primarily used for "
|
"The raw, text-only data of the document. This field is primarily used for "
|
||||||
"searching."
|
"searching."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:158
|
#: documents/models.py:144
|
||||||
msgid "mime type"
|
msgid "mime type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:169
|
#: documents/models.py:155
|
||||||
msgid "checksum"
|
msgid "checksum"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:173
|
#: documents/models.py:159
|
||||||
msgid "The checksum of the original document."
|
msgid "The checksum of the original document."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:177
|
#: documents/models.py:163
|
||||||
msgid "archive checksum"
|
msgid "archive checksum"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:182
|
#: documents/models.py:168
|
||||||
msgid "The checksum of the archived document."
|
msgid "The checksum of the archived document."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:186 documents/models.py:342
|
#: documents/models.py:172 documents/models.py:328
|
||||||
msgid "created"
|
msgid "created"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:190
|
#: documents/models.py:176
|
||||||
msgid "modified"
|
msgid "modified"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:194
|
#: documents/models.py:180
|
||||||
msgid "storage type"
|
msgid "storage type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:202
|
#: documents/models.py:188
|
||||||
msgid "added"
|
msgid "added"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:206
|
#: documents/models.py:192
|
||||||
msgid "filename"
|
msgid "filename"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:212
|
#: documents/models.py:198
|
||||||
msgid "Current filename in storage"
|
msgid "Current filename in storage"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:216
|
#: documents/models.py:202
|
||||||
msgid "archive filename"
|
msgid "archive filename"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:222
|
#: documents/models.py:208
|
||||||
msgid "Current archive filename in storage"
|
msgid "Current archive filename in storage"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:226
|
#: documents/models.py:212
|
||||||
msgid "archive serial number"
|
msgid "archive serial number"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:231
|
#: documents/models.py:217
|
||||||
msgid "The position of this document in your physical document archive."
|
msgid "The position of this document in your physical document archive."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:237
|
#: documents/models.py:223
|
||||||
msgid "document"
|
msgid "document"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:238
|
#: documents/models.py:224
|
||||||
msgid "documents"
|
msgid "documents"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:325
|
#: documents/models.py:311
|
||||||
msgid "debug"
|
msgid "debug"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:326
|
#: documents/models.py:312
|
||||||
msgid "information"
|
msgid "information"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:327
|
#: documents/models.py:313
|
||||||
msgid "warning"
|
msgid "warning"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:328
|
#: documents/models.py:314
|
||||||
msgid "error"
|
msgid "error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:329
|
#: documents/models.py:315
|
||||||
msgid "critical"
|
msgid "critical"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:333
|
#: documents/models.py:319
|
||||||
msgid "group"
|
msgid "group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:336
|
#: documents/models.py:322
|
||||||
msgid "message"
|
msgid "message"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:339
|
#: documents/models.py:325
|
||||||
msgid "level"
|
msgid "level"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:346
|
#: documents/models.py:332
|
||||||
msgid "log"
|
msgid "log"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:347
|
#: documents/models.py:333
|
||||||
msgid "logs"
|
msgid "logs"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:358 documents/models.py:408
|
#: documents/models.py:344 documents/models.py:394
|
||||||
msgid "saved view"
|
msgid "saved view"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:359
|
#: documents/models.py:345
|
||||||
msgid "saved views"
|
msgid "saved views"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:362
|
#: documents/models.py:348
|
||||||
msgid "user"
|
msgid "user"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:368
|
#: documents/models.py:354
|
||||||
msgid "show on dashboard"
|
msgid "show on dashboard"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:371
|
#: documents/models.py:357
|
||||||
msgid "show in sidebar"
|
msgid "show in sidebar"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:375
|
#: documents/models.py:361
|
||||||
msgid "sort field"
|
msgid "sort field"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:378
|
#: documents/models.py:364
|
||||||
msgid "sort reverse"
|
msgid "sort reverse"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:384
|
#: documents/models.py:370
|
||||||
msgid "title contains"
|
msgid "title contains"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:385
|
#: documents/models.py:371
|
||||||
msgid "content contains"
|
msgid "content contains"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:386
|
#: documents/models.py:372
|
||||||
msgid "ASN is"
|
msgid "ASN is"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:387
|
#: documents/models.py:373
|
||||||
msgid "correspondent is"
|
msgid "correspondent is"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:388
|
#: documents/models.py:374
|
||||||
msgid "document type is"
|
msgid "document type is"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:389
|
#: documents/models.py:375
|
||||||
msgid "is in inbox"
|
msgid "is in inbox"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:390
|
#: documents/models.py:376
|
||||||
msgid "has tag"
|
msgid "has tag"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:391
|
#: documents/models.py:377
|
||||||
msgid "has any tag"
|
msgid "has any tag"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:392
|
#: documents/models.py:378
|
||||||
msgid "created before"
|
msgid "created before"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:393
|
#: documents/models.py:379
|
||||||
msgid "created after"
|
msgid "created after"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:394
|
#: documents/models.py:380
|
||||||
msgid "created year is"
|
msgid "created year is"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:395
|
#: documents/models.py:381
|
||||||
msgid "created month is"
|
msgid "created month is"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:396
|
#: documents/models.py:382
|
||||||
msgid "created day is"
|
msgid "created day is"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:397
|
#: documents/models.py:383
|
||||||
msgid "added before"
|
msgid "added before"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:398
|
#: documents/models.py:384
|
||||||
msgid "added after"
|
msgid "added after"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:399
|
#: documents/models.py:385
|
||||||
msgid "modified before"
|
msgid "modified before"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:400
|
#: documents/models.py:386
|
||||||
msgid "modified after"
|
msgid "modified after"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:401
|
#: documents/models.py:387
|
||||||
msgid "does not have tag"
|
msgid "does not have tag"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:412
|
#: documents/models.py:398
|
||||||
msgid "rule type"
|
msgid "rule type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:416
|
#: documents/models.py:402
|
||||||
msgid "value"
|
msgid "value"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:422
|
#: documents/models.py:408
|
||||||
msgid "filter rule"
|
msgid "filter rule"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/models.py:423
|
#: documents/models.py:409
|
||||||
msgid "filter rules"
|
msgid "filter rules"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/serialisers.py:52
|
#: documents/serialisers.py:53
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Invalid regular expresssion: %(error)s"
|
msgid "Invalid regular expresssion: %(error)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/serialisers.py:378
|
#: documents/serialisers.py:177
|
||||||
|
msgid "Invalid color."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: documents/serialisers.py:451
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "File type %(type)s not supported"
|
msgid "File type %(type)s not supported"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: documents/templates/index.html:20
|
#: documents/templates/index.html:21
|
||||||
msgid "Paperless-ng is loading..."
|
msgid "Paperless-ng is loading..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -396,30 +400,38 @@ msgstr ""
|
|||||||
msgid "Sign in"
|
msgid "Sign in"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: paperless/settings.py:291
|
#: paperless/settings.py:297
|
||||||
msgid "English (US)"
|
msgid "English (US)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: paperless/settings.py:292
|
#: paperless/settings.py:298
|
||||||
msgid "English (GB)"
|
msgid "English (GB)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: paperless/settings.py:293
|
#: paperless/settings.py:299
|
||||||
msgid "German"
|
msgid "German"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: paperless/settings.py:294
|
#: paperless/settings.py:300
|
||||||
msgid "Dutch"
|
msgid "Dutch"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: paperless/settings.py:295
|
#: paperless/settings.py:301
|
||||||
msgid "French"
|
msgid "French"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: paperless/settings.py:296
|
#: paperless/settings.py:302
|
||||||
msgid "Portuguese (Brazil)"
|
msgid "Portuguese (Brazil)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: paperless/settings.py:303
|
||||||
|
msgid "Italian"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: paperless/settings.py:304
|
||||||
|
msgid "Romanian"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: paperless/urls.py:118
|
#: paperless/urls.py:118
|
||||||
msgid "Paperless-ng administration"
|
msgid "Paperless-ng administration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -12,7 +12,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2021-02-24 16:49+0100\n"
|
"POT-Creation-Date: 2021-02-28 12:40+0100\n"
|
||||||
"PO-Revision-Date: 2021-02-16 18:37+0000\n"
|
"PO-Revision-Date: 2021-02-16 18:37+0000\n"
|
||||||
"Last-Translator: Philmo67, 2021\n"
|
"Last-Translator: Philmo67, 2021\n"
|
||||||
"Language-Team: French (https://www.transifex.com/paperless/teams/115905/fr/)\n"
|
"Language-Team: French (https://www.transifex.com/paperless/teams/115905/fr/)\n"
|
||||||
@ -50,7 +50,7 @@ msgstr "Mot approximatif"
|
|||||||
msgid "Automatic"
|
msgid "Automatic"
|
||||||
msgstr "Automatique"
|
msgstr "Automatique"
|
||||||
|
|
||||||
#: documents/models.py:41 documents/models.py:364 paperless_mail/models.py:25
|
#: documents/models.py:41 documents/models.py:350 paperless_mail/models.py:25
|
||||||
#: paperless_mail/models.py:109
|
#: paperless_mail/models.py:109
|
||||||
msgid "name"
|
msgid "name"
|
||||||
msgstr "nom"
|
msgstr "nom"
|
||||||
@ -67,7 +67,7 @@ msgstr "algorithme de rapprochement"
|
|||||||
msgid "is insensitive"
|
msgid "is insensitive"
|
||||||
msgstr "est insensible à la casse"
|
msgstr "est insensible à la casse"
|
||||||
|
|
||||||
#: documents/models.py:74 documents/models.py:134
|
#: documents/models.py:74 documents/models.py:120
|
||||||
msgid "correspondent"
|
msgid "correspondent"
|
||||||
msgstr "correspondant"
|
msgstr "correspondant"
|
||||||
|
|
||||||
@ -75,15 +75,15 @@ msgstr "correspondant"
|
|||||||
msgid "correspondents"
|
msgid "correspondents"
|
||||||
msgstr "correspondants"
|
msgstr "correspondants"
|
||||||
|
|
||||||
#: documents/models.py:97
|
#: documents/models.py:81
|
||||||
msgid "color"
|
msgid "color"
|
||||||
msgstr "couleur"
|
msgstr "couleur"
|
||||||
|
|
||||||
#: documents/models.py:101
|
#: documents/models.py:87
|
||||||
msgid "is inbox tag"
|
msgid "is inbox tag"
|
||||||
msgstr "est une étiquette de boîte de réception"
|
msgstr "est une étiquette de boîte de réception"
|
||||||
|
|
||||||
#: documents/models.py:103
|
#: documents/models.py:89
|
||||||
msgid ""
|
msgid ""
|
||||||
"Marks this tag as an inbox tag: All newly consumed documents will be tagged "
|
"Marks this tag as an inbox tag: All newly consumed documents will be tagged "
|
||||||
"with inbox tags."
|
"with inbox tags."
|
||||||
@ -91,39 +91,39 @@ msgstr ""
|
|||||||
"Marque cette étiquette comme étiquette de boîte de réception : ces "
|
"Marque cette étiquette comme étiquette de boîte de réception : ces "
|
||||||
"étiquettes sont affectées à tous les documents nouvellement traités."
|
"étiquettes sont affectées à tous les documents nouvellement traités."
|
||||||
|
|
||||||
#: documents/models.py:108
|
#: documents/models.py:94
|
||||||
msgid "tag"
|
msgid "tag"
|
||||||
msgstr "étiquette"
|
msgstr "étiquette"
|
||||||
|
|
||||||
#: documents/models.py:109 documents/models.py:165
|
#: documents/models.py:95 documents/models.py:151
|
||||||
msgid "tags"
|
msgid "tags"
|
||||||
msgstr "étiquettes"
|
msgstr "étiquettes"
|
||||||
|
|
||||||
#: documents/models.py:115 documents/models.py:147
|
#: documents/models.py:101 documents/models.py:133
|
||||||
msgid "document type"
|
msgid "document type"
|
||||||
msgstr "type de document"
|
msgstr "type de document"
|
||||||
|
|
||||||
#: documents/models.py:116
|
#: documents/models.py:102
|
||||||
msgid "document types"
|
msgid "document types"
|
||||||
msgstr "types de document"
|
msgstr "types de document"
|
||||||
|
|
||||||
#: documents/models.py:124
|
#: documents/models.py:110
|
||||||
msgid "Unencrypted"
|
msgid "Unencrypted"
|
||||||
msgstr "Non chiffré"
|
msgstr "Non chiffré"
|
||||||
|
|
||||||
#: documents/models.py:125
|
#: documents/models.py:111
|
||||||
msgid "Encrypted with GNU Privacy Guard"
|
msgid "Encrypted with GNU Privacy Guard"
|
||||||
msgstr "Chiffré avec GNU Privacy Guard"
|
msgstr "Chiffré avec GNU Privacy Guard"
|
||||||
|
|
||||||
#: documents/models.py:138
|
#: documents/models.py:124
|
||||||
msgid "title"
|
msgid "title"
|
||||||
msgstr "titre"
|
msgstr "titre"
|
||||||
|
|
||||||
#: documents/models.py:151
|
#: documents/models.py:137
|
||||||
msgid "content"
|
msgid "content"
|
||||||
msgstr "contenu"
|
msgstr "contenu"
|
||||||
|
|
||||||
#: documents/models.py:153
|
#: documents/models.py:139
|
||||||
msgid ""
|
msgid ""
|
||||||
"The raw, text-only data of the document. This field is primarily used for "
|
"The raw, text-only data of the document. This field is primarily used for "
|
||||||
"searching."
|
"searching."
|
||||||
@ -131,242 +131,246 @@ msgstr ""
|
|||||||
"Les données brutes du document, en format texte uniquement. Ce champ est "
|
"Les données brutes du document, en format texte uniquement. Ce champ est "
|
||||||
"principalement utilisé pour la recherche."
|
"principalement utilisé pour la recherche."
|
||||||
|
|
||||||
#: documents/models.py:158
|
#: documents/models.py:144
|
||||||
msgid "mime type"
|
msgid "mime type"
|
||||||
msgstr "type mime"
|
msgstr "type mime"
|
||||||
|
|
||||||
#: documents/models.py:169
|
#: documents/models.py:155
|
||||||
msgid "checksum"
|
msgid "checksum"
|
||||||
msgstr "somme de contrôle"
|
msgstr "somme de contrôle"
|
||||||
|
|
||||||
#: documents/models.py:173
|
#: documents/models.py:159
|
||||||
msgid "The checksum of the original document."
|
msgid "The checksum of the original document."
|
||||||
msgstr "La somme de contrôle du document original."
|
msgstr "La somme de contrôle du document original."
|
||||||
|
|
||||||
#: documents/models.py:177
|
#: documents/models.py:163
|
||||||
msgid "archive checksum"
|
msgid "archive checksum"
|
||||||
msgstr "somme de contrôle de l'archive"
|
msgstr "somme de contrôle de l'archive"
|
||||||
|
|
||||||
#: documents/models.py:182
|
#: documents/models.py:168
|
||||||
msgid "The checksum of the archived document."
|
msgid "The checksum of the archived document."
|
||||||
msgstr "La somme de contrôle du document archivé."
|
msgstr "La somme de contrôle du document archivé."
|
||||||
|
|
||||||
#: documents/models.py:186 documents/models.py:342
|
#: documents/models.py:172 documents/models.py:328
|
||||||
msgid "created"
|
msgid "created"
|
||||||
msgstr "créé le"
|
msgstr "créé le"
|
||||||
|
|
||||||
#: documents/models.py:190
|
#: documents/models.py:176
|
||||||
msgid "modified"
|
msgid "modified"
|
||||||
msgstr "modifié"
|
msgstr "modifié"
|
||||||
|
|
||||||
#: documents/models.py:194
|
#: documents/models.py:180
|
||||||
msgid "storage type"
|
msgid "storage type"
|
||||||
msgstr "forme d'enregistrement :"
|
msgstr "forme d'enregistrement :"
|
||||||
|
|
||||||
#: documents/models.py:202
|
#: documents/models.py:188
|
||||||
msgid "added"
|
msgid "added"
|
||||||
msgstr "date d'ajout"
|
msgstr "date d'ajout"
|
||||||
|
|
||||||
#: documents/models.py:206
|
#: documents/models.py:192
|
||||||
msgid "filename"
|
msgid "filename"
|
||||||
msgstr "nom du fichier"
|
msgstr "nom du fichier"
|
||||||
|
|
||||||
#: documents/models.py:212
|
#: documents/models.py:198
|
||||||
msgid "Current filename in storage"
|
msgid "Current filename in storage"
|
||||||
msgstr "Nom du fichier courant en base de données"
|
msgstr "Nom du fichier courant en base de données"
|
||||||
|
|
||||||
#: documents/models.py:216
|
#: documents/models.py:202
|
||||||
msgid "archive filename"
|
msgid "archive filename"
|
||||||
msgstr "nom de fichier de l'archive"
|
msgstr "nom de fichier de l'archive"
|
||||||
|
|
||||||
#: documents/models.py:222
|
#: documents/models.py:208
|
||||||
msgid "Current archive filename in storage"
|
msgid "Current archive filename in storage"
|
||||||
msgstr "Nom du fichier d'archive courant en base de données"
|
msgstr "Nom du fichier d'archive courant en base de données"
|
||||||
|
|
||||||
#: documents/models.py:226
|
#: documents/models.py:212
|
||||||
msgid "archive serial number"
|
msgid "archive serial number"
|
||||||
msgstr "numéro de série de l'archive"
|
msgstr "numéro de série de l'archive"
|
||||||
|
|
||||||
#: documents/models.py:231
|
#: documents/models.py:217
|
||||||
msgid "The position of this document in your physical document archive."
|
msgid "The position of this document in your physical document archive."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Le classement de ce document dans votre archive de documents physiques."
|
"Le classement de ce document dans votre archive de documents physiques."
|
||||||
|
|
||||||
#: documents/models.py:237
|
#: documents/models.py:223
|
||||||
msgid "document"
|
msgid "document"
|
||||||
msgstr "document"
|
msgstr "document"
|
||||||
|
|
||||||
#: documents/models.py:238
|
#: documents/models.py:224
|
||||||
msgid "documents"
|
msgid "documents"
|
||||||
msgstr "documents"
|
msgstr "documents"
|
||||||
|
|
||||||
#: documents/models.py:325
|
#: documents/models.py:311
|
||||||
msgid "debug"
|
msgid "debug"
|
||||||
msgstr "débogage"
|
msgstr "débogage"
|
||||||
|
|
||||||
#: documents/models.py:326
|
#: documents/models.py:312
|
||||||
msgid "information"
|
msgid "information"
|
||||||
msgstr "information"
|
msgstr "information"
|
||||||
|
|
||||||
#: documents/models.py:327
|
#: documents/models.py:313
|
||||||
msgid "warning"
|
msgid "warning"
|
||||||
msgstr "avertissement"
|
msgstr "avertissement"
|
||||||
|
|
||||||
#: documents/models.py:328
|
#: documents/models.py:314
|
||||||
msgid "error"
|
msgid "error"
|
||||||
msgstr "erreur"
|
msgstr "erreur"
|
||||||
|
|
||||||
#: documents/models.py:329
|
#: documents/models.py:315
|
||||||
msgid "critical"
|
msgid "critical"
|
||||||
msgstr "critique"
|
msgstr "critique"
|
||||||
|
|
||||||
#: documents/models.py:333
|
#: documents/models.py:319
|
||||||
msgid "group"
|
msgid "group"
|
||||||
msgstr "groupe"
|
msgstr "groupe"
|
||||||
|
|
||||||
#: documents/models.py:336
|
#: documents/models.py:322
|
||||||
msgid "message"
|
msgid "message"
|
||||||
msgstr "message"
|
msgstr "message"
|
||||||
|
|
||||||
#: documents/models.py:339
|
#: documents/models.py:325
|
||||||
msgid "level"
|
msgid "level"
|
||||||
msgstr "niveau"
|
msgstr "niveau"
|
||||||
|
|
||||||
#: documents/models.py:346
|
#: documents/models.py:332
|
||||||
msgid "log"
|
msgid "log"
|
||||||
msgstr "rapport"
|
msgstr "rapport"
|
||||||
|
|
||||||
#: documents/models.py:347
|
#: documents/models.py:333
|
||||||
msgid "logs"
|
msgid "logs"
|
||||||
msgstr "rapports"
|
msgstr "rapports"
|
||||||
|
|
||||||
#: documents/models.py:358 documents/models.py:408
|
#: documents/models.py:344 documents/models.py:394
|
||||||
msgid "saved view"
|
msgid "saved view"
|
||||||
msgstr "vue enregistrée"
|
msgstr "vue enregistrée"
|
||||||
|
|
||||||
#: documents/models.py:359
|
#: documents/models.py:345
|
||||||
msgid "saved views"
|
msgid "saved views"
|
||||||
msgstr "vues enregistrées"
|
msgstr "vues enregistrées"
|
||||||
|
|
||||||
#: documents/models.py:362
|
#: documents/models.py:348
|
||||||
msgid "user"
|
msgid "user"
|
||||||
msgstr "utilisateur"
|
msgstr "utilisateur"
|
||||||
|
|
||||||
#: documents/models.py:368
|
#: documents/models.py:354
|
||||||
msgid "show on dashboard"
|
msgid "show on dashboard"
|
||||||
msgstr "montrer sur le tableau de bord"
|
msgstr "montrer sur le tableau de bord"
|
||||||
|
|
||||||
#: documents/models.py:371
|
#: documents/models.py:357
|
||||||
msgid "show in sidebar"
|
msgid "show in sidebar"
|
||||||
msgstr "montrer dans la barre latérale"
|
msgstr "montrer dans la barre latérale"
|
||||||
|
|
||||||
#: documents/models.py:375
|
#: documents/models.py:361
|
||||||
msgid "sort field"
|
msgid "sort field"
|
||||||
msgstr "champ de tri"
|
msgstr "champ de tri"
|
||||||
|
|
||||||
#: documents/models.py:378
|
#: documents/models.py:364
|
||||||
msgid "sort reverse"
|
msgid "sort reverse"
|
||||||
msgstr "tri inverse"
|
msgstr "tri inverse"
|
||||||
|
|
||||||
#: documents/models.py:384
|
#: documents/models.py:370
|
||||||
msgid "title contains"
|
msgid "title contains"
|
||||||
msgstr "le titre contient"
|
msgstr "le titre contient"
|
||||||
|
|
||||||
#: documents/models.py:385
|
#: documents/models.py:371
|
||||||
msgid "content contains"
|
msgid "content contains"
|
||||||
msgstr "le contenu contient"
|
msgstr "le contenu contient"
|
||||||
|
|
||||||
#: documents/models.py:386
|
#: documents/models.py:372
|
||||||
msgid "ASN is"
|
msgid "ASN is"
|
||||||
msgstr "le NSA est"
|
msgstr "le NSA est"
|
||||||
|
|
||||||
#: documents/models.py:387
|
#: documents/models.py:373
|
||||||
msgid "correspondent is"
|
msgid "correspondent is"
|
||||||
msgstr "le correspondant est"
|
msgstr "le correspondant est"
|
||||||
|
|
||||||
#: documents/models.py:388
|
#: documents/models.py:374
|
||||||
msgid "document type is"
|
msgid "document type is"
|
||||||
msgstr "le type de document est"
|
msgstr "le type de document est"
|
||||||
|
|
||||||
#: documents/models.py:389
|
#: documents/models.py:375
|
||||||
msgid "is in inbox"
|
msgid "is in inbox"
|
||||||
msgstr "est dans la boîte de réception"
|
msgstr "est dans la boîte de réception"
|
||||||
|
|
||||||
#: documents/models.py:390
|
#: documents/models.py:376
|
||||||
msgid "has tag"
|
msgid "has tag"
|
||||||
msgstr "porte l'étiquette"
|
msgstr "porte l'étiquette"
|
||||||
|
|
||||||
#: documents/models.py:391
|
#: documents/models.py:377
|
||||||
msgid "has any tag"
|
msgid "has any tag"
|
||||||
msgstr "porte l'une des étiquettes"
|
msgstr "porte l'une des étiquettes"
|
||||||
|
|
||||||
#: documents/models.py:392
|
#: documents/models.py:378
|
||||||
msgid "created before"
|
msgid "created before"
|
||||||
msgstr "créé avant"
|
msgstr "créé avant"
|
||||||
|
|
||||||
#: documents/models.py:393
|
#: documents/models.py:379
|
||||||
msgid "created after"
|
msgid "created after"
|
||||||
msgstr "créé après"
|
msgstr "créé après"
|
||||||
|
|
||||||
#: documents/models.py:394
|
#: documents/models.py:380
|
||||||
msgid "created year is"
|
msgid "created year is"
|
||||||
msgstr "l'année de création est"
|
msgstr "l'année de création est"
|
||||||
|
|
||||||
#: documents/models.py:395
|
#: documents/models.py:381
|
||||||
msgid "created month is"
|
msgid "created month is"
|
||||||
msgstr "le mois de création est"
|
msgstr "le mois de création est"
|
||||||
|
|
||||||
#: documents/models.py:396
|
#: documents/models.py:382
|
||||||
msgid "created day is"
|
msgid "created day is"
|
||||||
msgstr "le jour de création est"
|
msgstr "le jour de création est"
|
||||||
|
|
||||||
#: documents/models.py:397
|
#: documents/models.py:383
|
||||||
msgid "added before"
|
msgid "added before"
|
||||||
msgstr "ajouté avant"
|
msgstr "ajouté avant"
|
||||||
|
|
||||||
#: documents/models.py:398
|
#: documents/models.py:384
|
||||||
msgid "added after"
|
msgid "added after"
|
||||||
msgstr "ajouté après"
|
msgstr "ajouté après"
|
||||||
|
|
||||||
#: documents/models.py:399
|
#: documents/models.py:385
|
||||||
msgid "modified before"
|
msgid "modified before"
|
||||||
msgstr "modifié avant"
|
msgstr "modifié avant"
|
||||||
|
|
||||||
#: documents/models.py:400
|
#: documents/models.py:386
|
||||||
msgid "modified after"
|
msgid "modified after"
|
||||||
msgstr "modifié après"
|
msgstr "modifié après"
|
||||||
|
|
||||||
#: documents/models.py:401
|
#: documents/models.py:387
|
||||||
msgid "does not have tag"
|
msgid "does not have tag"
|
||||||
msgstr "ne porte pas d'étiquette"
|
msgstr "ne porte pas d'étiquette"
|
||||||
|
|
||||||
#: documents/models.py:412
|
#: documents/models.py:398
|
||||||
msgid "rule type"
|
msgid "rule type"
|
||||||
msgstr "type de règle"
|
msgstr "type de règle"
|
||||||
|
|
||||||
#: documents/models.py:416
|
#: documents/models.py:402
|
||||||
msgid "value"
|
msgid "value"
|
||||||
msgstr "valeur"
|
msgstr "valeur"
|
||||||
|
|
||||||
#: documents/models.py:422
|
#: documents/models.py:408
|
||||||
msgid "filter rule"
|
msgid "filter rule"
|
||||||
msgstr "règle de filtrage"
|
msgstr "règle de filtrage"
|
||||||
|
|
||||||
#: documents/models.py:423
|
#: documents/models.py:409
|
||||||
msgid "filter rules"
|
msgid "filter rules"
|
||||||
msgstr "règles de filtrage"
|
msgstr "règles de filtrage"
|
||||||
|
|
||||||
#: documents/serialisers.py:52
|
#: documents/serialisers.py:53
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Invalid regular expresssion: %(error)s"
|
msgid "Invalid regular expresssion: %(error)s"
|
||||||
msgstr "Expression régulière incorrecte : %(error)s"
|
msgstr "Expression régulière incorrecte : %(error)s"
|
||||||
|
|
||||||
#: documents/serialisers.py:378
|
#: documents/serialisers.py:177
|
||||||
|
msgid "Invalid color."
|
||||||
|
msgstr "Couleur incorrecte."
|
||||||
|
|
||||||
|
#: documents/serialisers.py:451
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "File type %(type)s not supported"
|
msgid "File type %(type)s not supported"
|
||||||
msgstr "Type de fichier %(type)s non pris en charge"
|
msgstr "Type de fichier %(type)s non pris en charge"
|
||||||
|
|
||||||
#: documents/templates/index.html:20
|
#: documents/templates/index.html:21
|
||||||
msgid "Paperless-ng is loading..."
|
msgid "Paperless-ng is loading..."
|
||||||
msgstr "Paperless-ng est en cours de chargement..."
|
msgstr "Paperless-ng est en cours de chargement..."
|
||||||
|
|
||||||
@ -408,30 +412,38 @@ msgstr "Mot de passe"
|
|||||||
msgid "Sign in"
|
msgid "Sign in"
|
||||||
msgstr "S'identifier"
|
msgstr "S'identifier"
|
||||||
|
|
||||||
#: paperless/settings.py:291
|
#: paperless/settings.py:297
|
||||||
msgid "English (US)"
|
msgid "English (US)"
|
||||||
msgstr "Anglais (US)"
|
msgstr "Anglais (US)"
|
||||||
|
|
||||||
#: paperless/settings.py:292
|
#: paperless/settings.py:298
|
||||||
msgid "English (GB)"
|
msgid "English (GB)"
|
||||||
msgstr "Anglais (GB)"
|
msgstr "Anglais (GB)"
|
||||||
|
|
||||||
#: paperless/settings.py:293
|
#: paperless/settings.py:299
|
||||||
msgid "German"
|
msgid "German"
|
||||||
msgstr "Allemand"
|
msgstr "Allemand"
|
||||||
|
|
||||||
#: paperless/settings.py:294
|
#: paperless/settings.py:300
|
||||||
msgid "Dutch"
|
msgid "Dutch"
|
||||||
msgstr "Néerlandais"
|
msgstr "Néerlandais"
|
||||||
|
|
||||||
#: paperless/settings.py:295
|
#: paperless/settings.py:301
|
||||||
msgid "French"
|
msgid "French"
|
||||||
msgstr "Français"
|
msgstr "Français"
|
||||||
|
|
||||||
#: paperless/settings.py:296
|
#: paperless/settings.py:302
|
||||||
msgid "Portuguese (Brazil)"
|
msgid "Portuguese (Brazil)"
|
||||||
msgstr "Portugais (Brésil)"
|
msgstr "Portugais (Brésil)"
|
||||||
|
|
||||||
|
#: paperless/settings.py:303
|
||||||
|
msgid "Italian"
|
||||||
|
msgstr "Italien"
|
||||||
|
|
||||||
|
#: paperless/settings.py:304
|
||||||
|
msgid "Romanian"
|
||||||
|
msgstr "Roumain"
|
||||||
|
|
||||||
#: paperless/urls.py:118
|
#: paperless/urls.py:118
|
||||||
msgid "Paperless-ng administration"
|
msgid "Paperless-ng administration"
|
||||||
msgstr "Administration de Paperless-ng"
|
msgstr "Administration de Paperless-ng"
|
||||||
|
686
src/locale/it/LC_MESSAGES/django.po
Normal file
686
src/locale/it/LC_MESSAGES/django.po
Normal file
@ -0,0 +1,686 @@
|
|||||||
|
# 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: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: \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"
|
||||||
|
|
||||||
|
#: documents/apps.py:10
|
||||||
|
msgid "Documents"
|
||||||
|
msgstr "Documenti"
|
||||||
|
|
||||||
|
#: documents/models.py:32
|
||||||
|
msgid "Any word"
|
||||||
|
msgstr "Qualsiasi parola"
|
||||||
|
|
||||||
|
#: documents/models.py:33
|
||||||
|
msgid "All words"
|
||||||
|
msgstr "Tutte le parole"
|
||||||
|
|
||||||
|
#: documents/models.py:34
|
||||||
|
msgid "Exact match"
|
||||||
|
msgstr "Corrispondenza esatta"
|
||||||
|
|
||||||
|
#: documents/models.py:35
|
||||||
|
msgid "Regular expression"
|
||||||
|
msgstr "Espressione regolare"
|
||||||
|
|
||||||
|
#: documents/models.py:36
|
||||||
|
msgid "Fuzzy word"
|
||||||
|
msgstr "Parole fuzzy"
|
||||||
|
|
||||||
|
#: documents/models.py:37
|
||||||
|
msgid "Automatic"
|
||||||
|
msgstr "Automatico"
|
||||||
|
|
||||||
|
#: 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 "corrispondenza"
|
||||||
|
|
||||||
|
#: documents/models.py:49
|
||||||
|
msgid "matching algorithm"
|
||||||
|
msgstr "algoritmo di corrispondenza"
|
||||||
|
|
||||||
|
#: documents/models.py:55
|
||||||
|
msgid "is insensitive"
|
||||||
|
msgstr "non distingue maiuscole e minuscole"
|
||||||
|
|
||||||
|
#: documents/models.py:74 documents/models.py:120
|
||||||
|
msgid "correspondent"
|
||||||
|
msgstr "corrispondente"
|
||||||
|
|
||||||
|
#: documents/models.py:75
|
||||||
|
msgid "correspondents"
|
||||||
|
msgstr "corrispondenti"
|
||||||
|
|
||||||
|
#: documents/models.py:81
|
||||||
|
msgid "color"
|
||||||
|
msgstr "colore"
|
||||||
|
|
||||||
|
#: documents/models.py:87
|
||||||
|
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."
|
||||||
|
|
||||||
|
#: documents/models.py:94
|
||||||
|
msgid "tag"
|
||||||
|
msgstr "tag"
|
||||||
|
|
||||||
|
#: documents/models.py:95 documents/models.py:151
|
||||||
|
msgid "tags"
|
||||||
|
msgstr "tag"
|
||||||
|
|
||||||
|
#: documents/models.py:101 documents/models.py:133
|
||||||
|
msgid "document type"
|
||||||
|
msgstr "tipo di documento"
|
||||||
|
|
||||||
|
#: documents/models.py:102
|
||||||
|
msgid "document types"
|
||||||
|
msgstr "tipi di documento"
|
||||||
|
|
||||||
|
#: documents/models.py:110
|
||||||
|
msgid "Unencrypted"
|
||||||
|
msgstr "Non criptato"
|
||||||
|
|
||||||
|
#: documents/models.py:111
|
||||||
|
msgid "Encrypted with GNU Privacy Guard"
|
||||||
|
msgstr "Criptato con GNU Privacy Guard"
|
||||||
|
|
||||||
|
#: documents/models.py:124
|
||||||
|
msgid "title"
|
||||||
|
msgstr "titolo"
|
||||||
|
|
||||||
|
#: documents/models.py:137
|
||||||
|
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."
|
||||||
|
|
||||||
|
#: documents/models.py:144
|
||||||
|
msgid "mime type"
|
||||||
|
msgstr "tipo mime"
|
||||||
|
|
||||||
|
#: documents/models.py:155
|
||||||
|
msgid "checksum"
|
||||||
|
msgstr "checksum"
|
||||||
|
|
||||||
|
#: documents/models.py:159
|
||||||
|
msgid "The checksum of the original document."
|
||||||
|
msgstr "Il checksum del documento originale."
|
||||||
|
|
||||||
|
#: documents/models.py:163
|
||||||
|
msgid "archive checksum"
|
||||||
|
msgstr "checksum dell'archivio"
|
||||||
|
|
||||||
|
#: documents/models.py:168
|
||||||
|
msgid "The checksum of the archived document."
|
||||||
|
msgstr "Il checksum del documento archiviato."
|
||||||
|
|
||||||
|
#: documents/models.py:172 documents/models.py:328
|
||||||
|
msgid "created"
|
||||||
|
msgstr "creato il"
|
||||||
|
|
||||||
|
#: documents/models.py:176
|
||||||
|
msgid "modified"
|
||||||
|
msgstr "modificato il"
|
||||||
|
|
||||||
|
#: documents/models.py:180
|
||||||
|
msgid "storage type"
|
||||||
|
msgstr "tipo di storage"
|
||||||
|
|
||||||
|
#: documents/models.py:188
|
||||||
|
msgid "added"
|
||||||
|
msgstr "aggiunto il"
|
||||||
|
|
||||||
|
#: documents/models.py:192
|
||||||
|
msgid "filename"
|
||||||
|
msgstr "nome del file"
|
||||||
|
|
||||||
|
#: documents/models.py:198
|
||||||
|
msgid "Current filename in storage"
|
||||||
|
msgstr "Nome del file corrente nello storage"
|
||||||
|
|
||||||
|
#: documents/models.py:202
|
||||||
|
msgid "archive filename"
|
||||||
|
msgstr "Nome file in archivio"
|
||||||
|
|
||||||
|
#: documents/models.py:208
|
||||||
|
msgid "Current archive filename in storage"
|
||||||
|
msgstr "Il nome del file nell'archiviazione"
|
||||||
|
|
||||||
|
#: documents/models.py:212
|
||||||
|
msgid "archive serial number"
|
||||||
|
msgstr "numero seriale dell'archivio"
|
||||||
|
|
||||||
|
#: documents/models.py:217
|
||||||
|
msgid "The position of this document in your physical document archive."
|
||||||
|
msgstr "Posizione di questo documento all'interno dell'archivio fisico."
|
||||||
|
|
||||||
|
#: documents/models.py:223
|
||||||
|
msgid "document"
|
||||||
|
msgstr "documento"
|
||||||
|
|
||||||
|
#: documents/models.py:224
|
||||||
|
msgid "documents"
|
||||||
|
msgstr "documenti"
|
||||||
|
|
||||||
|
#: documents/models.py:311
|
||||||
|
msgid "debug"
|
||||||
|
msgstr "debug"
|
||||||
|
|
||||||
|
#: documents/models.py:312
|
||||||
|
msgid "information"
|
||||||
|
msgstr "informazione"
|
||||||
|
|
||||||
|
#: documents/models.py:313
|
||||||
|
msgid "warning"
|
||||||
|
msgstr "avvertimento"
|
||||||
|
|
||||||
|
#: documents/models.py:314
|
||||||
|
msgid "error"
|
||||||
|
msgstr "errore"
|
||||||
|
|
||||||
|
#: documents/models.py:315
|
||||||
|
msgid "critical"
|
||||||
|
msgstr "critico"
|
||||||
|
|
||||||
|
#: documents/models.py:319
|
||||||
|
msgid "group"
|
||||||
|
msgstr "gruppo"
|
||||||
|
|
||||||
|
#: documents/models.py:322
|
||||||
|
msgid "message"
|
||||||
|
msgstr "messaggio"
|
||||||
|
|
||||||
|
#: documents/models.py:325
|
||||||
|
msgid "level"
|
||||||
|
msgstr "livello"
|
||||||
|
|
||||||
|
#: documents/models.py:332
|
||||||
|
msgid "log"
|
||||||
|
msgstr "log"
|
||||||
|
|
||||||
|
#: documents/models.py:333
|
||||||
|
msgid "logs"
|
||||||
|
msgstr "log"
|
||||||
|
|
||||||
|
#: documents/models.py:344 documents/models.py:394
|
||||||
|
msgid "saved view"
|
||||||
|
msgstr "vista salvata"
|
||||||
|
|
||||||
|
#: documents/models.py:345
|
||||||
|
msgid "saved views"
|
||||||
|
msgstr "viste salvate"
|
||||||
|
|
||||||
|
#: documents/models.py:348
|
||||||
|
msgid "user"
|
||||||
|
msgstr "utente"
|
||||||
|
|
||||||
|
#: documents/models.py:354
|
||||||
|
msgid "show on dashboard"
|
||||||
|
msgstr "mostra sul cruscotto"
|
||||||
|
|
||||||
|
#: documents/models.py:357
|
||||||
|
msgid "show in sidebar"
|
||||||
|
msgstr "mostra nella barra laterale"
|
||||||
|
|
||||||
|
#: documents/models.py:361
|
||||||
|
msgid "sort field"
|
||||||
|
msgstr "campo di ordinamento"
|
||||||
|
|
||||||
|
#: documents/models.py:364
|
||||||
|
msgid "sort reverse"
|
||||||
|
msgstr "ordine invertito"
|
||||||
|
|
||||||
|
#: documents/models.py:370
|
||||||
|
msgid "title contains"
|
||||||
|
msgstr "il titolo contiene"
|
||||||
|
|
||||||
|
#: documents/models.py:371
|
||||||
|
msgid "content contains"
|
||||||
|
msgstr "il contenuto contiene"
|
||||||
|
|
||||||
|
#: documents/models.py:372
|
||||||
|
msgid "ASN is"
|
||||||
|
msgstr "ASN è"
|
||||||
|
|
||||||
|
#: documents/models.py:373
|
||||||
|
msgid "correspondent is"
|
||||||
|
msgstr "la corrispondenza è"
|
||||||
|
|
||||||
|
#: documents/models.py:374
|
||||||
|
msgid "document type is"
|
||||||
|
msgstr "il tipo di documento è"
|
||||||
|
|
||||||
|
#: documents/models.py:375
|
||||||
|
msgid "is in inbox"
|
||||||
|
msgstr "è in arrivo"
|
||||||
|
|
||||||
|
#: documents/models.py:376
|
||||||
|
msgid "has tag"
|
||||||
|
msgstr "ha etichetta"
|
||||||
|
|
||||||
|
#: documents/models.py:377
|
||||||
|
msgid "has any tag"
|
||||||
|
msgstr "ha qualsiasi etichetta"
|
||||||
|
|
||||||
|
#: documents/models.py:378
|
||||||
|
msgid "created before"
|
||||||
|
msgstr "creato prima del"
|
||||||
|
|
||||||
|
#: documents/models.py:379
|
||||||
|
msgid "created after"
|
||||||
|
msgstr "creato dopo il"
|
||||||
|
|
||||||
|
#: documents/models.py:380
|
||||||
|
msgid "created year is"
|
||||||
|
msgstr "l'anno di creazione è"
|
||||||
|
|
||||||
|
#: documents/models.py:381
|
||||||
|
msgid "created month is"
|
||||||
|
msgstr "il mese di creazione è"
|
||||||
|
|
||||||
|
#: documents/models.py:382
|
||||||
|
msgid "created day is"
|
||||||
|
msgstr "il giorno di creazione è"
|
||||||
|
|
||||||
|
#: documents/models.py:383
|
||||||
|
msgid "added before"
|
||||||
|
msgstr "aggiunto prima del"
|
||||||
|
|
||||||
|
#: documents/models.py:384
|
||||||
|
msgid "added after"
|
||||||
|
msgstr "aggiunto dopo il"
|
||||||
|
|
||||||
|
#: documents/models.py:385
|
||||||
|
msgid "modified before"
|
||||||
|
msgstr "modificato prima del"
|
||||||
|
|
||||||
|
#: documents/models.py:386
|
||||||
|
msgid "modified after"
|
||||||
|
msgstr "modificato dopo"
|
||||||
|
|
||||||
|
#: documents/models.py:387
|
||||||
|
msgid "does not have tag"
|
||||||
|
msgstr "non ha tag"
|
||||||
|
|
||||||
|
#: documents/models.py:398
|
||||||
|
msgid "rule type"
|
||||||
|
msgstr "tipo di regola"
|
||||||
|
|
||||||
|
#: documents/models.py:402
|
||||||
|
msgid "value"
|
||||||
|
msgstr "valore"
|
||||||
|
|
||||||
|
#: documents/models.py:408
|
||||||
|
msgid "filter rule"
|
||||||
|
msgstr "regola filtro"
|
||||||
|
|
||||||
|
#: documents/models.py:409
|
||||||
|
msgid "filter rules"
|
||||||
|
msgstr "regole filtro"
|
||||||
|
|
||||||
|
#: documents/serialisers.py:53
|
||||||
|
#, python-format
|
||||||
|
msgid "Invalid regular expresssion: %(error)s"
|
||||||
|
msgstr "Espressione regolare non valida: %(error)s"
|
||||||
|
|
||||||
|
#: documents/serialisers.py:177
|
||||||
|
msgid "Invalid color."
|
||||||
|
msgstr "Colore non valido."
|
||||||
|
|
||||||
|
#: documents/serialisers.py:451
|
||||||
|
#, python-format
|
||||||
|
msgid "File type %(type)s not supported"
|
||||||
|
msgstr "Il tipo di file %(type)s non è supportato"
|
||||||
|
|
||||||
|
#: documents/templates/index.html:21
|
||||||
|
msgid "Paperless-ng is loading..."
|
||||||
|
msgstr "Paperless-ng si sta caricando..."
|
||||||
|
|
||||||
|
#: documents/templates/registration/logged_out.html:13
|
||||||
|
msgid "Paperless-ng signed out"
|
||||||
|
msgstr "Paperless-ng è uscito"
|
||||||
|
|
||||||
|
#: documents/templates/registration/logged_out.html:41
|
||||||
|
msgid "You have been successfully logged out. Bye!"
|
||||||
|
msgstr "Vi siete disconnessi. Ciao!"
|
||||||
|
|
||||||
|
#: documents/templates/registration/logged_out.html:42
|
||||||
|
msgid "Sign in again"
|
||||||
|
msgstr "Rientra nuovamente"
|
||||||
|
|
||||||
|
#: documents/templates/registration/login.html:13
|
||||||
|
msgid "Paperless-ng sign in"
|
||||||
|
msgstr "Accedi a Paperless-ng"
|
||||||
|
|
||||||
|
#: documents/templates/registration/login.html:42
|
||||||
|
msgid "Please sign in."
|
||||||
|
msgstr "Accedi"
|
||||||
|
|
||||||
|
#: documents/templates/registration/login.html:45
|
||||||
|
msgid "Your username and password didn't match. Please try again."
|
||||||
|
msgstr "Il nome utente e la password non sono corretti. Riprovare."
|
||||||
|
|
||||||
|
#: documents/templates/registration/login.html:48
|
||||||
|
msgid "Username"
|
||||||
|
msgstr "Nome utente"
|
||||||
|
|
||||||
|
#: documents/templates/registration/login.html:49
|
||||||
|
msgid "Password"
|
||||||
|
msgstr "Password"
|
||||||
|
|
||||||
|
#: documents/templates/registration/login.html:54
|
||||||
|
msgid "Sign in"
|
||||||
|
msgstr "Accedi"
|
||||||
|
|
||||||
|
#: paperless/settings.py:297
|
||||||
|
msgid "English (US)"
|
||||||
|
msgstr "Inglese (US)"
|
||||||
|
|
||||||
|
#: paperless/settings.py:298
|
||||||
|
msgid "English (GB)"
|
||||||
|
msgstr "Inglese (GB)"
|
||||||
|
|
||||||
|
#: paperless/settings.py:299
|
||||||
|
msgid "German"
|
||||||
|
msgstr "Tedesco"
|
||||||
|
|
||||||
|
#: paperless/settings.py:300
|
||||||
|
msgid "Dutch"
|
||||||
|
msgstr "Olandese"
|
||||||
|
|
||||||
|
#: paperless/settings.py:301
|
||||||
|
msgid "French"
|
||||||
|
msgstr "Francese"
|
||||||
|
|
||||||
|
#: paperless/settings.py:302
|
||||||
|
msgid "Portuguese (Brazil)"
|
||||||
|
msgstr "Portoghese (Brasile)"
|
||||||
|
|
||||||
|
#: paperless/settings.py:303
|
||||||
|
msgid "Italian"
|
||||||
|
msgstr "Italiano"
|
||||||
|
|
||||||
|
#: paperless/settings.py:304
|
||||||
|
msgid "Romanian"
|
||||||
|
msgstr "Rumeno"
|
||||||
|
|
||||||
|
#: paperless/urls.py:118
|
||||||
|
msgid "Paperless-ng administration"
|
||||||
|
msgstr "Amministrazione di Paperless-ng"
|
||||||
|
|
||||||
|
#: 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-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."
|
||||||
|
|
||||||
|
#: 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."
|
||||||
|
|
||||||
|
#: paperless_mail/apps.py:9
|
||||||
|
msgid "Paperless mail"
|
||||||
|
msgstr "Email Paperless"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:11
|
||||||
|
msgid "mail account"
|
||||||
|
msgstr "account email"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:12
|
||||||
|
msgid "mail accounts"
|
||||||
|
msgstr "account email"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:19
|
||||||
|
msgid "No encryption"
|
||||||
|
msgstr "Nessuna crittografia"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:20
|
||||||
|
msgid "Use SSL"
|
||||||
|
msgstr "Usa SSL"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:21
|
||||||
|
msgid "Use STARTTLS"
|
||||||
|
msgstr "Usa STARTTLS"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:29
|
||||||
|
msgid "IMAP server"
|
||||||
|
msgstr "Server IMAP"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:33
|
||||||
|
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."
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:40
|
||||||
|
msgid "IMAP security"
|
||||||
|
msgstr "Sicurezza IMAP"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:46
|
||||||
|
msgid "username"
|
||||||
|
msgstr "nome utente"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:50
|
||||||
|
msgid "password"
|
||||||
|
msgstr "password"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:60
|
||||||
|
msgid "mail rule"
|
||||||
|
msgstr "regola email"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:61
|
||||||
|
msgid "mail rules"
|
||||||
|
msgstr "regole email"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:67
|
||||||
|
msgid "Only process attachments."
|
||||||
|
msgstr "Elabora solo gli allegati."
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:68
|
||||||
|
msgid "Process all files, including 'inline' attachments."
|
||||||
|
msgstr "Elabora tutti i file, inclusi gli allegati nel corpo."
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:78
|
||||||
|
msgid "Mark as read, don't process read mails"
|
||||||
|
msgstr "Segna come letto, non elaborare le email lette"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:79
|
||||||
|
msgid "Flag the mail, don't process flagged mails"
|
||||||
|
msgstr "Contrassegna la email, non elaborare le email elaborate."
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:80
|
||||||
|
msgid "Move to specified folder"
|
||||||
|
msgstr "Sposta in una cartella"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:81
|
||||||
|
msgid "Delete"
|
||||||
|
msgstr "Elimina"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:88
|
||||||
|
msgid "Use subject as title"
|
||||||
|
msgstr "Usa oggetto come titolo"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:89
|
||||||
|
msgid "Use attachment filename as title"
|
||||||
|
msgstr "Usa il nome dell'allegato come titolo"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:99
|
||||||
|
msgid "Do not assign a correspondent"
|
||||||
|
msgstr "Non assegnare un corrispondente"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:101
|
||||||
|
msgid "Use mail address"
|
||||||
|
msgstr "Usa indirizzo email"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:103
|
||||||
|
msgid "Use name (or mail address if not available)"
|
||||||
|
msgstr "Usa nome (o indirizzo email se non disponibile)"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:105
|
||||||
|
msgid "Use correspondent selected below"
|
||||||
|
msgstr "Usa il corrispondente selezionato qui sotto"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:113
|
||||||
|
msgid "order"
|
||||||
|
msgstr "priorità"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:120
|
||||||
|
msgid "account"
|
||||||
|
msgstr "account"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:124
|
||||||
|
msgid "folder"
|
||||||
|
msgstr "cartella"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:128
|
||||||
|
msgid "filter from"
|
||||||
|
msgstr "filtra da"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:131
|
||||||
|
msgid "filter subject"
|
||||||
|
msgstr "filtra oggetto"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:134
|
||||||
|
msgid "filter body"
|
||||||
|
msgstr "filtra corpo"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:138
|
||||||
|
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."
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:146
|
||||||
|
msgid "maximum age"
|
||||||
|
msgstr "età massima"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:148
|
||||||
|
msgid "Specified in days."
|
||||||
|
msgstr "Definito in giorni."
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:151
|
||||||
|
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."
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:159
|
||||||
|
msgid "action"
|
||||||
|
msgstr "azione"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:165
|
||||||
|
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."
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:173
|
||||||
|
msgid "assign title from"
|
||||||
|
msgstr "assegna tittolo da"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:183
|
||||||
|
msgid "assign this tag"
|
||||||
|
msgstr "assegna questo tag"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:191
|
||||||
|
msgid "assign this document type"
|
||||||
|
msgstr "assegna questo tipo di documento"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:195
|
||||||
|
msgid "assign correspondent from"
|
||||||
|
msgstr "assegna corrispondente da"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:205
|
||||||
|
msgid "assign this correspondent"
|
||||||
|
msgstr "assegna questo corrispondente"
|
@ -6,15 +6,16 @@
|
|||||||
# Translators:
|
# Translators:
|
||||||
# Jonas Winkler, 2021
|
# Jonas Winkler, 2021
|
||||||
# Jo Vandeginste <jo.vandeginste@gmail.com>, 2021
|
# Jo Vandeginste <jo.vandeginste@gmail.com>, 2021
|
||||||
|
# Ben <bzweekhorst@gmail.com>, 2021
|
||||||
#
|
#
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2021-02-16 14:52+0100\n"
|
"POT-Creation-Date: 2021-02-28 12:40+0100\n"
|
||||||
"PO-Revision-Date: 2021-02-16 18:37+0000\n"
|
"PO-Revision-Date: 2021-02-16 18:37+0000\n"
|
||||||
"Last-Translator: Jo Vandeginste <jo.vandeginste@gmail.com>, 2021\n"
|
"Last-Translator: Ben <bzweekhorst@gmail.com>, 2021\n"
|
||||||
"Language-Team: Dutch (Netherlands) (https://www.transifex.com/paperless/teams/115905/nl_NL/)\n"
|
"Language-Team: Dutch (Netherlands) (https://www.transifex.com/paperless/teams/115905/nl_NL/)\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
@ -50,7 +51,7 @@ msgstr "Gelijkaardig woord"
|
|||||||
msgid "Automatic"
|
msgid "Automatic"
|
||||||
msgstr "Automatisch"
|
msgstr "Automatisch"
|
||||||
|
|
||||||
#: documents/models.py:41 documents/models.py:364 paperless_mail/models.py:25
|
#: documents/models.py:41 documents/models.py:350 paperless_mail/models.py:25
|
||||||
#: paperless_mail/models.py:109
|
#: paperless_mail/models.py:109
|
||||||
msgid "name"
|
msgid "name"
|
||||||
msgstr "naam"
|
msgstr "naam"
|
||||||
@ -67,7 +68,7 @@ msgstr "Algoritme voor het bepalen van de overeenkomst"
|
|||||||
msgid "is insensitive"
|
msgid "is insensitive"
|
||||||
msgstr "is niet hoofdlettergevoelig"
|
msgstr "is niet hoofdlettergevoelig"
|
||||||
|
|
||||||
#: documents/models.py:74 documents/models.py:134
|
#: documents/models.py:74 documents/models.py:120
|
||||||
msgid "correspondent"
|
msgid "correspondent"
|
||||||
msgstr "correspondent"
|
msgstr "correspondent"
|
||||||
|
|
||||||
@ -75,15 +76,15 @@ msgstr "correspondent"
|
|||||||
msgid "correspondents"
|
msgid "correspondents"
|
||||||
msgstr "correspondenten"
|
msgstr "correspondenten"
|
||||||
|
|
||||||
#: documents/models.py:97
|
#: documents/models.py:81
|
||||||
msgid "color"
|
msgid "color"
|
||||||
msgstr "Kleur"
|
msgstr "Kleur"
|
||||||
|
|
||||||
#: documents/models.py:101
|
#: documents/models.py:87
|
||||||
msgid "is inbox tag"
|
msgid "is inbox tag"
|
||||||
msgstr "is \"Postvak in\"-etiket"
|
msgstr "is \"Postvak in\"-etiket"
|
||||||
|
|
||||||
#: documents/models.py:103
|
#: documents/models.py:89
|
||||||
msgid ""
|
msgid ""
|
||||||
"Marks this tag as an inbox tag: All newly consumed documents will be tagged "
|
"Marks this tag as an inbox tag: All newly consumed documents will be tagged "
|
||||||
"with inbox tags."
|
"with inbox tags."
|
||||||
@ -91,39 +92,39 @@ msgstr ""
|
|||||||
"Markeer dit etiket als een \"Postvak in\"-etiket: alle nieuw verwerkte "
|
"Markeer dit etiket als een \"Postvak in\"-etiket: alle nieuw verwerkte "
|
||||||
"documenten krijgen de \"Postvak in\"-etiketten."
|
"documenten krijgen de \"Postvak in\"-etiketten."
|
||||||
|
|
||||||
#: documents/models.py:108
|
#: documents/models.py:94
|
||||||
msgid "tag"
|
msgid "tag"
|
||||||
msgstr "etiket"
|
msgstr "etiket"
|
||||||
|
|
||||||
#: documents/models.py:109 documents/models.py:165
|
#: documents/models.py:95 documents/models.py:151
|
||||||
msgid "tags"
|
msgid "tags"
|
||||||
msgstr "etiketten"
|
msgstr "etiketten"
|
||||||
|
|
||||||
#: documents/models.py:115 documents/models.py:147
|
#: documents/models.py:101 documents/models.py:133
|
||||||
msgid "document type"
|
msgid "document type"
|
||||||
msgstr "documenttype"
|
msgstr "documenttype"
|
||||||
|
|
||||||
#: documents/models.py:116
|
#: documents/models.py:102
|
||||||
msgid "document types"
|
msgid "document types"
|
||||||
msgstr "documenttypen"
|
msgstr "documenttypen"
|
||||||
|
|
||||||
#: documents/models.py:124
|
#: documents/models.py:110
|
||||||
msgid "Unencrypted"
|
msgid "Unencrypted"
|
||||||
msgstr "Niet versleuteld"
|
msgstr "Niet versleuteld"
|
||||||
|
|
||||||
#: documents/models.py:125
|
#: documents/models.py:111
|
||||||
msgid "Encrypted with GNU Privacy Guard"
|
msgid "Encrypted with GNU Privacy Guard"
|
||||||
msgstr "Versleuteld met GNU Privacy Guard"
|
msgstr "Versleuteld met GNU Privacy Guard"
|
||||||
|
|
||||||
#: documents/models.py:138
|
#: documents/models.py:124
|
||||||
msgid "title"
|
msgid "title"
|
||||||
msgstr "titel"
|
msgstr "titel"
|
||||||
|
|
||||||
#: documents/models.py:151
|
#: documents/models.py:137
|
||||||
msgid "content"
|
msgid "content"
|
||||||
msgstr "inhoud"
|
msgstr "inhoud"
|
||||||
|
|
||||||
#: documents/models.py:153
|
#: documents/models.py:139
|
||||||
msgid ""
|
msgid ""
|
||||||
"The raw, text-only data of the document. This field is primarily used for "
|
"The raw, text-only data of the document. This field is primarily used for "
|
||||||
"searching."
|
"searching."
|
||||||
@ -131,236 +132,245 @@ msgstr ""
|
|||||||
"De onbewerkte gegevens van het document. Dit veld wordt voornamelijk "
|
"De onbewerkte gegevens van het document. Dit veld wordt voornamelijk "
|
||||||
"gebruikt om te zoeken."
|
"gebruikt om te zoeken."
|
||||||
|
|
||||||
#: documents/models.py:158
|
#: documents/models.py:144
|
||||||
msgid "mime type"
|
msgid "mime type"
|
||||||
msgstr "mimetype"
|
msgstr "mimetype"
|
||||||
|
|
||||||
#: documents/models.py:169
|
#: documents/models.py:155
|
||||||
msgid "checksum"
|
msgid "checksum"
|
||||||
msgstr "checksum"
|
msgstr "checksum"
|
||||||
|
|
||||||
#: documents/models.py:173
|
#: documents/models.py:159
|
||||||
msgid "The checksum of the original document."
|
msgid "The checksum of the original document."
|
||||||
msgstr "Het controlecijfer van het originele document."
|
msgstr "Het controlecijfer van het originele document."
|
||||||
|
|
||||||
#: documents/models.py:177
|
#: documents/models.py:163
|
||||||
msgid "archive checksum"
|
msgid "archive checksum"
|
||||||
msgstr "archief checksum"
|
msgstr "archief checksum"
|
||||||
|
|
||||||
#: documents/models.py:182
|
#: documents/models.py:168
|
||||||
msgid "The checksum of the archived document."
|
msgid "The checksum of the archived document."
|
||||||
msgstr "De checksum van het gearchiveerde document."
|
msgstr "De checksum van het gearchiveerde document."
|
||||||
|
|
||||||
#: documents/models.py:186 documents/models.py:342
|
#: documents/models.py:172 documents/models.py:328
|
||||||
msgid "created"
|
msgid "created"
|
||||||
msgstr "aangemaakt"
|
msgstr "aangemaakt"
|
||||||
|
|
||||||
#: documents/models.py:190
|
#: documents/models.py:176
|
||||||
msgid "modified"
|
msgid "modified"
|
||||||
msgstr "gewijzigd"
|
msgstr "gewijzigd"
|
||||||
|
|
||||||
#: documents/models.py:194
|
#: documents/models.py:180
|
||||||
msgid "storage type"
|
msgid "storage type"
|
||||||
msgstr "type opslag"
|
msgstr "type opslag"
|
||||||
|
|
||||||
#: documents/models.py:202
|
#: documents/models.py:188
|
||||||
msgid "added"
|
msgid "added"
|
||||||
msgstr "toegevoegd"
|
msgstr "toegevoegd"
|
||||||
|
|
||||||
#: documents/models.py:206
|
#: documents/models.py:192
|
||||||
msgid "filename"
|
msgid "filename"
|
||||||
msgstr "bestandsnaam"
|
msgstr "bestandsnaam"
|
||||||
|
|
||||||
#: documents/models.py:212
|
#: documents/models.py:198
|
||||||
msgid "Current filename in storage"
|
msgid "Current filename in storage"
|
||||||
msgstr "Huidige bestandsnaam in opslag"
|
msgstr "Huidige bestandsnaam in opslag"
|
||||||
|
|
||||||
#: documents/models.py:216
|
#: documents/models.py:202
|
||||||
msgid "archive filename"
|
msgid "archive filename"
|
||||||
msgstr "Bestandsnaam in archief"
|
msgstr "Bestandsnaam in archief"
|
||||||
|
|
||||||
#: documents/models.py:222
|
#: documents/models.py:208
|
||||||
msgid "Current archive filename in storage"
|
msgid "Current archive filename in storage"
|
||||||
msgstr "Huidige bestandsnaam in archief"
|
msgstr "Huidige bestandsnaam in archief"
|
||||||
|
|
||||||
#: documents/models.py:226
|
#: documents/models.py:212
|
||||||
msgid "archive serial number"
|
msgid "archive serial number"
|
||||||
msgstr "serienummer in archief"
|
msgstr "serienummer in archief"
|
||||||
|
|
||||||
#: documents/models.py:231
|
#: documents/models.py:217
|
||||||
msgid "The position of this document in your physical document archive."
|
msgid "The position of this document in your physical document archive."
|
||||||
msgstr "De positie van dit document in je fysieke documentenarchief."
|
msgstr "De positie van dit document in je fysieke documentenarchief."
|
||||||
|
|
||||||
#: documents/models.py:237
|
#: documents/models.py:223
|
||||||
msgid "document"
|
msgid "document"
|
||||||
msgstr "document"
|
msgstr "document"
|
||||||
|
|
||||||
#: documents/models.py:238
|
#: documents/models.py:224
|
||||||
msgid "documents"
|
msgid "documents"
|
||||||
msgstr "documenten"
|
msgstr "documenten"
|
||||||
|
|
||||||
#: documents/models.py:325
|
#: documents/models.py:311
|
||||||
msgid "debug"
|
msgid "debug"
|
||||||
msgstr "debug"
|
msgstr "debug"
|
||||||
|
|
||||||
#: documents/models.py:326
|
#: documents/models.py:312
|
||||||
msgid "information"
|
msgid "information"
|
||||||
msgstr "informatie"
|
msgstr "informatie"
|
||||||
|
|
||||||
#: documents/models.py:327
|
#: documents/models.py:313
|
||||||
msgid "warning"
|
msgid "warning"
|
||||||
msgstr "waarschuwing"
|
msgstr "waarschuwing"
|
||||||
|
|
||||||
#: documents/models.py:328
|
#: documents/models.py:314
|
||||||
msgid "error"
|
msgid "error"
|
||||||
msgstr "fout"
|
msgstr "fout"
|
||||||
|
|
||||||
#: documents/models.py:329
|
#: documents/models.py:315
|
||||||
msgid "critical"
|
msgid "critical"
|
||||||
msgstr "kritisch"
|
msgstr "kritisch"
|
||||||
|
|
||||||
#: documents/models.py:333
|
#: documents/models.py:319
|
||||||
msgid "group"
|
msgid "group"
|
||||||
msgstr "groep"
|
msgstr "groep"
|
||||||
|
|
||||||
#: documents/models.py:336
|
#: documents/models.py:322
|
||||||
msgid "message"
|
msgid "message"
|
||||||
msgstr "bericht"
|
msgstr "bericht"
|
||||||
|
|
||||||
#: documents/models.py:339
|
#: documents/models.py:325
|
||||||
msgid "level"
|
msgid "level"
|
||||||
msgstr "niveau"
|
msgstr "niveau"
|
||||||
|
|
||||||
#: documents/models.py:346
|
#: documents/models.py:332
|
||||||
msgid "log"
|
msgid "log"
|
||||||
msgstr "bericht"
|
msgstr "bericht"
|
||||||
|
|
||||||
#: documents/models.py:347
|
#: documents/models.py:333
|
||||||
msgid "logs"
|
msgid "logs"
|
||||||
msgstr "berichten"
|
msgstr "berichten"
|
||||||
|
|
||||||
#: documents/models.py:358 documents/models.py:408
|
#: documents/models.py:344 documents/models.py:394
|
||||||
msgid "saved view"
|
msgid "saved view"
|
||||||
msgstr "opgeslagen view"
|
msgstr "opgeslagen view"
|
||||||
|
|
||||||
#: documents/models.py:359
|
#: documents/models.py:345
|
||||||
msgid "saved views"
|
msgid "saved views"
|
||||||
msgstr "opgeslagen views"
|
msgstr "opgeslagen views"
|
||||||
|
|
||||||
#: documents/models.py:362
|
#: documents/models.py:348
|
||||||
msgid "user"
|
msgid "user"
|
||||||
msgstr "gebruiker"
|
msgstr "gebruiker"
|
||||||
|
|
||||||
#: documents/models.py:368
|
#: documents/models.py:354
|
||||||
msgid "show on dashboard"
|
msgid "show on dashboard"
|
||||||
msgstr "weergeven op dashboard"
|
msgstr "weergeven op dashboard"
|
||||||
|
|
||||||
#: documents/models.py:371
|
#: documents/models.py:357
|
||||||
msgid "show in sidebar"
|
msgid "show in sidebar"
|
||||||
msgstr "weergeven in zijbalk"
|
msgstr "weergeven in zijbalk"
|
||||||
|
|
||||||
#: documents/models.py:375
|
#: documents/models.py:361
|
||||||
msgid "sort field"
|
msgid "sort field"
|
||||||
msgstr "sorteerveld"
|
msgstr "sorteerveld"
|
||||||
|
|
||||||
#: documents/models.py:378
|
#: documents/models.py:364
|
||||||
msgid "sort reverse"
|
msgid "sort reverse"
|
||||||
msgstr "omgekeerd sorteren"
|
msgstr "omgekeerd sorteren"
|
||||||
|
|
||||||
#: documents/models.py:384
|
#: documents/models.py:370
|
||||||
msgid "title contains"
|
msgid "title contains"
|
||||||
msgstr "titel bevat"
|
msgstr "titel bevat"
|
||||||
|
|
||||||
#: documents/models.py:385
|
#: documents/models.py:371
|
||||||
msgid "content contains"
|
msgid "content contains"
|
||||||
msgstr "inhoud bevat"
|
msgstr "inhoud bevat"
|
||||||
|
|
||||||
#: documents/models.py:386
|
#: documents/models.py:372
|
||||||
msgid "ASN is"
|
msgid "ASN is"
|
||||||
msgstr "ASN is"
|
msgstr "ASN is"
|
||||||
|
|
||||||
#: documents/models.py:387
|
#: documents/models.py:373
|
||||||
msgid "correspondent is"
|
msgid "correspondent is"
|
||||||
msgstr "correspondent is"
|
msgstr "correspondent is"
|
||||||
|
|
||||||
#: documents/models.py:388
|
#: documents/models.py:374
|
||||||
msgid "document type is"
|
msgid "document type is"
|
||||||
msgstr "documenttype is"
|
msgstr "documenttype is"
|
||||||
|
|
||||||
#: documents/models.py:389
|
#: documents/models.py:375
|
||||||
msgid "is in inbox"
|
msgid "is in inbox"
|
||||||
msgstr "zit in \"Postvak in\""
|
msgstr "zit in \"Postvak in\""
|
||||||
|
|
||||||
#: documents/models.py:390
|
#: documents/models.py:376
|
||||||
msgid "has tag"
|
msgid "has tag"
|
||||||
msgstr "heeft etiket"
|
msgstr "heeft etiket"
|
||||||
|
|
||||||
#: documents/models.py:391
|
#: documents/models.py:377
|
||||||
msgid "has any tag"
|
msgid "has any tag"
|
||||||
msgstr "heeft één van de etiketten"
|
msgstr "heeft één van de etiketten"
|
||||||
|
|
||||||
#: documents/models.py:392
|
#: documents/models.py:378
|
||||||
msgid "created before"
|
msgid "created before"
|
||||||
msgstr "aangemaakt voor"
|
msgstr "aangemaakt voor"
|
||||||
|
|
||||||
#: documents/models.py:393
|
#: documents/models.py:379
|
||||||
msgid "created after"
|
msgid "created after"
|
||||||
msgstr "aangemaakt na"
|
msgstr "aangemaakt na"
|
||||||
|
|
||||||
#: documents/models.py:394
|
#: documents/models.py:380
|
||||||
msgid "created year is"
|
msgid "created year is"
|
||||||
msgstr "aangemaakt jaar is"
|
msgstr "aangemaakt jaar is"
|
||||||
|
|
||||||
#: documents/models.py:395
|
#: documents/models.py:381
|
||||||
msgid "created month is"
|
msgid "created month is"
|
||||||
msgstr "aangemaakte maand is"
|
msgstr "aangemaakte maand is"
|
||||||
|
|
||||||
#: documents/models.py:396
|
#: documents/models.py:382
|
||||||
msgid "created day is"
|
msgid "created day is"
|
||||||
msgstr "aangemaakte dag is"
|
msgstr "aangemaakte dag is"
|
||||||
|
|
||||||
#: documents/models.py:397
|
#: documents/models.py:383
|
||||||
msgid "added before"
|
msgid "added before"
|
||||||
msgstr "toegevoegd voor"
|
msgstr "toegevoegd voor"
|
||||||
|
|
||||||
#: documents/models.py:398
|
#: documents/models.py:384
|
||||||
msgid "added after"
|
msgid "added after"
|
||||||
msgstr "toegevoegd na"
|
msgstr "toegevoegd na"
|
||||||
|
|
||||||
#: documents/models.py:399
|
#: documents/models.py:385
|
||||||
msgid "modified before"
|
msgid "modified before"
|
||||||
msgstr "gewijzigd voor"
|
msgstr "gewijzigd voor"
|
||||||
|
|
||||||
#: documents/models.py:400
|
#: documents/models.py:386
|
||||||
msgid "modified after"
|
msgid "modified after"
|
||||||
msgstr "gewijzigd na"
|
msgstr "gewijzigd na"
|
||||||
|
|
||||||
#: documents/models.py:401
|
#: documents/models.py:387
|
||||||
msgid "does not have tag"
|
msgid "does not have tag"
|
||||||
msgstr "heeft geen etiket"
|
msgstr "heeft geen etiket"
|
||||||
|
|
||||||
#: documents/models.py:412
|
#: documents/models.py:398
|
||||||
msgid "rule type"
|
msgid "rule type"
|
||||||
msgstr "type regel"
|
msgstr "type regel"
|
||||||
|
|
||||||
#: documents/models.py:416
|
#: documents/models.py:402
|
||||||
msgid "value"
|
msgid "value"
|
||||||
msgstr "waarde"
|
msgstr "waarde"
|
||||||
|
|
||||||
#: documents/models.py:422
|
#: documents/models.py:408
|
||||||
msgid "filter rule"
|
msgid "filter rule"
|
||||||
msgstr "filterregel"
|
msgstr "filterregel"
|
||||||
|
|
||||||
#: documents/models.py:423
|
#: documents/models.py:409
|
||||||
msgid "filter rules"
|
msgid "filter rules"
|
||||||
msgstr "filterregels"
|
msgstr "filterregels"
|
||||||
|
|
||||||
#: documents/serialisers.py:370
|
#: documents/serialisers.py:53
|
||||||
|
#, python-format
|
||||||
|
msgid "Invalid regular expresssion: %(error)s"
|
||||||
|
msgstr "Ongeldige reguliere expressie: %(error)s"
|
||||||
|
|
||||||
|
#: documents/serialisers.py:177
|
||||||
|
msgid "Invalid color."
|
||||||
|
msgstr "Ongeldig kleur."
|
||||||
|
|
||||||
|
#: documents/serialisers.py:451
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "File type %(type)s not supported"
|
msgid "File type %(type)s not supported"
|
||||||
msgstr "Bestandstype %(type)s niet ondersteund"
|
msgstr "Bestandstype %(type)s niet ondersteund"
|
||||||
|
|
||||||
#: documents/templates/index.html:20
|
#: documents/templates/index.html:21
|
||||||
msgid "Paperless-ng is loading..."
|
msgid "Paperless-ng is loading..."
|
||||||
msgstr "Paperless-ng is aan het laden..."
|
msgstr "Paperless-ng is aan het laden..."
|
||||||
|
|
||||||
@ -400,27 +410,39 @@ msgstr "Wachtwoord"
|
|||||||
msgid "Sign in"
|
msgid "Sign in"
|
||||||
msgstr "Aanmelden"
|
msgstr "Aanmelden"
|
||||||
|
|
||||||
#: paperless/settings.py:291
|
#: paperless/settings.py:297
|
||||||
msgid "English (US)"
|
msgid "English (US)"
|
||||||
msgstr "Engels (US)"
|
msgstr "Engels (US)"
|
||||||
|
|
||||||
#: paperless/settings.py:292
|
#: paperless/settings.py:298
|
||||||
msgid "English (GB)"
|
msgid "English (GB)"
|
||||||
msgstr "Engels (Brits)"
|
msgstr "Engels (Brits)"
|
||||||
|
|
||||||
#: paperless/settings.py:293
|
#: paperless/settings.py:299
|
||||||
msgid "German"
|
msgid "German"
|
||||||
msgstr "Duits"
|
msgstr "Duits"
|
||||||
|
|
||||||
#: paperless/settings.py:294
|
#: paperless/settings.py:300
|
||||||
msgid "Dutch"
|
msgid "Dutch"
|
||||||
msgstr "Nederlands"
|
msgstr "Nederlands"
|
||||||
|
|
||||||
#: paperless/settings.py:295
|
#: paperless/settings.py:301
|
||||||
msgid "French"
|
msgid "French"
|
||||||
msgstr "Frans"
|
msgstr "Frans"
|
||||||
|
|
||||||
#: paperless/urls.py:114
|
#: paperless/settings.py:302
|
||||||
|
msgid "Portuguese (Brazil)"
|
||||||
|
msgstr "Portugees (Brazilië)"
|
||||||
|
|
||||||
|
#: paperless/settings.py:303
|
||||||
|
msgid "Italian"
|
||||||
|
msgstr "Italiaans"
|
||||||
|
|
||||||
|
#: paperless/settings.py:304
|
||||||
|
msgid "Romanian"
|
||||||
|
msgstr "Roemeens"
|
||||||
|
|
||||||
|
#: paperless/urls.py:118
|
||||||
msgid "Paperless-ng administration"
|
msgid "Paperless-ng administration"
|
||||||
msgstr "Paperless-ng administratie"
|
msgstr "Paperless-ng administratie"
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2021-02-24 16:49+0100\n"
|
"POT-Creation-Date: 2021-02-28 12:40+0100\n"
|
||||||
"PO-Revision-Date: 2021-02-16 18:37+0000\n"
|
"PO-Revision-Date: 2021-02-16 18:37+0000\n"
|
||||||
"Last-Translator: Rodrigo A <rodrigo.avelino@meliuz.com.br>, 2021\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"
|
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/paperless/teams/115905/pt_BR/)\n"
|
||||||
@ -50,7 +50,7 @@ msgstr "Palavra difusa (fuzzy)"
|
|||||||
msgid "Automatic"
|
msgid "Automatic"
|
||||||
msgstr "Automático"
|
msgstr "Automático"
|
||||||
|
|
||||||
#: documents/models.py:41 documents/models.py:364 paperless_mail/models.py:25
|
#: documents/models.py:41 documents/models.py:350 paperless_mail/models.py:25
|
||||||
#: paperless_mail/models.py:109
|
#: paperless_mail/models.py:109
|
||||||
msgid "name"
|
msgid "name"
|
||||||
msgstr "nome"
|
msgstr "nome"
|
||||||
@ -67,7 +67,7 @@ msgstr "algoritmo de detecção"
|
|||||||
msgid "is insensitive"
|
msgid "is insensitive"
|
||||||
msgstr "diferencia maiúsculas de minúsculas"
|
msgstr "diferencia maiúsculas de minúsculas"
|
||||||
|
|
||||||
#: documents/models.py:74 documents/models.py:134
|
#: documents/models.py:74 documents/models.py:120
|
||||||
msgid "correspondent"
|
msgid "correspondent"
|
||||||
msgstr "correspondente"
|
msgstr "correspondente"
|
||||||
|
|
||||||
@ -75,15 +75,15 @@ msgstr "correspondente"
|
|||||||
msgid "correspondents"
|
msgid "correspondents"
|
||||||
msgstr "correspondentes"
|
msgstr "correspondentes"
|
||||||
|
|
||||||
#: documents/models.py:97
|
#: documents/models.py:81
|
||||||
msgid "color"
|
msgid "color"
|
||||||
msgstr "cor"
|
msgstr "cor"
|
||||||
|
|
||||||
#: documents/models.py:101
|
#: documents/models.py:87
|
||||||
msgid "is inbox tag"
|
msgid "is inbox tag"
|
||||||
msgstr "é etiqueta caixa de entrada"
|
msgstr "é etiqueta caixa de entrada"
|
||||||
|
|
||||||
#: documents/models.py:103
|
#: documents/models.py:89
|
||||||
msgid ""
|
msgid ""
|
||||||
"Marks this tag as an inbox tag: All newly consumed documents will be tagged "
|
"Marks this tag as an inbox tag: All newly consumed documents will be tagged "
|
||||||
"with inbox tags."
|
"with inbox tags."
|
||||||
@ -91,39 +91,39 @@ msgstr ""
|
|||||||
"Marca essa etiqueta como caixa de entrada: Todos os novos documentos "
|
"Marca essa etiqueta como caixa de entrada: Todos os novos documentos "
|
||||||
"consumidos terão as etiquetas de caixa de entrada."
|
"consumidos terão as etiquetas de caixa de entrada."
|
||||||
|
|
||||||
#: documents/models.py:108
|
#: documents/models.py:94
|
||||||
msgid "tag"
|
msgid "tag"
|
||||||
msgstr "etiqueta"
|
msgstr "etiqueta"
|
||||||
|
|
||||||
#: documents/models.py:109 documents/models.py:165
|
#: documents/models.py:95 documents/models.py:151
|
||||||
msgid "tags"
|
msgid "tags"
|
||||||
msgstr "etiquetas"
|
msgstr "etiquetas"
|
||||||
|
|
||||||
#: documents/models.py:115 documents/models.py:147
|
#: documents/models.py:101 documents/models.py:133
|
||||||
msgid "document type"
|
msgid "document type"
|
||||||
msgstr "tipo de documento"
|
msgstr "tipo de documento"
|
||||||
|
|
||||||
#: documents/models.py:116
|
#: documents/models.py:102
|
||||||
msgid "document types"
|
msgid "document types"
|
||||||
msgstr "tipos de documento"
|
msgstr "tipos de documento"
|
||||||
|
|
||||||
#: documents/models.py:124
|
#: documents/models.py:110
|
||||||
msgid "Unencrypted"
|
msgid "Unencrypted"
|
||||||
msgstr "Não encriptado"
|
msgstr "Não encriptado"
|
||||||
|
|
||||||
#: documents/models.py:125
|
#: documents/models.py:111
|
||||||
msgid "Encrypted with GNU Privacy Guard"
|
msgid "Encrypted with GNU Privacy Guard"
|
||||||
msgstr "Encriptado com GNU Privacy Guard"
|
msgstr "Encriptado com GNU Privacy Guard"
|
||||||
|
|
||||||
#: documents/models.py:138
|
#: documents/models.py:124
|
||||||
msgid "title"
|
msgid "title"
|
||||||
msgstr "título"
|
msgstr "título"
|
||||||
|
|
||||||
#: documents/models.py:151
|
#: documents/models.py:137
|
||||||
msgid "content"
|
msgid "content"
|
||||||
msgstr "conteúdo"
|
msgstr "conteúdo"
|
||||||
|
|
||||||
#: documents/models.py:153
|
#: documents/models.py:139
|
||||||
msgid ""
|
msgid ""
|
||||||
"The raw, text-only data of the document. This field is primarily used for "
|
"The raw, text-only data of the document. This field is primarily used for "
|
||||||
"searching."
|
"searching."
|
||||||
@ -131,241 +131,245 @@ msgstr ""
|
|||||||
"O conteúdo de texto bruto do documento. Esse campo é usado principalmente "
|
"O conteúdo de texto bruto do documento. Esse campo é usado principalmente "
|
||||||
"para busca."
|
"para busca."
|
||||||
|
|
||||||
#: documents/models.py:158
|
#: documents/models.py:144
|
||||||
msgid "mime type"
|
msgid "mime type"
|
||||||
msgstr "tipo mime"
|
msgstr "tipo mime"
|
||||||
|
|
||||||
#: documents/models.py:169
|
#: documents/models.py:155
|
||||||
msgid "checksum"
|
msgid "checksum"
|
||||||
msgstr "some de verificação"
|
msgstr "some de verificação"
|
||||||
|
|
||||||
#: documents/models.py:173
|
#: documents/models.py:159
|
||||||
msgid "The checksum of the original document."
|
msgid "The checksum of the original document."
|
||||||
msgstr "A soma de verificação original do documento."
|
msgstr "A soma de verificação original do documento."
|
||||||
|
|
||||||
#: documents/models.py:177
|
#: documents/models.py:163
|
||||||
msgid "archive checksum"
|
msgid "archive checksum"
|
||||||
msgstr "Soma de verificação de arquivamento."
|
msgstr "Soma de verificação de arquivamento."
|
||||||
|
|
||||||
#: documents/models.py:182
|
#: documents/models.py:168
|
||||||
msgid "The checksum of the archived document."
|
msgid "The checksum of the archived document."
|
||||||
msgstr "A soma de verificação do documento arquivado."
|
msgstr "A soma de verificação do documento arquivado."
|
||||||
|
|
||||||
#: documents/models.py:186 documents/models.py:342
|
#: documents/models.py:172 documents/models.py:328
|
||||||
msgid "created"
|
msgid "created"
|
||||||
msgstr "criado"
|
msgstr "criado"
|
||||||
|
|
||||||
#: documents/models.py:190
|
#: documents/models.py:176
|
||||||
msgid "modified"
|
msgid "modified"
|
||||||
msgstr "modificado"
|
msgstr "modificado"
|
||||||
|
|
||||||
#: documents/models.py:194
|
#: documents/models.py:180
|
||||||
msgid "storage type"
|
msgid "storage type"
|
||||||
msgstr "tipo de armazenamento"
|
msgstr "tipo de armazenamento"
|
||||||
|
|
||||||
#: documents/models.py:202
|
#: documents/models.py:188
|
||||||
msgid "added"
|
msgid "added"
|
||||||
msgstr "adicionado"
|
msgstr "adicionado"
|
||||||
|
|
||||||
#: documents/models.py:206
|
#: documents/models.py:192
|
||||||
msgid "filename"
|
msgid "filename"
|
||||||
msgstr "nome do arquivo"
|
msgstr "nome do arquivo"
|
||||||
|
|
||||||
#: documents/models.py:212
|
#: documents/models.py:198
|
||||||
msgid "Current filename in storage"
|
msgid "Current filename in storage"
|
||||||
msgstr "Nome do arquivo atual armazenado"
|
msgstr "Nome do arquivo atual armazenado"
|
||||||
|
|
||||||
#: documents/models.py:216
|
#: documents/models.py:202
|
||||||
msgid "archive filename"
|
msgid "archive filename"
|
||||||
msgstr "nome do arquivo para arquivamento"
|
msgstr "nome do arquivo para arquivamento"
|
||||||
|
|
||||||
#: documents/models.py:222
|
#: documents/models.py:208
|
||||||
msgid "Current archive filename in storage"
|
msgid "Current archive filename in storage"
|
||||||
msgstr "Nome do arquivo para arquivamento armazenado"
|
msgstr "Nome do arquivo para arquivamento armazenado"
|
||||||
|
|
||||||
#: documents/models.py:226
|
#: documents/models.py:212
|
||||||
msgid "archive serial number"
|
msgid "archive serial number"
|
||||||
msgstr "número de sério de arquivamento"
|
msgstr "número de sério de arquivamento"
|
||||||
|
|
||||||
#: documents/models.py:231
|
#: documents/models.py:217
|
||||||
msgid "The position of this document in your physical document archive."
|
msgid "The position of this document in your physical document archive."
|
||||||
msgstr "A posição deste documento no seu arquivamento físico."
|
msgstr "A posição deste documento no seu arquivamento físico."
|
||||||
|
|
||||||
#: documents/models.py:237
|
#: documents/models.py:223
|
||||||
msgid "document"
|
msgid "document"
|
||||||
msgstr "documento"
|
msgstr "documento"
|
||||||
|
|
||||||
#: documents/models.py:238
|
#: documents/models.py:224
|
||||||
msgid "documents"
|
msgid "documents"
|
||||||
msgstr "documentos"
|
msgstr "documentos"
|
||||||
|
|
||||||
#: documents/models.py:325
|
#: documents/models.py:311
|
||||||
msgid "debug"
|
msgid "debug"
|
||||||
msgstr "debug"
|
msgstr "debug"
|
||||||
|
|
||||||
#: documents/models.py:326
|
#: documents/models.py:312
|
||||||
msgid "information"
|
msgid "information"
|
||||||
msgstr "informação"
|
msgstr "informação"
|
||||||
|
|
||||||
#: documents/models.py:327
|
#: documents/models.py:313
|
||||||
msgid "warning"
|
msgid "warning"
|
||||||
msgstr "aviso"
|
msgstr "aviso"
|
||||||
|
|
||||||
#: documents/models.py:328
|
#: documents/models.py:314
|
||||||
msgid "error"
|
msgid "error"
|
||||||
msgstr "erro"
|
msgstr "erro"
|
||||||
|
|
||||||
#: documents/models.py:329
|
#: documents/models.py:315
|
||||||
msgid "critical"
|
msgid "critical"
|
||||||
msgstr "crítico"
|
msgstr "crítico"
|
||||||
|
|
||||||
#: documents/models.py:333
|
#: documents/models.py:319
|
||||||
msgid "group"
|
msgid "group"
|
||||||
msgstr "grupo"
|
msgstr "grupo"
|
||||||
|
|
||||||
#: documents/models.py:336
|
#: documents/models.py:322
|
||||||
msgid "message"
|
msgid "message"
|
||||||
msgstr "mensagem"
|
msgstr "mensagem"
|
||||||
|
|
||||||
#: documents/models.py:339
|
#: documents/models.py:325
|
||||||
msgid "level"
|
msgid "level"
|
||||||
msgstr "nível"
|
msgstr "nível"
|
||||||
|
|
||||||
#: documents/models.py:346
|
#: documents/models.py:332
|
||||||
msgid "log"
|
msgid "log"
|
||||||
msgstr "log"
|
msgstr "log"
|
||||||
|
|
||||||
#: documents/models.py:347
|
#: documents/models.py:333
|
||||||
msgid "logs"
|
msgid "logs"
|
||||||
msgstr "logs"
|
msgstr "logs"
|
||||||
|
|
||||||
#: documents/models.py:358 documents/models.py:408
|
#: documents/models.py:344 documents/models.py:394
|
||||||
msgid "saved view"
|
msgid "saved view"
|
||||||
msgstr "visualização"
|
msgstr "visualização"
|
||||||
|
|
||||||
#: documents/models.py:359
|
#: documents/models.py:345
|
||||||
msgid "saved views"
|
msgid "saved views"
|
||||||
msgstr "visualizações"
|
msgstr "visualizações"
|
||||||
|
|
||||||
#: documents/models.py:362
|
#: documents/models.py:348
|
||||||
msgid "user"
|
msgid "user"
|
||||||
msgstr "usuário"
|
msgstr "usuário"
|
||||||
|
|
||||||
#: documents/models.py:368
|
#: documents/models.py:354
|
||||||
msgid "show on dashboard"
|
msgid "show on dashboard"
|
||||||
msgstr "exibir no painel de controle"
|
msgstr "exibir no painel de controle"
|
||||||
|
|
||||||
#: documents/models.py:371
|
#: documents/models.py:357
|
||||||
msgid "show in sidebar"
|
msgid "show in sidebar"
|
||||||
msgstr "exibir no painel lateral"
|
msgstr "exibir no painel lateral"
|
||||||
|
|
||||||
#: documents/models.py:375
|
#: documents/models.py:361
|
||||||
msgid "sort field"
|
msgid "sort field"
|
||||||
msgstr "ordenar campo"
|
msgstr "ordenar campo"
|
||||||
|
|
||||||
#: documents/models.py:378
|
#: documents/models.py:364
|
||||||
msgid "sort reverse"
|
msgid "sort reverse"
|
||||||
msgstr "odernar reverso"
|
msgstr "odernar reverso"
|
||||||
|
|
||||||
#: documents/models.py:384
|
#: documents/models.py:370
|
||||||
msgid "title contains"
|
msgid "title contains"
|
||||||
msgstr "título contém"
|
msgstr "título contém"
|
||||||
|
|
||||||
#: documents/models.py:385
|
#: documents/models.py:371
|
||||||
msgid "content contains"
|
msgid "content contains"
|
||||||
msgstr "conteúdo contém"
|
msgstr "conteúdo contém"
|
||||||
|
|
||||||
#: documents/models.py:386
|
#: documents/models.py:372
|
||||||
msgid "ASN is"
|
msgid "ASN is"
|
||||||
msgstr "NSA é"
|
msgstr "NSA é"
|
||||||
|
|
||||||
#: documents/models.py:387
|
#: documents/models.py:373
|
||||||
msgid "correspondent is"
|
msgid "correspondent is"
|
||||||
msgstr "correspondente é"
|
msgstr "correspondente é"
|
||||||
|
|
||||||
#: documents/models.py:388
|
#: documents/models.py:374
|
||||||
msgid "document type is"
|
msgid "document type is"
|
||||||
msgstr "tipo de documento é"
|
msgstr "tipo de documento é"
|
||||||
|
|
||||||
#: documents/models.py:389
|
#: documents/models.py:375
|
||||||
msgid "is in inbox"
|
msgid "is in inbox"
|
||||||
msgstr "é caixa de entrada"
|
msgstr "é caixa de entrada"
|
||||||
|
|
||||||
#: documents/models.py:390
|
#: documents/models.py:376
|
||||||
msgid "has tag"
|
msgid "has tag"
|
||||||
msgstr "contém etiqueta"
|
msgstr "contém etiqueta"
|
||||||
|
|
||||||
#: documents/models.py:391
|
#: documents/models.py:377
|
||||||
msgid "has any tag"
|
msgid "has any tag"
|
||||||
msgstr "contém qualquer etiqueta"
|
msgstr "contém qualquer etiqueta"
|
||||||
|
|
||||||
#: documents/models.py:392
|
#: documents/models.py:378
|
||||||
msgid "created before"
|
msgid "created before"
|
||||||
msgstr "criado antes de"
|
msgstr "criado antes de"
|
||||||
|
|
||||||
#: documents/models.py:393
|
#: documents/models.py:379
|
||||||
msgid "created after"
|
msgid "created after"
|
||||||
msgstr "criado depois de"
|
msgstr "criado depois de"
|
||||||
|
|
||||||
#: documents/models.py:394
|
#: documents/models.py:380
|
||||||
msgid "created year is"
|
msgid "created year is"
|
||||||
msgstr "ano de criação é"
|
msgstr "ano de criação é"
|
||||||
|
|
||||||
#: documents/models.py:395
|
#: documents/models.py:381
|
||||||
msgid "created month is"
|
msgid "created month is"
|
||||||
msgstr "mês de criação é"
|
msgstr "mês de criação é"
|
||||||
|
|
||||||
#: documents/models.py:396
|
#: documents/models.py:382
|
||||||
msgid "created day is"
|
msgid "created day is"
|
||||||
msgstr "dia de criação é"
|
msgstr "dia de criação é"
|
||||||
|
|
||||||
#: documents/models.py:397
|
#: documents/models.py:383
|
||||||
msgid "added before"
|
msgid "added before"
|
||||||
msgstr "adicionado antes de"
|
msgstr "adicionado antes de"
|
||||||
|
|
||||||
#: documents/models.py:398
|
#: documents/models.py:384
|
||||||
msgid "added after"
|
msgid "added after"
|
||||||
msgstr "adicionado depois de"
|
msgstr "adicionado depois de"
|
||||||
|
|
||||||
#: documents/models.py:399
|
#: documents/models.py:385
|
||||||
msgid "modified before"
|
msgid "modified before"
|
||||||
msgstr "modificado antes de"
|
msgstr "modificado antes de"
|
||||||
|
|
||||||
#: documents/models.py:400
|
#: documents/models.py:386
|
||||||
msgid "modified after"
|
msgid "modified after"
|
||||||
msgstr "modificado depois de"
|
msgstr "modificado depois de"
|
||||||
|
|
||||||
#: documents/models.py:401
|
#: documents/models.py:387
|
||||||
msgid "does not have tag"
|
msgid "does not have tag"
|
||||||
msgstr "não tem etiqueta"
|
msgstr "não tem etiqueta"
|
||||||
|
|
||||||
#: documents/models.py:412
|
#: documents/models.py:398
|
||||||
msgid "rule type"
|
msgid "rule type"
|
||||||
msgstr "tipo de regra"
|
msgstr "tipo de regra"
|
||||||
|
|
||||||
#: documents/models.py:416
|
#: documents/models.py:402
|
||||||
msgid "value"
|
msgid "value"
|
||||||
msgstr "valor"
|
msgstr "valor"
|
||||||
|
|
||||||
#: documents/models.py:422
|
#: documents/models.py:408
|
||||||
msgid "filter rule"
|
msgid "filter rule"
|
||||||
msgstr "regra de filtragem"
|
msgstr "regra de filtragem"
|
||||||
|
|
||||||
#: documents/models.py:423
|
#: documents/models.py:409
|
||||||
msgid "filter rules"
|
msgid "filter rules"
|
||||||
msgstr "regras de filtragem"
|
msgstr "regras de filtragem"
|
||||||
|
|
||||||
#: documents/serialisers.py:52
|
#: documents/serialisers.py:53
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Invalid regular expresssion: %(error)s"
|
msgid "Invalid regular expresssion: %(error)s"
|
||||||
msgstr "Expressão regular inválida: %(error)s"
|
msgstr "Expressão regular inválida: %(error)s"
|
||||||
|
|
||||||
#: documents/serialisers.py:378
|
#: documents/serialisers.py:177
|
||||||
|
msgid "Invalid color."
|
||||||
|
msgstr "Cor inválida."
|
||||||
|
|
||||||
|
#: documents/serialisers.py:451
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "File type %(type)s not supported"
|
msgid "File type %(type)s not supported"
|
||||||
msgstr "Tipo de arquivo %(type)s não suportado"
|
msgstr "Tipo de arquivo %(type)s não suportado"
|
||||||
|
|
||||||
#: documents/templates/index.html:20
|
#: documents/templates/index.html:21
|
||||||
msgid "Paperless-ng is loading..."
|
msgid "Paperless-ng is loading..."
|
||||||
msgstr "Paperless-ng está carregando..."
|
msgstr "Paperless-ng está carregando..."
|
||||||
|
|
||||||
@ -405,30 +409,38 @@ msgstr "Senha"
|
|||||||
msgid "Sign in"
|
msgid "Sign in"
|
||||||
msgstr "Entrar"
|
msgstr "Entrar"
|
||||||
|
|
||||||
#: paperless/settings.py:291
|
#: paperless/settings.py:297
|
||||||
msgid "English (US)"
|
msgid "English (US)"
|
||||||
msgstr "Inglês (EUA)"
|
msgstr "Inglês (EUA)"
|
||||||
|
|
||||||
#: paperless/settings.py:292
|
#: paperless/settings.py:298
|
||||||
msgid "English (GB)"
|
msgid "English (GB)"
|
||||||
msgstr "Inglês (GB)"
|
msgstr "Inglês (GB)"
|
||||||
|
|
||||||
#: paperless/settings.py:293
|
#: paperless/settings.py:299
|
||||||
msgid "German"
|
msgid "German"
|
||||||
msgstr "Alemão"
|
msgstr "Alemão"
|
||||||
|
|
||||||
#: paperless/settings.py:294
|
#: paperless/settings.py:300
|
||||||
msgid "Dutch"
|
msgid "Dutch"
|
||||||
msgstr "Holandês"
|
msgstr "Holandês"
|
||||||
|
|
||||||
#: paperless/settings.py:295
|
#: paperless/settings.py:301
|
||||||
msgid "French"
|
msgid "French"
|
||||||
msgstr "Francês"
|
msgstr "Francês"
|
||||||
|
|
||||||
#: paperless/settings.py:296
|
#: paperless/settings.py:302
|
||||||
msgid "Portuguese (Brazil)"
|
msgid "Portuguese (Brazil)"
|
||||||
msgstr "Português (Brasil)"
|
msgstr "Português (Brasil)"
|
||||||
|
|
||||||
|
#: paperless/settings.py:303
|
||||||
|
msgid "Italian"
|
||||||
|
msgstr "Italiano"
|
||||||
|
|
||||||
|
#: paperless/settings.py:304
|
||||||
|
msgid "Romanian"
|
||||||
|
msgstr "Romeno"
|
||||||
|
|
||||||
#: paperless/urls.py:118
|
#: paperless/urls.py:118
|
||||||
msgid "Paperless-ng administration"
|
msgid "Paperless-ng administration"
|
||||||
msgstr "Administração do Paperless-ng"
|
msgstr "Administração do Paperless-ng"
|
||||||
|
687
src/locale/ro/LC_MESSAGES/django.po
Normal file
687
src/locale/ro/LC_MESSAGES/django.po
Normal file
@ -0,0 +1,687 @@
|
|||||||
|
# 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: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: \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"
|
||||||
|
"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"
|
||||||
|
msgstr "Documente"
|
||||||
|
|
||||||
|
#: documents/models.py:32
|
||||||
|
msgid "Any word"
|
||||||
|
msgstr "Orice cuvant"
|
||||||
|
|
||||||
|
#: documents/models.py:33
|
||||||
|
msgid "All words"
|
||||||
|
msgstr "Toate cuvintele"
|
||||||
|
|
||||||
|
#: documents/models.py:34
|
||||||
|
msgid "Exact match"
|
||||||
|
msgstr "Potrivire exacta"
|
||||||
|
|
||||||
|
#: documents/models.py:35
|
||||||
|
msgid "Regular expression"
|
||||||
|
msgstr "Expresie regulata"
|
||||||
|
|
||||||
|
#: documents/models.py:36
|
||||||
|
msgid "Fuzzy word"
|
||||||
|
msgstr "Cuvant neclar"
|
||||||
|
|
||||||
|
#: documents/models.py:37
|
||||||
|
msgid "Automatic"
|
||||||
|
msgstr "Automat"
|
||||||
|
|
||||||
|
#: documents/models.py:41 documents/models.py:350 paperless_mail/models.py:25
|
||||||
|
#: paperless_mail/models.py:109
|
||||||
|
msgid "name"
|
||||||
|
msgstr "nume"
|
||||||
|
|
||||||
|
#: documents/models.py:45
|
||||||
|
msgid "match"
|
||||||
|
msgstr "potrivire"
|
||||||
|
|
||||||
|
#: documents/models.py:49
|
||||||
|
msgid "matching algorithm"
|
||||||
|
msgstr "algoritm de potrivire"
|
||||||
|
|
||||||
|
#: documents/models.py:55
|
||||||
|
msgid "is insensitive"
|
||||||
|
msgstr "ignora majusculele"
|
||||||
|
|
||||||
|
#: documents/models.py:74 documents/models.py:120
|
||||||
|
msgid "correspondent"
|
||||||
|
msgstr "corespondent"
|
||||||
|
|
||||||
|
#: documents/models.py:75
|
||||||
|
msgid "correspondents"
|
||||||
|
msgstr "corespondenti"
|
||||||
|
|
||||||
|
#: documents/models.py:81
|
||||||
|
msgid "color"
|
||||||
|
msgstr "culoare"
|
||||||
|
|
||||||
|
#: documents/models.py:87
|
||||||
|
msgid "is inbox tag"
|
||||||
|
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 ""
|
||||||
|
"Marcheaza aceasta eticheta ca eticheta inbox: Toate documentele nou "
|
||||||
|
"consumate primesc aceasta eticheta."
|
||||||
|
|
||||||
|
#: documents/models.py:94
|
||||||
|
msgid "tag"
|
||||||
|
msgstr "eticheta"
|
||||||
|
|
||||||
|
#: documents/models.py:95 documents/models.py:151
|
||||||
|
msgid "tags"
|
||||||
|
msgstr "etichete"
|
||||||
|
|
||||||
|
#: documents/models.py:101 documents/models.py:133
|
||||||
|
msgid "document type"
|
||||||
|
msgstr "tip de document"
|
||||||
|
|
||||||
|
#: documents/models.py:102
|
||||||
|
msgid "document types"
|
||||||
|
msgstr "tipuri de document"
|
||||||
|
|
||||||
|
#: documents/models.py:110
|
||||||
|
msgid "Unencrypted"
|
||||||
|
msgstr "Necriptat"
|
||||||
|
|
||||||
|
#: documents/models.py:111
|
||||||
|
msgid "Encrypted with GNU Privacy Guard"
|
||||||
|
msgstr "Criptat cu GNU Privacy Guard"
|
||||||
|
|
||||||
|
#: documents/models.py:124
|
||||||
|
msgid "title"
|
||||||
|
msgstr "titlu"
|
||||||
|
|
||||||
|
#: documents/models.py:137
|
||||||
|
msgid "content"
|
||||||
|
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 "
|
||||||
|
"cautare."
|
||||||
|
|
||||||
|
#: documents/models.py:144
|
||||||
|
msgid "mime type"
|
||||||
|
msgstr "tip mime"
|
||||||
|
|
||||||
|
#: documents/models.py:155
|
||||||
|
msgid "checksum"
|
||||||
|
msgstr "suma de control"
|
||||||
|
|
||||||
|
#: documents/models.py:159
|
||||||
|
msgid "The checksum of the original document."
|
||||||
|
msgstr "Suma de control a documentului original."
|
||||||
|
|
||||||
|
#: documents/models.py:163
|
||||||
|
msgid "archive checksum"
|
||||||
|
msgstr "suma de control a arhivei"
|
||||||
|
|
||||||
|
#: documents/models.py:168
|
||||||
|
msgid "The checksum of the archived document."
|
||||||
|
msgstr "Suma de control a documentului arhivat."
|
||||||
|
|
||||||
|
#: documents/models.py:172 documents/models.py:328
|
||||||
|
msgid "created"
|
||||||
|
msgstr "creat"
|
||||||
|
|
||||||
|
#: documents/models.py:176
|
||||||
|
msgid "modified"
|
||||||
|
msgstr "modificat"
|
||||||
|
|
||||||
|
#: documents/models.py:180
|
||||||
|
msgid "storage type"
|
||||||
|
msgstr "tip de stocare"
|
||||||
|
|
||||||
|
#: documents/models.py:188
|
||||||
|
msgid "added"
|
||||||
|
msgstr "adaugat"
|
||||||
|
|
||||||
|
#: documents/models.py:192
|
||||||
|
msgid "filename"
|
||||||
|
msgstr "nume fisier"
|
||||||
|
|
||||||
|
#: documents/models.py:198
|
||||||
|
msgid "Current filename in storage"
|
||||||
|
msgstr "Numele curent al fisierului stocat"
|
||||||
|
|
||||||
|
#: documents/models.py:202
|
||||||
|
msgid "archive filename"
|
||||||
|
msgstr "nume fisier arhiva"
|
||||||
|
|
||||||
|
#: documents/models.py:208
|
||||||
|
msgid "Current archive filename in storage"
|
||||||
|
msgstr "Numele curent al arhivei stocate"
|
||||||
|
|
||||||
|
#: documents/models.py:212
|
||||||
|
msgid "archive serial number"
|
||||||
|
msgstr "numar serial in arhiva"
|
||||||
|
|
||||||
|
#: documents/models.py:217
|
||||||
|
msgid "The position of this document in your physical document archive."
|
||||||
|
msgstr "Pozitia acestui document in arhiva fizica."
|
||||||
|
|
||||||
|
#: documents/models.py:223
|
||||||
|
msgid "document"
|
||||||
|
msgstr "document"
|
||||||
|
|
||||||
|
#: documents/models.py:224
|
||||||
|
msgid "documents"
|
||||||
|
msgstr "documente"
|
||||||
|
|
||||||
|
#: documents/models.py:311
|
||||||
|
msgid "debug"
|
||||||
|
msgstr "depanare"
|
||||||
|
|
||||||
|
#: documents/models.py:312
|
||||||
|
msgid "information"
|
||||||
|
msgstr "informatii"
|
||||||
|
|
||||||
|
#: documents/models.py:313
|
||||||
|
msgid "warning"
|
||||||
|
msgstr "avertizare"
|
||||||
|
|
||||||
|
#: documents/models.py:314
|
||||||
|
msgid "error"
|
||||||
|
msgstr "eroare"
|
||||||
|
|
||||||
|
#: documents/models.py:315
|
||||||
|
msgid "critical"
|
||||||
|
msgstr "critic"
|
||||||
|
|
||||||
|
#: documents/models.py:319
|
||||||
|
msgid "group"
|
||||||
|
msgstr "grup"
|
||||||
|
|
||||||
|
#: documents/models.py:322
|
||||||
|
msgid "message"
|
||||||
|
msgstr "mesaj"
|
||||||
|
|
||||||
|
#: documents/models.py:325
|
||||||
|
msgid "level"
|
||||||
|
msgstr "nivel"
|
||||||
|
|
||||||
|
#: documents/models.py:332
|
||||||
|
msgid "log"
|
||||||
|
msgstr "jurnal"
|
||||||
|
|
||||||
|
#: documents/models.py:333
|
||||||
|
msgid "logs"
|
||||||
|
msgstr "jurnale"
|
||||||
|
|
||||||
|
#: documents/models.py:344 documents/models.py:394
|
||||||
|
msgid "saved view"
|
||||||
|
msgstr "vizualizare"
|
||||||
|
|
||||||
|
#: documents/models.py:345
|
||||||
|
msgid "saved views"
|
||||||
|
msgstr "vizualizari"
|
||||||
|
|
||||||
|
#: documents/models.py:348
|
||||||
|
msgid "user"
|
||||||
|
msgstr "utilizator"
|
||||||
|
|
||||||
|
#: documents/models.py:354
|
||||||
|
msgid "show on dashboard"
|
||||||
|
msgstr "afiseaza pe tabloul de bord"
|
||||||
|
|
||||||
|
#: documents/models.py:357
|
||||||
|
msgid "show in sidebar"
|
||||||
|
msgstr "afiseaza in bara laterala"
|
||||||
|
|
||||||
|
#: documents/models.py:361
|
||||||
|
msgid "sort field"
|
||||||
|
msgstr "sorteaza camp"
|
||||||
|
|
||||||
|
#: documents/models.py:364
|
||||||
|
msgid "sort reverse"
|
||||||
|
msgstr "sorteaza invers"
|
||||||
|
|
||||||
|
#: documents/models.py:370
|
||||||
|
msgid "title contains"
|
||||||
|
msgstr "titlul contine"
|
||||||
|
|
||||||
|
#: documents/models.py:371
|
||||||
|
msgid "content contains"
|
||||||
|
msgstr "continutul contine"
|
||||||
|
|
||||||
|
#: documents/models.py:372
|
||||||
|
msgid "ASN is"
|
||||||
|
msgstr "ASN-ul este"
|
||||||
|
|
||||||
|
#: documents/models.py:373
|
||||||
|
msgid "correspondent is"
|
||||||
|
msgstr "corespondentul este"
|
||||||
|
|
||||||
|
#: documents/models.py:374
|
||||||
|
msgid "document type is"
|
||||||
|
msgstr "tipul documentului este"
|
||||||
|
|
||||||
|
#: documents/models.py:375
|
||||||
|
msgid "is in inbox"
|
||||||
|
msgstr "este in inbox"
|
||||||
|
|
||||||
|
#: documents/models.py:376
|
||||||
|
msgid "has tag"
|
||||||
|
msgstr "are eticheta"
|
||||||
|
|
||||||
|
#: documents/models.py:377
|
||||||
|
msgid "has any tag"
|
||||||
|
msgstr "are orice eticheta"
|
||||||
|
|
||||||
|
#: documents/models.py:378
|
||||||
|
msgid "created before"
|
||||||
|
msgstr "creat inainte de"
|
||||||
|
|
||||||
|
#: documents/models.py:379
|
||||||
|
msgid "created after"
|
||||||
|
msgstr "creat dupa"
|
||||||
|
|
||||||
|
#: documents/models.py:380
|
||||||
|
msgid "created year is"
|
||||||
|
msgstr "anul crearii este"
|
||||||
|
|
||||||
|
#: documents/models.py:381
|
||||||
|
msgid "created month is"
|
||||||
|
msgstr "luna crearii este"
|
||||||
|
|
||||||
|
#: documents/models.py:382
|
||||||
|
msgid "created day is"
|
||||||
|
msgstr "ziua crearii este"
|
||||||
|
|
||||||
|
#: documents/models.py:383
|
||||||
|
msgid "added before"
|
||||||
|
msgstr "adaugat inainte de"
|
||||||
|
|
||||||
|
#: documents/models.py:384
|
||||||
|
msgid "added after"
|
||||||
|
msgstr "adaugat dupa"
|
||||||
|
|
||||||
|
#: documents/models.py:385
|
||||||
|
msgid "modified before"
|
||||||
|
msgstr "modificat inainte de"
|
||||||
|
|
||||||
|
#: documents/models.py:386
|
||||||
|
msgid "modified after"
|
||||||
|
msgstr "modificat dupa"
|
||||||
|
|
||||||
|
#: documents/models.py:387
|
||||||
|
msgid "does not have tag"
|
||||||
|
msgstr "nu are eticheta"
|
||||||
|
|
||||||
|
#: documents/models.py:398
|
||||||
|
msgid "rule type"
|
||||||
|
msgstr "tip de regula"
|
||||||
|
|
||||||
|
#: documents/models.py:402
|
||||||
|
msgid "value"
|
||||||
|
msgstr "valoare"
|
||||||
|
|
||||||
|
#: documents/models.py:408
|
||||||
|
msgid "filter rule"
|
||||||
|
msgstr "regula de filtrare"
|
||||||
|
|
||||||
|
#: documents/models.py:409
|
||||||
|
msgid "filter rules"
|
||||||
|
msgstr "reguli de filtrare"
|
||||||
|
|
||||||
|
#: documents/serialisers.py:53
|
||||||
|
#, python-format
|
||||||
|
msgid "Invalid regular expresssion: %(error)s"
|
||||||
|
msgstr "Expresie regulata invalida: %(error)s"
|
||||||
|
|
||||||
|
#: documents/serialisers.py:177
|
||||||
|
msgid "Invalid color."
|
||||||
|
msgstr "Culoare invalida."
|
||||||
|
|
||||||
|
#: documents/serialisers.py:451
|
||||||
|
#, python-format
|
||||||
|
msgid "File type %(type)s not supported"
|
||||||
|
msgstr "Tip de fisier %(type)s nesuportat "
|
||||||
|
|
||||||
|
#: documents/templates/index.html:21
|
||||||
|
msgid "Paperless-ng is loading..."
|
||||||
|
msgstr "Paperless-ng se incarca..."
|
||||||
|
|
||||||
|
#: documents/templates/registration/logged_out.html:13
|
||||||
|
msgid "Paperless-ng signed out"
|
||||||
|
msgstr "Paperless-ng s-a deconectat"
|
||||||
|
|
||||||
|
#: documents/templates/registration/logged_out.html:41
|
||||||
|
msgid "You have been successfully logged out. Bye!"
|
||||||
|
msgstr "Ati fost deconectat cu succes. La revedere !"
|
||||||
|
|
||||||
|
#: documents/templates/registration/logged_out.html:42
|
||||||
|
msgid "Sign in again"
|
||||||
|
msgstr "Conectati-va din nou"
|
||||||
|
|
||||||
|
#: documents/templates/registration/login.html:13
|
||||||
|
msgid "Paperless-ng sign in"
|
||||||
|
msgstr "Conectare Paperless-ng"
|
||||||
|
|
||||||
|
#: documents/templates/registration/login.html:42
|
||||||
|
msgid "Please sign in."
|
||||||
|
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. Va rugam incercati din nou."
|
||||||
|
|
||||||
|
#: documents/templates/registration/login.html:48
|
||||||
|
msgid "Username"
|
||||||
|
msgstr "Nume"
|
||||||
|
|
||||||
|
#: documents/templates/registration/login.html:49
|
||||||
|
msgid "Password"
|
||||||
|
msgstr "Parola"
|
||||||
|
|
||||||
|
#: documents/templates/registration/login.html:54
|
||||||
|
msgid "Sign in"
|
||||||
|
msgstr "Conectare"
|
||||||
|
|
||||||
|
#: paperless/settings.py:297
|
||||||
|
msgid "English (US)"
|
||||||
|
msgstr "Engleza (SUA)"
|
||||||
|
|
||||||
|
#: paperless/settings.py:298
|
||||||
|
msgid "English (GB)"
|
||||||
|
msgstr "Engleza (UK)"
|
||||||
|
|
||||||
|
#: paperless/settings.py:299
|
||||||
|
msgid "German"
|
||||||
|
msgstr "Germana"
|
||||||
|
|
||||||
|
#: paperless/settings.py:300
|
||||||
|
msgid "Dutch"
|
||||||
|
msgstr "Olandeza"
|
||||||
|
|
||||||
|
#: paperless/settings.py:301
|
||||||
|
msgid "French"
|
||||||
|
msgstr "Franceza"
|
||||||
|
|
||||||
|
#: paperless/settings.py:302
|
||||||
|
msgid "Portuguese (Brazil)"
|
||||||
|
msgstr "Portugheza (Brazilia)"
|
||||||
|
|
||||||
|
#: paperless/settings.py:303
|
||||||
|
msgid "Italian"
|
||||||
|
msgstr "Italiana"
|
||||||
|
|
||||||
|
#: paperless/settings.py:304
|
||||||
|
msgid "Romanian"
|
||||||
|
msgstr "Romana"
|
||||||
|
|
||||||
|
#: paperless/urls.py:118
|
||||||
|
msgid "Paperless-ng administration"
|
||||||
|
msgstr "Administrare Paperless-ng"
|
||||||
|
|
||||||
|
#: paperless_mail/admin.py:25
|
||||||
|
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 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 ""
|
||||||
|
"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 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"
|
||||||
|
msgstr "Email Paperless"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:11
|
||||||
|
msgid "mail account"
|
||||||
|
msgstr "cont de email"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:12
|
||||||
|
msgid "mail accounts"
|
||||||
|
msgstr "conturi de email"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:19
|
||||||
|
msgid "No encryption"
|
||||||
|
msgstr "Fara criptare"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:20
|
||||||
|
msgid "Use SSL"
|
||||||
|
msgstr "Foloseste SSL"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:21
|
||||||
|
msgid "Use STARTTLS"
|
||||||
|
msgstr "Foloseste STARTTLS"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:29
|
||||||
|
msgid "IMAP server"
|
||||||
|
msgstr "server IMAP"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:33
|
||||||
|
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 si STARTTLS, sau 993 pentru "
|
||||||
|
"conexiuni SSL."
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:40
|
||||||
|
msgid "IMAP security"
|
||||||
|
msgstr "securitate IMAP"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:46
|
||||||
|
msgid "username"
|
||||||
|
msgstr "nume"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:50
|
||||||
|
msgid "password"
|
||||||
|
msgstr "parola"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:60
|
||||||
|
msgid "mail rule"
|
||||||
|
msgstr "regula email"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:61
|
||||||
|
msgid "mail rules"
|
||||||
|
msgstr "reguli email"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:67
|
||||||
|
msgid "Only process attachments."
|
||||||
|
msgstr "Proceseaza doar atasamentele."
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:68
|
||||||
|
msgid "Process all files, including 'inline' attachments."
|
||||||
|
msgstr "Proceseaza toate fisierele, inclusiv atasamentele \"inline\"."
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:78
|
||||||
|
msgid "Mark as read, don't process read mails"
|
||||||
|
msgstr "Marcheaza ca citit, nu procesa email-uri citite"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:79
|
||||||
|
msgid "Flag the mail, don't process flagged mails"
|
||||||
|
msgstr "Semnalizeaza, nu procesa email-uri semnalizate"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:80
|
||||||
|
msgid "Move to specified folder"
|
||||||
|
msgstr "Muta in directorul specificat"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:81
|
||||||
|
msgid "Delete"
|
||||||
|
msgstr "Sterge"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:88
|
||||||
|
msgid "Use subject as title"
|
||||||
|
msgstr "Foloseste subiectul ca titlu"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:89
|
||||||
|
msgid "Use attachment filename as title"
|
||||||
|
msgstr "Foloseste numele atasamentului ca titlu"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:99
|
||||||
|
msgid "Do not assign a correspondent"
|
||||||
|
msgstr "Nu atribui un corespondent"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:101
|
||||||
|
msgid "Use mail address"
|
||||||
|
msgstr "Foloseste adresa de email"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:103
|
||||||
|
msgid "Use name (or mail address if not available)"
|
||||||
|
msgstr "Foloseste numele (daca nu exista, foloseste adresa de email)"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:105
|
||||||
|
msgid "Use correspondent selected below"
|
||||||
|
msgstr "Foloseste corespondentul selectat mai jos"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:113
|
||||||
|
msgid "order"
|
||||||
|
msgstr "ordoneaza"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:120
|
||||||
|
msgid "account"
|
||||||
|
msgstr "cont"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:124
|
||||||
|
msgid "folder"
|
||||||
|
msgstr "director"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:128
|
||||||
|
msgid "filter from"
|
||||||
|
msgstr "filtreaza de la"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:131
|
||||||
|
msgid "filter subject"
|
||||||
|
msgstr "filtreaza subiect"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:134
|
||||||
|
msgid "filter body"
|
||||||
|
msgstr "filtreaza corpul email-ului"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:138
|
||||||
|
msgid "filter attachment filename"
|
||||||
|
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 ""
|
||||||
|
"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 "varsta maxima"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:148
|
||||||
|
msgid "Specified in days."
|
||||||
|
msgstr "Specificata in zile."
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:151
|
||||||
|
msgid "attachment type"
|
||||||
|
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 ""
|
||||||
|
"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 "actiune"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:165
|
||||||
|
msgid "action parameter"
|
||||||
|
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 aditional pentru actiunea definita mai sus (ex. directorul in care"
|
||||||
|
" sa se realizeze o mutare)"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:173
|
||||||
|
msgid "assign title from"
|
||||||
|
msgstr "atribuie titlu din"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:183
|
||||||
|
msgid "assign this tag"
|
||||||
|
msgstr "atribuie aceasta eticheta"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:191
|
||||||
|
msgid "assign this document type"
|
||||||
|
msgstr "atribuie acest tip"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:195
|
||||||
|
msgid "assign correspondent from"
|
||||||
|
msgstr "atribuie corespondent din"
|
||||||
|
|
||||||
|
#: paperless_mail/models.py:205
|
||||||
|
msgid "assign this correspondent"
|
||||||
|
msgstr "atribuie acest corespondent"
|
@ -33,5 +33,4 @@ class HttpRemoteUserMiddleware(RemoteUserMiddleware):
|
|||||||
""" This class allows authentication via HTTP_REMOTE_USER which is set for
|
""" This class allows authentication via HTTP_REMOTE_USER which is set for
|
||||||
example by certain SSO applications.
|
example by certain SSO applications.
|
||||||
"""
|
"""
|
||||||
|
header = settings.HTTP_REMOTE_USER_HEADER_NAME
|
||||||
header = 'HTTP_REMOTE_USER'
|
|
||||||
|
20
src/paperless/middleware.py
Normal file
20
src/paperless/middleware.py
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
from django.conf import settings
|
||||||
|
|
||||||
|
from paperless import version
|
||||||
|
|
||||||
|
|
||||||
|
class ApiVersionMiddleware:
|
||||||
|
|
||||||
|
def __init__(self, get_response):
|
||||||
|
self.get_response = get_response
|
||||||
|
|
||||||
|
def __call__(self, request):
|
||||||
|
response = self.get_response(request)
|
||||||
|
if request.user.is_authenticated:
|
||||||
|
versions = settings.REST_FRAMEWORK['ALLOWED_VERSIONS']
|
||||||
|
response['X-Api-Version'] = versions[len(versions)-1]
|
||||||
|
response['X-Version'] = ".".join(
|
||||||
|
[str(_) for _ in version.__version__]
|
||||||
|
)
|
||||||
|
|
||||||
|
return response
|
@ -112,7 +112,12 @@ REST_FRAMEWORK = {
|
|||||||
'rest_framework.authentication.BasicAuthentication',
|
'rest_framework.authentication.BasicAuthentication',
|
||||||
'rest_framework.authentication.SessionAuthentication',
|
'rest_framework.authentication.SessionAuthentication',
|
||||||
'rest_framework.authentication.TokenAuthentication'
|
'rest_framework.authentication.TokenAuthentication'
|
||||||
]
|
],
|
||||||
|
'DEFAULT_VERSIONING_CLASS': 'rest_framework.versioning.AcceptHeaderVersioning',
|
||||||
|
'DEFAULT_VERSION': '1',
|
||||||
|
# Make sure these are ordered and that the most recent version appears
|
||||||
|
# last
|
||||||
|
'ALLOWED_VERSIONS': ['1', '2']
|
||||||
}
|
}
|
||||||
|
|
||||||
if DEBUG:
|
if DEBUG:
|
||||||
@ -128,6 +133,7 @@ MIDDLEWARE = [
|
|||||||
'django.middleware.locale.LocaleMiddleware',
|
'django.middleware.locale.LocaleMiddleware',
|
||||||
'django.middleware.common.CommonMiddleware',
|
'django.middleware.common.CommonMiddleware',
|
||||||
'django.middleware.csrf.CsrfViewMiddleware',
|
'django.middleware.csrf.CsrfViewMiddleware',
|
||||||
|
'paperless.middleware.ApiVersionMiddleware',
|
||||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||||
'django.contrib.messages.middleware.MessageMiddleware',
|
'django.contrib.messages.middleware.MessageMiddleware',
|
||||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||||
@ -142,7 +148,7 @@ ASGI_APPLICATION = "paperless.asgi.application"
|
|||||||
|
|
||||||
STATIC_URL = os.getenv("PAPERLESS_STATIC_URL", "/static/")
|
STATIC_URL = os.getenv("PAPERLESS_STATIC_URL", "/static/")
|
||||||
|
|
||||||
# what is this used for?
|
# TODO: what is this used for?
|
||||||
TEMPLATES = [
|
TEMPLATES = [
|
||||||
{
|
{
|
||||||
'BACKEND': 'django.template.backends.django.DjangoTemplates',
|
'BACKEND': 'django.template.backends.django.DjangoTemplates',
|
||||||
@ -183,6 +189,7 @@ if AUTO_LOGIN_USERNAME:
|
|||||||
MIDDLEWARE.insert(_index+1, 'paperless.auth.AutoLoginMiddleware')
|
MIDDLEWARE.insert(_index+1, 'paperless.auth.AutoLoginMiddleware')
|
||||||
|
|
||||||
ENABLE_HTTP_REMOTE_USER = __get_boolean("PAPERLESS_ENABLE_HTTP_REMOTE_USER")
|
ENABLE_HTTP_REMOTE_USER = __get_boolean("PAPERLESS_ENABLE_HTTP_REMOTE_USER")
|
||||||
|
HTTP_REMOTE_USER_HEADER_NAME = os.getenv("PAPERLESS_HTTP_REMOTE_USER_HEADER_NAME", "HTTP_REMOTE_USER")
|
||||||
|
|
||||||
if ENABLE_HTTP_REMOTE_USER:
|
if ENABLE_HTTP_REMOTE_USER:
|
||||||
MIDDLEWARE.append(
|
MIDDLEWARE.append(
|
||||||
@ -293,7 +300,9 @@ LANGUAGES = [
|
|||||||
("de", _("German")),
|
("de", _("German")),
|
||||||
("nl-nl", _("Dutch")),
|
("nl-nl", _("Dutch")),
|
||||||
("fr", _("French")),
|
("fr", _("French")),
|
||||||
("pt-br", _("Portuguese (Brazil)"))
|
("pt-br", _("Portuguese (Brazil)")),
|
||||||
|
("it", _("Italian")),
|
||||||
|
("ro", _("Romanian"))
|
||||||
]
|
]
|
||||||
|
|
||||||
LOCALE_PATHS = [
|
LOCALE_PATHS = [
|
||||||
|
@ -1 +1 @@
|
|||||||
__version__ = (1, 2, 1)
|
__version__ = (1, 3, 0)
|
||||||
|
@ -278,9 +278,7 @@ class TestParser(DirectoriesMixin, TestCase):
|
|||||||
with open(os.path.join(parser.tempdir, "sidecar.txt")) as f:
|
with open(os.path.join(parser.tempdir, "sidecar.txt")) as f:
|
||||||
sidecar = f.read()
|
sidecar = f.read()
|
||||||
|
|
||||||
self.assertIn("[OCR skipped on page 4]", sidecar)
|
self.assertIn("[OCR skipped on page(s) 4-6]", sidecar)
|
||||||
self.assertIn("[OCR skipped on page 5]", sidecar)
|
|
||||||
self.assertIn("[OCR skipped on page 6]", sidecar)
|
|
||||||
|
|
||||||
@override_settings(OCR_MODE="skip_noarchive")
|
@override_settings(OCR_MODE="skip_noarchive")
|
||||||
def test_multi_page_mixed_no_archive(self):
|
def test_multi_page_mixed_no_archive(self):
|
||||||
|
21
src/tox.ini
21
src/tox.ini
@ -1,21 +0,0 @@
|
|||||||
# Tox (http://tox.testrun.org/) is a tool for running tests
|
|
||||||
# in multiple virtualenvs. This configuration file will run the
|
|
||||||
# test suite on all supported python versions. To use it, "pip install tox"
|
|
||||||
# and then run "tox" from this directory.
|
|
||||||
|
|
||||||
[tox]
|
|
||||||
skipsdist = True
|
|
||||||
envlist = py34, py35, py36, py37, pycodestyle, doc
|
|
||||||
|
|
||||||
[testenv]
|
|
||||||
commands = pytest
|
|
||||||
deps = -r{toxinidir}/../requirements.txt
|
|
||||||
|
|
||||||
[testenv:pycodestyle]
|
|
||||||
commands=pycodestyle
|
|
||||||
deps=pycodestyle
|
|
||||||
|
|
||||||
[testenv:doc]
|
|
||||||
deps =
|
|
||||||
-r {toxinidir}/../requirements.txt
|
|
||||||
commands=sphinx-build -b html ../docs ../docs/_build -W
|
|
Loading…
x
Reference in New Issue
Block a user