Compare commits

...
67 Commits
Author SHA1 Message Date
Jonas Winkler 3050ed3cb2 Update README.md 2023-01-12 13:26:31 +01:00
Jonas Winkler 7bc8325df9 Merge pull request #1311 from mattlamb99/patch-1
Incorrect path to docker-compose files
2021-09-14 21:34:36 +02:00
Matt Lamb 2aca64bfcd Incorrect path to docker-compose files 2021-09-13 16:33:46 +12:00
Jonas Winkler d656de8883 Merge pull request #1258 from tribut/logout-url
Add PAPERLESS_LOGOUT_REDIRECT_URL
2021-09-10 20:36:21 +02:00
Jonas Winkler 32f0ebaac3 Merge pull request #1270 from ajkavanagh/fix-ansible-role-gotenberg-endpoint
Fix PAPERLESS_TIKA_GOTENBERG_ENDPOINT in a/t/main.yml
2021-09-10 20:35:35 +02:00
Jonas Winkler 4e9c4ebd02 Merge pull request #1274 from padraigkitterick/patch-1
Updated docker instructions re webserver port
2021-09-10 20:28:47 +02:00
Pádraig Kitterick 12abb592be Updated docker instructions re webserver port
Clarified exactly what to change to modify the default webserver port (issue #1273)
2021-08-31 14:36:55 +01:00
Alex Kavanagh 4f0951402a Fix PAPERLESS_TIKA_GOTENBERG_ENDPOINT in a/t/main.yml
This fixes the ansible role for installing paperless-ng where the config
item PAPERLESS_TIKA_GOTENBERG_ENDPOINT derived from the wrong ansible
variable "paperlessng_tika_endpoint".  This patch corrects that to
"paperlessng_tika_gotenberg_endpoint".
2021-08-30 18:01:33 +01:00
Felix Eckhofer bf2cdae3b1 Add PAPERLESS_LOGOUT_REDIRECT_URL
When set, the user is redirected to this URL after a logout. Especially
useful in conjunction with PAPERLESS_ENABLE_HTTP_REMOTE_USER and SSO.
2021-08-26 18:40:12 +02:00
jonaswinkler cd43bc1f66 changelog 2021-08-22 17:15:14 +02:00
jonaswinkler 1b24136590 version bump 2021-08-22 17:11:36 +02:00
jonaswinkler e8d5b549de documentation 2021-08-22 17:10:10 +02:00
jonaswinkler 3866a77d68 Merge branch 'master' into dev 2021-08-22 17:03:58 +02:00
jonaswinkler 360fe68f92 fix whitespace 2021-08-22 17:03:45 +02:00
Jonas Winkler c9229f9c80 Merge pull request #1066 from holzhannes/patch-3
Info for The input device is not a TTY Errors
2021-08-22 17:02:08 +02:00
Jonas WinklerandStéphane Brunner e5b92d895d Update docs/administration.rst
Co-authored-by: Stéphane Brunner <stephane.brunner@camptocamp.com>
2021-08-22 17:00:36 +02:00
jonaswinkler a7643c1c29 Merge branch 'master' into dev 2021-08-22 16:27:59 +02:00
jonaswinkler 45fd4e8565 fix whitespace 2021-08-22 16:27:44 +02:00
jonaswinkler 211a9d720a changelog 2021-08-22 16:26:58 +02:00
Jonas Winkler da9c2735b4 Merge pull request #1201 from pewter77/patch-1
update configuration docs for languages
2021-08-22 16:26:27 +02:00
jonaswinkler d31baca442 downgrade numpy due to armv7 issues 2021-08-19 16:18:49 +02:00
jonaswinkler 499d6f79aa Merge remote-tracking branch 'origin/master' into dev 2021-08-19 00:06:47 +02:00
jonaswinkler 49e049f1c5 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-08-19 00:06:37 +02:00
jonaswinkler 7411d7c1e2 update dependencies 2021-08-19 00:06:23 +02:00
Jonas Winkler 3f5d3d15fd Merge pull request #1209 from Unkn0wnCat/patch-1
Add Doxie Q to scanners.rst
2021-08-18 23:53:14 +02:00
Jonas Winkler 68fb85ceca Merge pull request #1221 from AlD/master
Make ignores configurable
2021-08-18 22:41:27 +02:00
Daniel Albers 3ebe6d5aef Make ignores configurable
Adds config file setting PAPERLESS_CONSUMER_IGNORE_PATTERNS.
2021-08-18 22:23:18 +02:00
jonaswinkler 566b3ed53d Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-08-18 22:03:31 +02:00
Jonas Winkler a688c747d7 New Crowdin updates (#1198) 2021-08-18 21:56:59 +02:00
jonaswinkler 83b90e1416 install required dependency for building paperless-ng on GitHub CI 2021-08-18 18:40:27 +02:00
jonaswinkler 23c6f849d6 fix bug with DPI calculation 2021-08-18 18:33:33 +02:00
jonaswinkler ba6843df83 update python dependencies 2021-08-18 18:21:41 +02:00
jonaswinkler 0b90e69119 update dockerfile 2021-08-18 18:21:31 +02:00
jonaswinkler dbe820323e switch to python 3.9 2021-08-18 17:47:53 +02:00
Kevin Kandlbinder 47d95d5b0a Add Doxie Q to scanners.rst
The Doxie Q / Q2 is a budget-scanner I've been using for my paperless-usage. It has POST-Support to a custom endpoint like paperless over WiFi and has a rather open API (See https://help.getdoxie.com/doxieq/wifi/api/).
2021-08-04 15:23:12 +02:00
pewter77 971192f6f3 update configuration docs for languages
Due to tesseract naming scheme, packages use '-' but the internal OCR uses '_' . This is to clarify in the documentation that this is the case for new users.
2021-07-30 23:21:22 +08:00
Jonas Winkler fbfc7df593 Merge pull request #1173 from mweimerskirch/feature/l10n-lb_LU
Added support for Luxembourgish (lb_LU) as an interface language
2021-07-18 21:42:58 +02:00
Jonas Winkler 3c7644ce79 Merge pull request #1153 from jonaswinkler/l10n_dev
New Crowdin updates
2021-07-18 17:36:14 +02:00
Jonas Winkler 4e4a8bcca8 New translations messages.xlf (Luxembourgish)
[ci skip]
2021-07-16 17:20:14 +02:00
Michel Weimerskirch dc5586b16d Added support for Luxembourgish (lb_LU) as an interface language 2021-07-16 16:43:55 +02:00
Jonas Winkler 1d87b48471 New translations messages.xlf (Luxembourgish)
[ci skip]
2021-07-16 16:22:10 +02:00
Jonas Winkler 353a3432df New translations django.po (Luxembourgish)
[ci skip]
2021-07-16 16:22:08 +02:00
Jonas Winkler efe94bbf18 New translations messages.xlf (Luxembourgish)
[ci skip]
2021-07-16 15:01:08 +02:00
Jonas Winkler cea6ec09bc New translations django.po (Luxembourgish)
[ci skip]
2021-07-16 15:01:07 +02:00
Jonas Winkler 4a3276f69c New translations messages.xlf (Luxembourgish)
[ci skip]
2021-07-16 13:47:43 +02:00
Jonas Winkler f164def2ed New translations django.po (Luxembourgish)
[ci skip]
2021-07-16 13:47:42 +02:00
Jonas Winkler 511c76ae7a New translations messages.xlf (Luxembourgish)
[ci skip]
2021-07-15 10:58:18 +02:00
Jonas Winkler bfa6dda0de New translations django.po (Luxembourgish)
[ci skip]
2021-07-15 10:58:16 +02:00
Jonas Winkler 54af734971 New translations django.po (Luxembourgish)
[ci skip]
2021-07-15 09:42:47 +02:00
Jonas Winkler 5b9763ecb4 New translations messages.xlf (Luxembourgish)
[ci skip]
2021-07-14 18:00:31 +02:00
Jonas Winkler 438bad23e8 New translations django.po (Luxembourgish)
[ci skip]
2021-07-14 18:00:29 +02:00
Jonas Winkler ae5a205ba3 New translations django.po (Luxembourgish)
[ci skip]
2021-07-14 10:42:55 +02:00
Jonas Winkler 19b683e7b0 New translations messages.xlf (Luxembourgish)
[ci skip]
2021-07-13 23:45:12 +02:00
Jonas Winkler 0c92027414 New translations django.po (Luxembourgish)
[ci skip]
2021-07-13 23:45:11 +02:00
Jonas Winkler c4e3b2ca2f New translations messages.xlf (Luxembourgish)
[ci skip]
2021-07-13 22:18:15 +02:00
Jonas Winkler ba67b89db7 New translations django.po (Luxembourgish)
[ci skip]
2021-07-13 22:18:14 +02:00
Jonas Winkler 06f308ede3 New translations messages.xlf (Spanish)
[ci skip]
2021-07-11 12:20:36 +02:00
Jonas Winkler 214fb8204b New translations messages.xlf (Spanish)
[ci skip]
2021-07-11 10:29:21 +02:00
Jonas Winkler 2a2d7be9f9 New translations django.po (Spanish)
[ci skip]
2021-07-11 10:29:20 +02:00
Jonas Winkler 23304c3746 New translations django.po (Spanish)
[ci skip]
2021-07-11 09:21:44 +02:00
Jonas Winkler 20829c90b2 New translations django.po (German)
[ci skip]
2021-07-05 13:17:50 +02:00
Jonas Winkler 33cc3ce7e0 Merge pull request #1127 from jonaswinkler/l10n_dev
New Crowdin updates
2021-07-04 12:47:07 +02:00
Jonas Winkler 3487b23e88 New translations django.po (English, United Kingdom)
[ci skip]
2021-06-19 23:20:13 +02:00
Jonas Winkler 4718fe13c2 Merge pull request #1116 from ytzelf/patch-1
Update scanners.rst
2021-06-14 18:18:57 +02:00
ytzelf 8592acf6b8 Update scanners.rst
Added ADS-1100w which has FTP (and only FTP) capabilities but is quite cheap
2021-06-14 18:11:06 +02:00
HolzHannes b3906e7bc1 Corrected position of info 2021-05-27 10:01:30 +02:00
HolzHannes e5009b4cd2 Info for The input device is not a TTY Errors 2021-05-27 08:30:21 +02:00
33 changed files with 3841 additions and 654 deletions

No files matched your search

+5 -5
View File
@@ -20,7 +20,7 @@ jobs:
name: Set up Python name: Set up Python
uses: actions/setup-python@v2 uses: actions/setup-python@v2
with: with:
python-version: 3.7 python-version: 3.9
- -
name: Get pip cache dir name: Get pip cache dir
id: pip-cache id: pip-cache
@@ -59,7 +59,7 @@ jobs:
name: Set up Python name: Set up Python
uses: actions/setup-python@v2 uses: actions/setup-python@v2
with: with:
python-version: 3.7 python-version: 3.9
- -
name: Get pip cache dir name: Get pip cache dir
id: pip-cache id: pip-cache
@@ -100,7 +100,7 @@ jobs:
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
strategy: strategy:
matrix: matrix:
python-version: ['3.6', '3.7', '3.8', '3.9'] python-version: ['3.7', '3.8', '3.9']
fail-fast: false fail-fast: false
steps: steps:
- -
@@ -136,7 +136,7 @@ jobs:
pytest pytest
- -
name: Publish coverage results name: Publish coverage results
if: matrix.python-version == '3.8' if: matrix.python-version == '3.9'
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# https://github.com/coveralls-clients/coveralls-python/issues/251 # https://github.com/coveralls-clients/coveralls-python/issues/251
@@ -182,7 +182,7 @@ jobs:
name: Set up Python name: Set up Python
uses: actions/setup-python@v2 uses: actions/setup-python@v2
with: with:
python-version: 3.7 python-version: 3.9
- -
name: Install dependencies name: Install dependencies
run: | run: |
+3 -8
View File
@@ -8,7 +8,7 @@ RUN git clone https://github.com/agl/jbig2enc .
RUN ./autogen.sh RUN ./autogen.sh
RUN ./configure && make RUN ./configure && make
FROM python:3.7-slim FROM python:3.9-slim-bullseye
# Binary dependencies # Binary dependencies
RUN apt-get update \ RUN apt-get update \
@@ -33,16 +33,11 @@ RUN apt-get update \
zlib1g \ zlib1g \
ghostscript \ ghostscript \
icc-profiles-free \ icc-profiles-free \
&& echo "deb http://deb.debian.org/debian bullseye main" > /etc/apt/sources.list.d/bullseye.list \ # Mime type detection
&& apt-get update \
&& apt-get -y --no-install-recommends install \
# fixes sudo / gosu issues
libseccomp2 \
# Mime type detection
file \ file \
libmagic-dev \ libmagic-dev \
media-types \ media-types \
# OCRmyPDF dependencies # OCRmyPDF dependencies
liblept5 \ liblept5 \
qpdf \ qpdf \
tesseract-ocr \ tesseract-ocr \
+6 -8
View File
@@ -21,8 +21,7 @@ fuzzywuzzy = {extras = ["speedup"], version = "*"}
gunicorn = "*" gunicorn = "*"
imap-tools = "*" imap-tools = "*"
langdetect = "*" langdetect = "*"
# numpy 1.20.0 drops python 3.6 support numpy = "~=1.20.0"
numpy = "~=1.19.5"
pathvalidate = "*" pathvalidate = "*"
pillow = "~=8.1" pillow = "~=8.1"
pikepdf = "~=2.5" pikepdf = "~=2.5"
@@ -34,13 +33,11 @@ psycopg2-binary = "*"
redis = "*" redis = "*"
# Pinned because aarch64 wheels and updates cause warnings when loading the classifier model. # Pinned because aarch64 wheels and updates cause warnings when loading the classifier model.
scikit-learn="==0.24.0" scikit-learn="==0.24.0"
# Prevent scipy updates because 1.6 is incompatible with python 3.6 whitenoise = "~=5.3.0"
scipy="~=1.5.4" watchdog = "~=2.1.0"
whitenoise = "~=5.2.0"
watchdog = "~=1.0.0"
whoosh="~=2.7.4" whoosh="~=2.7.4"
inotifyrecursive = "~=0.3.4" inotifyrecursive = "~=0.3.4"
ocrmypdf = "~=12.0" ocrmypdf = "~=12.3"
tqdm = "*" tqdm = "*"
tika = "*" tika = "*"
# TODO: This will sadly also install daphne+dependencies, # TODO: This will sadly also install daphne+dependencies,
@@ -50,9 +47,10 @@ channels-redis = "*"
uvicorn = {extras = ["standard"], version = "*"} uvicorn = {extras = ["standard"], version = "*"}
concurrent-log-handler = "*" 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.15"
cryptography = "~=3.4" cryptography = "~=3.4"
"pdfminer.six" = "*" "pdfminer.six" = "*"
"backports.zoneinfo" = "*"
[dev-packages] [dev-packages]
coveralls = "*" coveralls = "*"
Generated
+527 -449
View File
File diff suppressed because it is too large. Load diff
+5 -1
View File
@@ -6,6 +6,10 @@
[![Docker Hub Pulls](https://img.shields.io/docker/pulls/jonaswinkler/paperless-ng.svg)](https://hub.docker.com/r/jonaswinkler/paperless-ng) [![Docker Hub Pulls](https://img.shields.io/docker/pulls/jonaswinkler/paperless-ng.svg)](https://hub.docker.com/r/jonaswinkler/paperless-ng)
[![Coverage Status](https://coveralls.io/repos/github/jonaswinkler/paperless-ng/badge.svg?branch=master)](https://coveralls.io/github/jonaswinkler/paperless-ng?branch=master) [![Coverage Status](https://coveralls.io/repos/github/jonaswinkler/paperless-ng/badge.svg?branch=master)](https://coveralls.io/github/jonaswinkler/paperless-ng?branch=master)
# Archive notice
This project is not dead! Rather, this project is now maintained as a community effort at https://github.com/paperless-ngx/paperless-ngx, a direct continuation of this project and drop-in replacement. Please see their project page and the documentation at https://docs.paperless-ngx.com/ for details.
# Paperless-ng # Paperless-ng
[Paperless (click me)](https://github.com/the-paperless-project/paperless) is an application by Daniel Quinn and contributors that indexes your scanned documents and allows you to easily search for documents and store metadata alongside your documents. [Paperless (click me)](https://github.com/the-paperless-project/paperless) is an application by Daniel Quinn and contributors that indexes your scanned documents and allows you to easily search for documents and store metadata alongside your documents.
@@ -62,7 +66,7 @@ If you want to see paperless-ng in action, [more screenshots are available in th
# Getting started # Getting started
The recommended way to deploy paperless is docker-compose. The files in the /docker/hub directory are configured to pull the image from Docker Hub. The recommended way to deploy paperless is docker-compose. The files in the /docker/compose directory are configured to pull the image from Docker Hub.
Read the [documentation](https://paperless-ng.readthedocs.io/en/latest/setup.html#installation) on how to get started. Read the [documentation](https://paperless-ng.readthedocs.io/en/latest/setup.html#installation) on how to get started.
+1 -1
View File
@@ -329,7 +329,7 @@
- regexp: PAPERLESS_TIKA_ENDPOINT - regexp: PAPERLESS_TIKA_ENDPOINT
line: "PAPERLESS_TIKA_ENDPOINT={{ paperlessng_tika_endpoint }}" line: "PAPERLESS_TIKA_ENDPOINT={{ paperlessng_tika_endpoint }}"
- regexp: PAPERLESS_TIKA_GOTENBERG_ENDPOINT - regexp: PAPERLESS_TIKA_GOTENBERG_ENDPOINT
line: "PAPERLESS_TIKA_GOTENBERG_ENDPOINT={{ paperlessng_tika_endpoint }}" line: "PAPERLESS_TIKA_GOTENBERG_ENDPOINT={{ paperlessng_tika_gotenberg_endpoint }}"
# Software tweaks # Software tweaks
- regexp: PAPERLESS_TIME_ZONE - regexp: PAPERLESS_TIME_ZONE
line: "PAPERLESS_TIME_ZONE={{ paperlessng_time_zone }}" line: "PAPERLESS_TIME_ZONE={{ paperlessng_time_zone }}"
+2
View File
@@ -240,6 +240,8 @@ Document exporter
The document exporter exports all your data from paperless into a folder for The document exporter exports all your data from paperless into a folder for
backup or migration to another DMS. backup or migration to another DMS.
If you use the document exporter within a cronjob to backup your data you might use the ``-T`` flag behind exec to suppress "The input device is not a TTY" errors. For example: ``docker-compose exec -T webserver document_exporter ../export``
.. code:: .. code::
document_exporter target [-c] [-f] [-d] document_exporter target [-c] [-f] [-d]
+12 -11
View File
@@ -5,6 +5,17 @@
Changelog Changelog
********* *********
paperless-ng 1.5.0
##################
Support for Python 3.6 was dropped.
* Updated python dependencies.
* Base image of the docker image changed from Debian Buster to Debian Bullseye due to its recent release.
* The docker image now uses python 3.9.
* Added the Luxembourgish locale. Thanks for translating!
* `Daniel Albers`_ added support for making the files and folders ignored by the paperless consume folder scanner configurable. See ``PAPERLESS_CONSUMER_IGNORE_PATTERNS``.
paperless-ng 1.4.5 paperless-ng 1.4.5
################## ##################
@@ -98,17 +109,6 @@ paperless-ng 1.4.0
To do this, execute the ``document_index reindex`` management command To do this, execute the ``document_index reindex`` management command
(see :ref:`administration-index`). (see :ref:`administration-index`).
.. note::
Some packages that paperless depends on are slowly dropping Python 3.6
support one after another, including the web server. Supporting Python
3.6 means that I cannot update these packages anymore.
At some point, paperless will drop Python 3.6 support. If using a bare
metal installation and you're still on Python 3.6, upgrade to 3.7 or newer.
If using docker, this does not affect you.
paperless-ng 1.3.2 paperless-ng 1.3.2
################## ##################
@@ -1482,6 +1482,7 @@ bulk of the work on this big change.
.. _JOKer: https://github.com/MasterofJOKers .. _JOKer: https://github.com/MasterofJOKers
.. _Brian Cribbs: https://github.com/cribbstechnolog .. _Brian Cribbs: https://github.com/cribbstechnolog
.. _Brendan M. Sleight: https://github.com/bmsleight .. _Brendan M. Sleight: https://github.com/bmsleight
.. _Daniel Albers: https://github.com/AlD
.. _#20: https://github.com/the-paperless-project/paperless/issues/20 .. _#20: https://github.com/the-paperless-project/paperless/issues/20
.. _#44: https://github.com/the-paperless-project/paperless/issues/44 .. _#44: https://github.com/the-paperless-project/paperless/issues/44
+15
View File
@@ -233,6 +233,13 @@ PAPERLESS_HTTP_REMOTE_USER_HEADER_NAME=<str>
Defaults to `HTTP_REMOTE_USER`. Defaults to `HTTP_REMOTE_USER`.
PAPERLESS_LOGOUT_REDIRECT_URL=<str>
URL to redirect the user to after a logout. This can be used together with
`PAPERLESS_ENABLE_HTTP_REMOTE_USER` to redirect the user back to the SSO
application's logout page.
Defaults to None, which disables this feature.
.. _configuration-ocr: .. _configuration-ocr:
OCR settings OCR settings
@@ -258,6 +265,8 @@ PAPERLESS_OCR_LANGUAGE=<lang>
Defaults to "eng". Defaults to "eng".
Note: If your language contains a '-' such as chi-sim, you must use chi_sim
PAPERLESS_OCR_MODE=<mode> PAPERLESS_OCR_MODE=<mode>
Tell paperless when and how to perform ocr on your documents. Four modes Tell paperless when and how to perform ocr on your documents. Four modes
are available: are available:
@@ -629,7 +638,13 @@ PAPERLESS_DATE_ORDER=<format>
This option defaults to DMY which translates to day first, month second, and year This option defaults to DMY which translates to day first, month second, and year
last order. Characters D, M, or Y can be shuffled to meet the required order. last order. Characters D, M, or Y can be shuffled to meet the required order.
PAPERLESS_CONSUMER_IGNORE_PATTERNS=<json>
By default, paperless ignores certain files and folders in the consumption
directory, such as system files created by the Mac OS.
This can be adjusted by configuring a custom json array with patterns to exclude.
Defautls to ``[".DS_STORE/*", "._*", ".stfolder/*"]``.
Binaries Binaries
######## ########
+35 -25
View File
@@ -13,42 +13,48 @@ that works right for you based on recommendations from other Paperless users.
Physical scanners Physical scanners
================= =================
+---------+----------------+-----+-----+-----+------+----------------+ +---------+----------------+-----+-----+-----+------+----------+----------------+
| Brand | Model | Supports | Recommended By | | Brand | Model | Supports | Recommended By |
+---------+----------------+-----+-----+-----+------+----------------+ +---------+----------------+-----+-----+-----+------+----------+----------------+
| | | FTP | NFS | SMB | SMTP | | | | | FTP | NFS | SMB | SMTP | API [1]_ | |
+=========+================+=====+=====+=====+======+================+ +=========+================+=====+=====+=====+======+==========+================+
| Brother | `ADS-1700W`_ | yes | no | yes | yes |`holzhannes`_ | | Brother | `ADS-1700W`_ | yes | no | yes | yes | |`holzhannes`_ |
+---------+----------------+-----+-----+-----+------+----------------+ +---------+----------------+-----+-----+-----+------+----------+----------------+
| Brother | `ADS-1600W`_ | yes | no | yes | yes |`holzhannes`_ | | Brother | `ADS-1600W`_ | yes | no | yes | yes | |`holzhannes`_ |
+---------+----------------+-----+-----+-----+------+----------------+ +---------+----------------+-----+-----+-----+------+----------+----------------+
| Brother | `ADS-1500W`_ | yes | no | yes | yes |`danielquinn`_ | | Brother | `ADS-1500W`_ | yes | no | yes | yes | |`danielquinn`_ |
+---------+----------------+-----+-----+-----+------+----------------+ +---------+----------------+-----+-----+-----+------+----------+----------------+
| Brother | `MFC-J6930DW`_ | yes | | | |`ayounggun`_ | | Brother | `ADS-1100W`_ | yes | no | no | no | |`ytzelf`_ |
+---------+----------------+-----+-----+-----+------+----------------+ +---------+----------------+-----+-----+-----+------+----------+----------------+
| Brother | `MFC-L5850DW`_ | yes | | | yes |`holzhannes`_ | | Brother | `MFC-J6930DW`_ | yes | | | | |`ayounggun`_ |
+---------+----------------+-----+-----+-----+------+----------------+ +---------+----------------+-----+-----+-----+------+----------+----------------+
| Brother | `MFC-J5910DW`_ | yes | | | |`bmsleight`_ | | Brother | `MFC-L5850DW`_ | yes | | | yes | |`holzhannes`_ |
+---------+----------------+-----+-----+-----+------+----------------+ +---------+----------------+-----+-----+-----+------+----------+----------------+
| Brother | `MFC-9142CDN`_ | yes | | yes | |`REOLDEV`_ | | Brother | `MFC-J5910DW`_ | yes | | | | |`bmsleight`_ |
+---------+----------------+-----+-----+-----+------+----------------+ +---------+----------------+-----+-----+-----+------+----------+----------------+
| Fujitsu | `ix500`_ | yes | | yes | |`eonist`_ | | Brother | `MFC-9142CDN`_ | yes | | yes | | |`REOLDEV`_ |
+---------+----------------+-----+-----+-----+------+----------------+ +---------+----------------+-----+-----+-----+------+----------+----------------+
| Epson | `WF-7710DWF`_ | yes | | yes | |`Skylinar`_ | | Fujitsu | `ix500`_ | yes | | yes | | |`eonist`_ |
+---------+----------------+-----+-----+-----+------+----------------+ +---------+----------------+-----+-----+-----+------+----------+----------------+
| Fujitsu | `S1300i`_ | yes | | yes | |`jonaswinkler`_ | | Epson | `WF-7710DWF`_ | yes | | yes | | |`Skylinar`_ |
+---------+----------------+-----+-----+-----+------+----------------+ +---------+----------------+-----+-----+-----+------+----------+----------------+
| Fujitsu | `S1300i`_ | yes | | yes | | |`jonaswinkler`_ |
+---------+----------------+-----+-----+-----+------+----------+----------------+
| Doxie | `Q2`_ | no | no | no | no | yes |`Unkn0wnCat`_ |
+---------+----------------+-----+-----+-----+------+----------+----------------+
.. _MFC-L5850DW: https://www.brother-usa.com/products/mfcl5850dw .. _MFC-L5850DW: https://www.brother-usa.com/products/mfcl5850dw
.. _ADS-1700W: https://www.brother-usa.com/products/ads1700w .. _ADS-1700W: https://www.brother-usa.com/products/ads1700w
.. _ADS-1600W: https://www.brother-usa.com/products/ads1600w .. _ADS-1600W: https://www.brother-usa.com/products/ads1600w
.. _ADS-1500W: https://www.brother.ca/en/p/ads1500w .. _ADS-1500W: https://www.brother.ca/en/p/ads1500w
.. _ADS-1100W: https://support.brother.com/g/b/downloadtop.aspx?c=fr&lang=fr&prod=ads1100w_eu_as_cn
.. _MFC-J6930DW: https://www.brother.ca/en/p/MFCJ6930DW .. _MFC-J6930DW: https://www.brother.ca/en/p/MFCJ6930DW
.. _MFC-J5910DW: https://www.brother.co.uk/printers/inkjet-printers/mfcj5910dw .. _MFC-J5910DW: https://www.brother.co.uk/printers/inkjet-printers/mfcj5910dw
.. _MFC-9142CDN: https://www.brother.co.uk/printers/laser-printers/mfc9140cdn .. _MFC-9142CDN: https://www.brother.co.uk/printers/laser-printers/mfc9140cdn
.. _ix500: http://www.fujitsu.com/us/products/computing/peripheral/scanners/scansnap/ix500/ .. _ix500: http://www.fujitsu.com/us/products/computing/peripheral/scanners/scansnap/ix500/
.. _WF-7710DWF: https://www.epson.de/en/products/printers/inkjet-printers/for-home/workforce-wf-7710dwf .. _WF-7710DWF: https://www.epson.de/en/products/printers/inkjet-printers/for-home/workforce-wf-7710dwf
.. _S1300i: https://www.fujitsu.com/global/products/computing/peripheral/scanners/soho/s1300i/ .. _S1300i: https://www.fujitsu.com/global/products/computing/peripheral/scanners/soho/s1300i/
.. _Q2: https://www.getdoxie.com/product/doxie-q/
.. _danielquinn: https://github.com/danielquinn .. _danielquinn: https://github.com/danielquinn
@@ -59,6 +65,10 @@ Physical scanners
.. _Skylinar: https://github.com/Skylinar .. _Skylinar: https://github.com/Skylinar
.. _jonaswinkler: https://github.com/jonaswinkler .. _jonaswinkler: https://github.com/jonaswinkler
.. _holzhannes: https://github.com/holzhannes .. _holzhannes: https://github.com/holzhannes
.. _ytzelf: https://github.com/ytzelf
.. _Unkn0wnCat: https://github.com/Unkn0wnCat
.. [1] Scanners with API Integration allow to push scanned documents directly to :ref:`Paperless API <api-file_uploads>`, sometimes referred to as Webhook or Document POST.
Mobile phone software Mobile phone software
===================== =====================
+18
View File
@@ -171,6 +171,24 @@ Install Paperless from Docker Hub
Don't change the part after the colon or paperless wont find your documents. Don't change the part after the colon or paperless wont find your documents.
You may also need to change the default port that the webserver will use
from the default (8000):
.. code::
ports:
- 8000:8000
Replace the part BEFORE the colon with a port of your choice:
.. code::
ports:
- 8010:8000
Don't change the part after the colon or edit other lines that refer to
port 8000. Modifying the part before the colon will map requests on another
port to the webserver running on the default port.
5. Modify ``docker-compose.env``, following the comments in the file. The 5. Modify ``docker-compose.env``, following the comments in the file. The
most important change is to set ``USERMAP_UID`` and ``USERMAP_GID`` most important change is to set ``USERMAP_UID`` and ``USERMAP_GID``
+1
View File
@@ -57,6 +57,7 @@
#PAPERLESS_CONSUMER_POLLING=10 #PAPERLESS_CONSUMER_POLLING=10
#PAPERLESS_CONSUMER_DELETE_DUPLICATES=false #PAPERLESS_CONSUMER_DELETE_DUPLICATES=false
#PAPERLESS_CONSUMER_RECURSIVE=false #PAPERLESS_CONSUMER_RECURSIVE=false
#PAPERLESS_CONSUMER_IGNORE_PATTERNS=[".DS_STORE/*", "._*", ".stfolder/*"]
#PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS=false #PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS=false
#PAPERLESS_OPTIMIZE_THUMBNAILS=true #PAPERLESS_OPTIMIZE_THUMBNAILS=true
#PAPERLESS_POST_CONSUME_SCRIPT=/path/to/an/arbitrary/script.sh #PAPERLESS_POST_CONSUME_SCRIPT=/path/to/an/arbitrary/script.sh
+34 -31
View File
@@ -8,18 +8,20 @@
-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==1.1.0; python_version >= '3.6' arrow==1.1.1; python_version >= '3.6'
asgiref==3.3.4; python_version >= '3.6' asgiref==3.4.1; python_version >= '3.6'
async-timeout==3.0.1; python_full_version >= '3.5.3' async-timeout==3.0.1; python_full_version >= '3.5.3'
attrs==21.2.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' attrs==21.2.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
autobahn==21.3.1; python_version >= '3.7' autobahn==21.3.1; python_version >= '3.7'
automat==20.2.0 automat==20.2.0
blessed==1.18.0 backports.zoneinfo==0.2.1
blessed==1.18.1; python_version >= '2.7'
certifi==2021.5.30 certifi==2021.5.30
cffi==1.14.5 cffi==1.14.6
channels-redis==3.2.0 channels-redis==3.3.0
channels==3.0.3 channels==3.0.4
chardet==4.0.0; python_version >= '3.1' chardet==4.0.0; python_version >= '3.1'
charset-normalizer==2.0.4; python_version >= '3'
click==8.0.1; python_version >= '3.6' click==8.0.1; python_version >= '3.6'
coloredlogs==15.0.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' coloredlogs==15.0.1; 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
@@ -27,12 +29,12 @@ constantly==15.1.0
cryptography==3.4.7 cryptography==3.4.7
daphne==3.0.2; python_version >= '3.6' daphne==3.0.2; python_version >= '3.6'
dateparser==1.0.0 dateparser==1.0.0
django-cors-headers==3.7.0 django-cors-headers==3.8.0
django-extensions==3.1.3 django-extensions==3.1.3
django-filter==2.4.0 django-filter==2.4.0
django-picklefield==3.0.1; python_version >= '3' django-picklefield==3.0.1; python_version >= '3'
django-q==1.3.8 django-q==1.3.9
django==3.2.4 django==3.2.6
djangorestframework==3.12.4 djangorestframework==3.12.4
filelock==3.0.12 filelock==3.0.12
fuzzywuzzy[speedup]==0.18.0 fuzzywuzzy[speedup]==0.18.0
@@ -42,8 +44,8 @@ hiredis==2.0.0; python_version >= '3.6'
httptools==0.2.0 httptools==0.2.0
humanfriendly==9.2; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' humanfriendly==9.2; 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==3.2; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
imap-tools==0.41.0 imap-tools==0.46.0
img2pdf==0.4.1 img2pdf==0.4.1
incremental==21.3.0 incremental==21.3.0
inotify-simple==1.3.5; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' inotify-simple==1.3.5; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
@@ -52,49 +54,50 @@ joblib==1.0.1; python_version >= '3.6'
langdetect==1.0.9 langdetect==1.0.9
lxml==4.6.3; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' lxml==4.6.3; 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.20.3
ocrmypdf==12.0.3 ocrmypdf==12.3.2
pathvalidate==2.4.1 pathvalidate==2.4.1
pdfminer.six==20201018 pdfminer.six==20201018
pikepdf==2.12.2 pikepdf==2.16.1
pillow==8.2.0 pillow==8.3.1
pluggy==0.13.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' pluggy==0.13.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
portalocker==2.3.0; python_version >= '3' portalocker==2.3.0; python_version >= '3'
psycopg2-binary==2.8.6 psycopg2-binary==2.9.1
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'
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.2
python-dotenv==0.17.1 python-dotenv==0.19.0
python-gnupg==0.4.7 python-gnupg==0.4.7
python-levenshtein==0.12.2 python-levenshtein==0.12.2
python-magic==0.4.24 python-magic==0.4.24
pytz==2021.1 pytz==2021.1
pyyaml==5.4.1 pyyaml==5.4.1
redis==3.5.3 redis==3.5.3
regex==2021.4.4 regex==2021.8.3
reportlab==3.5.67; python_version >= '2.7' and python_version < '4' reportlab==3.6.1; python_version >= '2.7' and python_version < '4'
requests==2.25.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' requests==2.26.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'
scikit-learn==0.24.0 scikit-learn==0.24.0
scipy==1.5.4 scipy==1.7.1; python_version < '3.10' and python_version >= '3.7'
service-identity==21.1.0 service-identity==21.1.0
six==1.16.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' six==1.16.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
sortedcontainers==2.4.0 sortedcontainers==2.4.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.2.0; python_version >= '3.6'
tika==1.24 tika==1.24
tqdm==4.61.1 tqdm==4.62.1
twisted[tls]==21.2.0; python_full_version >= '3.5.4' twisted[tls]==21.7.0; python_full_version >= '3.6.7'
txaio==21.2.1; python_version >= '3.6' txaio==21.2.1; python_version >= '3.6'
tzlocal==2.1 typing-extensions==3.10.0.0
urllib3==1.26.5; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4' tzlocal==3.0; python_version >= '3.6'
uvicorn[standard]==0.14.0 urllib3==1.26.6; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'
uvloop==0.14.0 uvicorn[standard]==0.15.0
watchdog==1.0.2 uvloop==0.16.0
watchdog==2.1.3
watchgod==0.7 watchgod==0.7
wcwidth==0.2.5 wcwidth==0.2.5
websockets==9.1 websockets==9.1
whitenoise==5.2.0 whitenoise==5.3.0
whoosh==2.7.4 whoosh==2.7.4
zope.interface==5.4.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' zope.interface==5.4.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
+2 -1
View File
@@ -27,7 +27,8 @@
"ru-RU": "src/locale/messages.ru_RU.xlf", "ru-RU": "src/locale/messages.ru_RU.xlf",
"es-ES": "src/locale/messages.es_ES.xlf", "es-ES": "src/locale/messages.es_ES.xlf",
"pl-PL": "src/locale/messages.pl_PL.xlf", "pl-PL": "src/locale/messages.pl_PL.xlf",
"sv-SE": "src/locale/messages.sv_SE.xlf" "sv-SE": "src/locale/messages.sv_SE.xlf",
"lb-LU": "src/locale/messages.lb_LU.xlf"
} }
}, },
"architect": { "architect": {
+2
View File
@@ -76,6 +76,7 @@ import localeRu from '@angular/common/locales/ru';
import localeEs from '@angular/common/locales/es'; import localeEs from '@angular/common/locales/es';
import localePl from '@angular/common/locales/pl'; import localePl from '@angular/common/locales/pl';
import localeSv from '@angular/common/locales/sv'; import localeSv from '@angular/common/locales/sv';
import localeLb from '@angular/common/locales/lb';
registerLocaleData(localeFr) registerLocaleData(localeFr)
@@ -90,6 +91,7 @@ registerLocaleData(localeRu)
registerLocaleData(localeEs) registerLocaleData(localeEs)
registerLocaleData(localePl) registerLocaleData(localePl)
registerLocaleData(localeSv) registerLocaleData(localeSv)
registerLocaleData(localeLb)
@NgModule({ @NgModule({
declarations: [ declarations: [
+2 -1
View File
@@ -99,7 +99,8 @@ export class SettingsService {
{code: "ru-ru", name: $localize`Russian`, englishName: "Russian", dateInputFormat: "dd.mm.yyyy"}, {code: "ru-ru", name: $localize`Russian`, englishName: "Russian", dateInputFormat: "dd.mm.yyyy"},
{code: "es-es", name: $localize`Spanish`, englishName: "Spanish", dateInputFormat: "dd/mm/yyyy"}, {code: "es-es", name: $localize`Spanish`, englishName: "Spanish", dateInputFormat: "dd/mm/yyyy"},
{code: "pl-pl", name: $localize`Polish`, englishName: "Polish", dateInputFormat: "dd.mm.yyyy"}, {code: "pl-pl", name: $localize`Polish`, englishName: "Polish", dateInputFormat: "dd.mm.yyyy"},
{code: "sv-se", name: $localize`Swedish`, englishName: "Swedish", dateInputFormat: "yyyy-mm-dd"} {code: "sv-se", name: $localize`Swedish`, englishName: "Swedish", dateInputFormat: "yyyy-mm-dd"},
{code: "lb-lu", name: $localize`Luxembourgish`, englishName: "Luxembourgish", dateInputFormat: "dd.mm.yyyy"}
] ]
} }
+1 -1
View File
@@ -5,7 +5,7 @@ export const environment = {
apiBaseUrl: document.baseURI + "api/", apiBaseUrl: document.baseURI + "api/",
apiVersion: "2", apiVersion: "2",
appTitle: "Paperless-ng", appTitle: "Paperless-ng",
version: "1.4.5", version: "1.5.0",
webSocketHost: window.location.host, webSocketHost: window.location.host,
webSocketProtocol: (window.location.protocol == "https:" ? "wss:" : "ws:"), webSocketProtocol: (window.location.protocol == "https:" ? "wss:" : "ws:"),
webSocketBaseUrl: base_url.pathname + "ws/", webSocketBaseUrl: base_url.pathname + "ws/",
+15 -15
View File
@@ -176,7 +176,7 @@
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context> <context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
<context context-type="linenumber">117</context> <context context-type="linenumber">117</context>
</context-group> </context-group>
<target state="translated">Tipo de documento</target> <target state="translated">Correspondencia</target>
</trans-unit> </trans-unit>
<trans-unit id="fdf7cbdc140d0aab0f0b6c06065a0fd448ed6a2e" datatype="html"> <trans-unit id="fdf7cbdc140d0aab0f0b6c06065a0fd448ed6a2e" datatype="html">
<source>Title</source> <source>Title</source>
@@ -208,7 +208,7 @@
<context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context> <context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context>
<context context-type="linenumber">141</context> <context context-type="linenumber">141</context>
</context-group> </context-group>
<target state="translated">Aggregado</target> <target state="translated">Añadido</target>
</trans-unit> </trans-unit>
<trans-unit id="9021887951960049161" datatype="html"> <trans-unit id="9021887951960049161" datatype="html">
<source>Confirm delete</source> <source>Confirm delete</source>
@@ -1201,7 +1201,7 @@
<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">61</context> <context context-type="linenumber">61</context>
</context-group> </context-group>
<target state="translated">ASN: <x id="PH" equiv-text="rule.value"/></target> <target state="translated">NSA: <x id="PH" equiv-text="rule.value"/></target>
</trans-unit> </trans-unit>
<trans-unit id="5701618810648052610" datatype="html"> <trans-unit id="5701618810648052610" datatype="html">
<source>Title</source> <source>Title</source>
@@ -1233,7 +1233,7 @@
<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">91</context> <context context-type="linenumber">91</context>
</context-group> </context-group>
<target state="needs-translation">Advanced search</target> <target state="translated">Búsqueda avanzada</target>
</trans-unit> </trans-unit>
<trans-unit id="2649431021108393503" datatype="html"> <trans-unit id="2649431021108393503" datatype="html">
<source>More like</source> <source>More like</source>
@@ -1241,7 +1241,7 @@
<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">94</context> <context context-type="linenumber">94</context>
</context-group> </context-group>
<target state="needs-translation">More like</target> <target state="translated">Más parecido</target>
</trans-unit> </trans-unit>
<trans-unit id="02d184c288f567825a1fcbf83bcd3099a10853d5" datatype="html"> <trans-unit id="02d184c288f567825a1fcbf83bcd3099a10853d5" datatype="html">
<source>Filter tags</source> <source>Filter tags</source>
@@ -1386,7 +1386,7 @@
<context context-type="sourcefile">src/app/components/document-list/document-card-small/document-card-small.component.html</context> <context context-type="sourcefile">src/app/components/document-list/document-card-small/document-card-small.component.html</context>
<context context-type="linenumber">43</context> <context context-type="linenumber">43</context>
</context-group> </context-group>
<target state="needs-translation">Created: <x id="INTERPOLATION" equiv-text="{{ document.created | customDate}}"/></target> <target state="translated">Creado: <x id="INTERPOLATION" equiv-text="{{ document.created | customDate}}"/></target>
</trans-unit> </trans-unit>
<trans-unit id="0f5d856cb63c69fde44fbfc653ec0655f9040865" datatype="html"> <trans-unit id="0f5d856cb63c69fde44fbfc653ec0655f9040865" datatype="html">
<source>Added: <x id="INTERPOLATION" equiv-text="{{ document.added | customDate}}"/></source> <source>Added: <x id="INTERPOLATION" equiv-text="{{ document.added | customDate}}"/></source>
@@ -1394,7 +1394,7 @@
<context context-type="sourcefile">src/app/components/document-list/document-card-small/document-card-small.component.html</context> <context context-type="sourcefile">src/app/components/document-list/document-card-small/document-card-small.component.html</context>
<context context-type="linenumber">44</context> <context context-type="linenumber">44</context>
</context-group> </context-group>
<target state="needs-translation">Added: <x id="INTERPOLATION" equiv-text="{{ document.added | customDate}}"/></target> <target state="translated">Añadido: <x id="INTERPOLATION" equiv-text="{{ document.added | customDate}}"/></target>
</trans-unit> </trans-unit>
<trans-unit id="a205126adef6251fc63305f1a6228d07bc2795a8" datatype="html"> <trans-unit id="a205126adef6251fc63305f1a6228d07bc2795a8" datatype="html">
<source>Modified: <x id="INTERPOLATION" equiv-text="{{ document.modified | customDate}}"/></source> <source>Modified: <x id="INTERPOLATION" equiv-text="{{ document.modified | customDate}}"/></source>
@@ -1402,7 +1402,7 @@
<context context-type="sourcefile">src/app/components/document-list/document-card-small/document-card-small.component.html</context> <context context-type="sourcefile">src/app/components/document-list/document-card-small/document-card-small.component.html</context>
<context context-type="linenumber">45</context> <context context-type="linenumber">45</context>
</context-group> </context-group>
<target state="needs-translation">Modified: <x id="INTERPOLATION" equiv-text="{{ document.modified | customDate}}"/></target> <target state="translated">Modificado: <x id="INTERPOLATION" equiv-text="{{ document.modified | customDate}}"/></target>
</trans-unit> </trans-unit>
<trans-unit id="7985804062689412812" datatype="html"> <trans-unit id="7985804062689412812" datatype="html">
<source>Error executing bulk operation: <x id="PH" equiv-text="JSON.stringify(error.error)"/></source> <source>Error executing bulk operation: <x id="PH" equiv-text="JSON.stringify(error.error)"/></source>
@@ -1614,7 +1614,7 @@
<context context-type="linenumber">11</context> <context context-type="linenumber">11</context>
</context-group> </context-group>
<note priority="1" from="description">Used for both types and correspondents</note> <note priority="1" from="description">Used for both types and correspondents</note>
<target state="needs-translation">Add item</target> <target state="translated">Añadir elemento</target>
</trans-unit> </trans-unit>
<trans-unit id="a1e6c11f20d4bf6e8e6b43e3c6d2561b2080645e" datatype="html"> <trans-unit id="a1e6c11f20d4bf6e8e6b43e3c6d2561b2080645e" datatype="html">
<source>Suggestions:</source> <source>Suggestions:</source>
@@ -1638,7 +1638,7 @@
<context context-type="sourcefile">src/app/components/common/input/tags/tags.component.html</context> <context context-type="sourcefile">src/app/components/common/input/tags/tags.component.html</context>
<context context-type="linenumber">11</context> <context context-type="linenumber">11</context>
</context-group> </context-group>
<target state="needs-translation">Add tag</target> <target state="translated">Añadir etiqueta</target>
</trans-unit> </trans-unit>
<trans-unit id="4eb84de23219c85432e38fb4fbdeb6c0f103ff8b" datatype="html"> <trans-unit id="4eb84de23219c85432e38fb4fbdeb6c0f103ff8b" datatype="html">
<source>Show all</source> <source>Show all</source>
@@ -1872,7 +1872,7 @@
<context context-type="sourcefile">src/app/components/document-asn/document-asn.component.html</context> <context context-type="sourcefile">src/app/components/document-asn/document-asn.component.html</context>
<context context-type="linenumber">1</context> <context context-type="linenumber">1</context>
</context-group> </context-group>
<target state="needs-translation">Searching document with asn <x id="INTERPOLATION" equiv-text="{{asn}}"/></target> <target state="translated">Buscando documento con NSA <x id="INTERPOLATION" equiv-text="{{asn}}"/></target>
</trans-unit> </trans-unit>
<trans-unit id="2807800733729323332" datatype="html"> <trans-unit id="2807800733729323332" datatype="html">
<source>Yes</source> <source>Yes</source>
@@ -1944,7 +1944,7 @@
<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">95</context> <context context-type="linenumber">95</context>
</context-group> </context-group>
<target state="needs-translation">Portuguese</target> <target state="translated">Portugués</target>
</trans-unit> </trans-unit>
<trans-unit id="9184513005098760425" datatype="html"> <trans-unit id="9184513005098760425" datatype="html">
<source>Portuguese (Brazil)</source> <source>Portuguese (Brazil)</source>
@@ -1992,7 +1992,7 @@
<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">101</context> <context context-type="linenumber">101</context>
</context-group> </context-group>
<target state="needs-translation">Polish</target> <target state="translated">Polaco</target>
</trans-unit> </trans-unit>
<trans-unit id="499386805970351976" datatype="html"> <trans-unit id="499386805970351976" datatype="html">
<source>Swedish</source> <source>Swedish</source>
@@ -2000,7 +2000,7 @@
<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">102</context> <context context-type="linenumber">102</context>
</context-group> </context-group>
<target state="needs-translation">Swedish</target> <target state="translated">Sueco</target>
</trans-unit> </trans-unit>
<trans-unit id="4912706592792948707" datatype="html"> <trans-unit id="4912706592792948707" datatype="html">
<source>ISO 8601</source> <source>ISO 8601</source>
@@ -2181,7 +2181,7 @@
<context context-type="linenumber">28</context> <context context-type="linenumber">28</context>
</context-group> </context-group>
<note priority="1" from="description">Score is a value returned by the full text search engine and specifies how well a result matches the given query</note> <note priority="1" from="description">Score is a value returned by the full text search engine and specifies how well a result matches the given query</note>
<target state="needs-translation">Search score</target> <target state="translated">Puntuación de búsqueda</target>
</trans-unit> </trans-unit>
<trans-unit id="4561076822163447092" datatype="html"> <trans-unit id="4561076822163447092" datatype="html">
<source>Create new item</source> <source>Create new item</source>
File diff suppressed because it is too large. Load diff
+4 -4
View File
@@ -1614,7 +1614,7 @@
<context context-type="linenumber">11</context> <context context-type="linenumber">11</context>
</context-group> </context-group>
<note priority="1" from="description">Used for both types and correspondents</note> <note priority="1" from="description">Used for both types and correspondents</note>
<target state="needs-translation">Add item</target> <target state="translated">Dodaj element</target>
</trans-unit> </trans-unit>
<trans-unit id="a1e6c11f20d4bf6e8e6b43e3c6d2561b2080645e" datatype="html"> <trans-unit id="a1e6c11f20d4bf6e8e6b43e3c6d2561b2080645e" datatype="html">
<source>Suggestions:</source> <source>Suggestions:</source>
@@ -1638,7 +1638,7 @@
<context context-type="sourcefile">src/app/components/common/input/tags/tags.component.html</context> <context context-type="sourcefile">src/app/components/common/input/tags/tags.component.html</context>
<context context-type="linenumber">11</context> <context context-type="linenumber">11</context>
</context-group> </context-group>
<target state="needs-translation">Add tag</target> <target state="translated">Dodaj tag</target>
</trans-unit> </trans-unit>
<trans-unit id="4eb84de23219c85432e38fb4fbdeb6c0f103ff8b" datatype="html"> <trans-unit id="4eb84de23219c85432e38fb4fbdeb6c0f103ff8b" datatype="html">
<source>Show all</source> <source>Show all</source>
@@ -2000,7 +2000,7 @@
<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">102</context> <context context-type="linenumber">102</context>
</context-group> </context-group>
<target state="needs-translation">Swedish</target> <target state="translated">Szwedzki</target>
</trans-unit> </trans-unit>
<trans-unit id="4912706592792948707" datatype="html"> <trans-unit id="4912706592792948707" datatype="html">
<source>ISO 8601</source> <source>ISO 8601</source>
@@ -2181,7 +2181,7 @@
<context context-type="linenumber">28</context> <context context-type="linenumber">28</context>
</context-group> </context-group>
<note priority="1" from="description">Score is a value returned by the full text search engine and specifies how well a result matches the given query</note> <note priority="1" from="description">Score is a value returned by the full text search engine and specifies how well a result matches the given query</note>
<target state="needs-translation">Search score</target> <target state="translated">Dopasowanie</target>
</trans-unit> </trans-unit>
<trans-unit id="4561076822163447092" datatype="html"> <trans-unit id="4561076822163447092" datatype="html">
<source>Create new item</source> <source>Create new item</source>
+3 -3
View File
@@ -1614,7 +1614,7 @@
<context context-type="linenumber">11</context> <context context-type="linenumber">11</context>
</context-group> </context-group>
<note priority="1" from="description">Used for both types and correspondents</note> <note priority="1" from="description">Used for both types and correspondents</note>
<target state="needs-translation">Add item</target> <target state="translated">Adaugă element</target>
</trans-unit> </trans-unit>
<trans-unit id="a1e6c11f20d4bf6e8e6b43e3c6d2561b2080645e" datatype="html"> <trans-unit id="a1e6c11f20d4bf6e8e6b43e3c6d2561b2080645e" datatype="html">
<source>Suggestions:</source> <source>Suggestions:</source>
@@ -1638,7 +1638,7 @@
<context context-type="sourcefile">src/app/components/common/input/tags/tags.component.html</context> <context context-type="sourcefile">src/app/components/common/input/tags/tags.component.html</context>
<context context-type="linenumber">11</context> <context context-type="linenumber">11</context>
</context-group> </context-group>
<target state="needs-translation">Add tag</target> <target state="translated">Adaugă etichetă</target>
</trans-unit> </trans-unit>
<trans-unit id="4eb84de23219c85432e38fb4fbdeb6c0f103ff8b" datatype="html"> <trans-unit id="4eb84de23219c85432e38fb4fbdeb6c0f103ff8b" datatype="html">
<source>Show all</source> <source>Show all</source>
@@ -2181,7 +2181,7 @@
<context context-type="linenumber">28</context> <context context-type="linenumber">28</context>
</context-group> </context-group>
<note priority="1" from="description">Score is a value returned by the full text search engine and specifies how well a result matches the given query</note> <note priority="1" from="description">Score is a value returned by the full text search engine and specifies how well a result matches the given query</note>
<target state="needs-translation">Search score</target> <target state="translated">Scor de căutare</target>
</trans-unit> </trans-unit>
<trans-unit id="4561076822163447092" datatype="html"> <trans-unit id="4561076822163447092" datatype="html">
<source>Create new item</source> <source>Create new item</source>
@@ -1,6 +1,6 @@
import logging import logging
import os import os
from pathlib import Path from pathlib import Path, PurePath
from threading import Thread from threading import Thread
from time import sleep from time import sleep
@@ -36,15 +36,11 @@ def _tags_from_path(filepath):
return tag_ids return tag_ids
def _is_ignored(filepath): def _is_ignored(filepath: str) -> bool:
# https://github.com/jonaswinkler/paperless-ng/discussions/1037 filepath_relative = PurePath(filepath).relative_to(
basename = os.path.basename(filepath) settings.CONSUMPTION_DIR)
if basename == ".DS_STORE": return any(
return True filepath_relative.match(p) for p in settings.CONSUMER_IGNORE_PATTERNS)
if basename.startswith("._"):
return True
return False
def _consume(filepath): def _consume(filepath):
@@ -222,6 +222,22 @@ class TestConsumer(DirectoriesMixin, ConsumerMixin, TransactionTestCase):
fnames = [os.path.basename(args[1]) for args, _ in self.task_mock.call_args_list] fnames = [os.path.basename(args[1]) for args, _ in self.task_mock.call_args_list]
self.assertCountEqual(fnames, ["my_file.pdf", "my_second_file.pdf"]) self.assertCountEqual(fnames, ["my_file.pdf", "my_second_file.pdf"])
def test_is_ignored(self):
test_paths = [
(os.path.join(self.dirs.consumption_dir, "foo.pdf"), False),
(os.path.join(self.dirs.consumption_dir, "foo","bar.pdf"), False),
(os.path.join(self.dirs.consumption_dir, ".DS_STORE", "foo.pdf"), True),
(os.path.join(self.dirs.consumption_dir, "foo", ".DS_STORE", "bar.pdf"), True),
(os.path.join(self.dirs.consumption_dir, ".stfolder", "foo.pdf"), True),
(os.path.join(self.dirs.consumption_dir, "._foo.pdf"), True),
(os.path.join(self.dirs.consumption_dir, "._foo", "bar.pdf"), False),
]
for file_path, expected_ignored in test_paths:
self.assertEqual(
expected_ignored,
document_consumer._is_ignored(file_path),
f'_is_ignored("{file_path}") != {expected_ignored}')
@override_settings(CONSUMER_POLLING=1, CONSUMER_POLLING_DELAY=1, CONSUMER_POLLING_RETRY_COUNT=20) @override_settings(CONSUMER_POLLING=1, CONSUMER_POLLING_DELAY=1, CONSUMER_POLLING_RETRY_COUNT=20)
class TestConsumerPolling(TestConsumer): class TestConsumerPolling(TestConsumer):
+2 -2
View File
@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: paperless-ng\n" "Project-Id-Version: paperless-ng\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-05-16 09:38+0000\n" "POT-Creation-Date: 2021-05-16 09:38+0000\n"
"PO-Revision-Date: 2021-05-16 11:15\n" "PO-Revision-Date: 2021-07-05 11:17\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: German\n" "Language-Team: German\n"
"Language: de_DE\n" "Language: de_DE\n"
@@ -35,7 +35,7 @@ msgstr "Exakte Übereinstimmung"
#: documents/models.py:35 #: documents/models.py:35
msgid "Regular expression" msgid "Regular expression"
msgstr "Regulärer Ausdruck" msgstr "Regular expression / Reguläre Ausdrücke"
#: documents/models.py:36 #: documents/models.py:36
msgid "Fuzzy word" msgid "Fuzzy word"
+3 -3
View File
@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: paperless-ng\n" "Project-Id-Version: paperless-ng\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-05-16 09:38+0000\n" "POT-Creation-Date: 2021-05-16 09:38+0000\n"
"PO-Revision-Date: 2021-05-16 10:09\n" "PO-Revision-Date: 2021-06-19 21:20\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: English, United Kingdom\n" "Language-Team: English, United Kingdom\n"
"Language: en_GB\n" "Language: en_GB\n"
@@ -470,11 +470,11 @@ msgstr "Paperless-ng administration"
#: paperless_mail/admin.py:15 #: paperless_mail/admin.py:15
msgid "Authentication" msgid "Authentication"
msgstr "" msgstr "Authentication"
#: paperless_mail/admin.py:18 #: paperless_mail/admin.py:18
msgid "Advanced settings" msgid "Advanced settings"
msgstr "" msgstr "Advanced settings"
#: paperless_mail/admin.py:37 #: paperless_mail/admin.py:37
msgid "Filter" msgid "Filter"
+28 -28
View File
@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: paperless-ng\n" "Project-Id-Version: paperless-ng\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-05-16 09:38+0000\n" "POT-Creation-Date: 2021-05-16 09:38+0000\n"
"PO-Revision-Date: 2021-05-16 10:09\n" "PO-Revision-Date: 2021-07-29 20:57\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Spanish\n" "Language-Team: Spanish\n"
"Language: es_ES\n" "Language: es_ES\n"
@@ -64,11 +64,11 @@ msgstr "es insensible"
#: documents/models.py:74 documents/models.py:120 #: documents/models.py:74 documents/models.py:120
msgid "correspondent" msgid "correspondent"
msgstr "Tipo de documento" msgstr "interlocutor"
#: documents/models.py:75 #: documents/models.py:75
msgid "correspondents" msgid "correspondents"
msgstr "Tipos de documento" msgstr "interlocutores"
#: documents/models.py:81 #: documents/models.py:81
msgid "color" msgid "color"
@@ -100,15 +100,15 @@ msgstr "tipos de documento"
#: documents/models.py:110 #: documents/models.py:110
msgid "Unencrypted" msgid "Unencrypted"
msgstr "Sin encriptar" msgstr "Sin cifrar"
#: documents/models.py:111 #: documents/models.py:111
msgid "Encrypted with GNU Privacy Guard" msgid "Encrypted with GNU Privacy Guard"
msgstr "Encriptado con GNU Privacy Guard" msgstr "Cifrado con GNU Privacy Guard"
#: documents/models.py:124 #: documents/models.py:124
msgid "title" msgid "title"
msgstr "titulo" msgstr "título"
#: documents/models.py:137 #: documents/models.py:137
msgid "content" msgid "content"
@@ -256,7 +256,7 @@ msgstr "ordenar al revés"
#: documents/models.py:373 #: documents/models.py:373
msgid "title contains" msgid "title contains"
msgstr "el titulo contiene" msgstr "el título contiene"
#: documents/models.py:374 #: documents/models.py:374
msgid "content contains" msgid "content contains"
@@ -268,7 +268,7 @@ msgstr "ASN es"
#: documents/models.py:376 #: documents/models.py:376
msgid "correspondent is" msgid "correspondent is"
msgstr "tipo de documento es" msgstr "interlocutor es"
#: documents/models.py:377 #: documents/models.py:377
msgid "document type is" msgid "document type is"
@@ -336,11 +336,11 @@ msgstr "el título o cuerpo contiene"
#: documents/models.py:393 #: documents/models.py:393
msgid "fulltext query" msgid "fulltext query"
msgstr "" msgstr "consulta de texto completo"
#: documents/models.py:394 #: documents/models.py:394
msgid "more like this" msgid "more like this"
msgstr "" msgstr "más contenido similar"
#: documents/models.py:405 #: documents/models.py:405
msgid "rule type" msgid "rule type"
@@ -438,7 +438,7 @@ msgstr "Portugués (Brasil)"
#: paperless/settings.py:309 #: paperless/settings.py:309
msgid "Portuguese" msgid "Portuguese"
msgstr "" msgstr "Portugués"
#: paperless/settings.py:310 #: paperless/settings.py:310
msgid "Italian" msgid "Italian"
@@ -458,11 +458,11 @@ msgstr "Español"
#: paperless/settings.py:314 #: paperless/settings.py:314
msgid "Polish" msgid "Polish"
msgstr "" msgstr "Polaco"
#: paperless/settings.py:315 #: paperless/settings.py:315
msgid "Swedish" msgid "Swedish"
msgstr "" msgstr "Sueco"
#: paperless/urls.py:120 #: paperless/urls.py:120
msgid "Paperless-ng administration" msgid "Paperless-ng administration"
@@ -470,11 +470,11 @@ msgstr "Paperless-ng Administración"
#: paperless_mail/admin.py:15 #: paperless_mail/admin.py:15
msgid "Authentication" msgid "Authentication"
msgstr "" msgstr "Autentificación"
#: paperless_mail/admin.py:18 #: paperless_mail/admin.py:18
msgid "Advanced settings" msgid "Advanced settings"
msgstr "" msgstr "Configuración avanzada"
#: paperless_mail/admin.py:37 #: paperless_mail/admin.py:37
msgid "Filter" msgid "Filter"
@@ -490,7 +490,7 @@ msgstr "Acciones"
#: paperless_mail/admin.py:51 #: paperless_mail/admin.py:51
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." msgid "The action applied to the mail. This action is only performed when documents were consumed from the mail. Mails without attachments will remain entirely untouched."
msgstr "La acción aplicada al correo. Esta acción solo se realiza cuando los documentos se consumen del correo. Los correos sin archivos adjuntos permanecerán totalmente intactos." msgstr "La acción se aplicó al correo. Esta acción sólo se realiza cuando los documentos se consumen desde el correo. Los correos sin archivos adjuntos permanecerán totalmente intactos."
#: paperless_mail/admin.py:58 #: paperless_mail/admin.py:58
msgid "Metadata" msgid "Metadata"
@@ -498,7 +498,7 @@ msgstr "Metadatos"
#: paperless_mail/admin.py:60 #: paperless_mail/admin.py:60
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." msgid "Assign metadata to documents consumed from this rule automatically. If you do not assign tags, types or correspondents here, paperless will still process all matching rules that you have defined."
msgstr "Asignar metadatos a documentos consumidos por esta regla automáticamente. Si no asigna etiquetas, o ipos aquí, paperless procesará igualmente todas las reglas que haya definido." msgstr "Asignar metadatos a documentos consumidos por esta regla automáticamente. Si no asigna etiquetas, tipos o interlocutores aquí, paperless procesará igualmente todas las reglas que haya definido."
#: paperless_mail/apps.py:9 #: paperless_mail/apps.py:9
msgid "Paperless mail" msgid "Paperless mail"
@@ -550,11 +550,11 @@ msgstr "contraseña"
#: paperless_mail/models.py:54 #: paperless_mail/models.py:54
msgid "character set" msgid "character set"
msgstr "" msgstr "conjunto de caracteres"
#: paperless_mail/models.py:57 #: paperless_mail/models.py:57
msgid "The character set to use when communicating with the mail server, such as 'UTF-8' or 'US-ASCII'." msgid "The character set to use when communicating with the mail server, such as 'UTF-8' or 'US-ASCII'."
msgstr "" msgstr "El conjunto de caracteres a usar al comunicarse con el servidor de correo, como 'UTF-8' o 'US-ASCII'."
#: paperless_mail/models.py:68 #: paperless_mail/models.py:68
msgid "mail rule" msgid "mail rule"
@@ -590,7 +590,7 @@ msgstr "Borrar"
#: paperless_mail/models.py:96 #: paperless_mail/models.py:96
msgid "Use subject as title" msgid "Use subject as title"
msgstr "Usar asunto como titulo" msgstr "Usar asunto como título"
#: paperless_mail/models.py:97 #: paperless_mail/models.py:97
msgid "Use attachment filename as title" msgid "Use attachment filename as title"
@@ -598,7 +598,7 @@ msgstr "Usar nombre del fichero adjunto como título"
#: paperless_mail/models.py:107 #: paperless_mail/models.py:107
msgid "Do not assign a correspondent" msgid "Do not assign a correspondent"
msgstr "No asignar un tipo de documento" msgstr "No asignar interlocutor"
#: paperless_mail/models.py:109 #: paperless_mail/models.py:109
msgid "Use mail address" msgid "Use mail address"
@@ -606,11 +606,11 @@ msgstr "Usar dirección de correo"
#: paperless_mail/models.py:111 #: paperless_mail/models.py:111
msgid "Use name (or mail address if not available)" msgid "Use name (or mail address if not available)"
msgstr "Usar nombre (o dirección de correo si no está disponible)" msgstr "Usar nombre (o dirección de correo sino está disponible)"
#: paperless_mail/models.py:113 #: paperless_mail/models.py:113
msgid "Use correspondent selected below" msgid "Use correspondent selected below"
msgstr "Usar el tipo seleccionado debajo" msgstr "Usar el interlocutor seleccionado a continuación"
#: paperless_mail/models.py:121 #: paperless_mail/models.py:121
msgid "order" msgid "order"
@@ -626,7 +626,7 @@ msgstr "carpeta"
#: paperless_mail/models.py:134 #: paperless_mail/models.py:134
msgid "Subfolders must be separated by dots." msgid "Subfolders must be separated by dots."
msgstr "" msgstr "Las subcarpetas deben estar separadas por puntos."
#: paperless_mail/models.py:138 #: paperless_mail/models.py:138
msgid "filter from" msgid "filter from"
@@ -674,11 +674,11 @@ msgstr "parámetro de acción"
#: paperless_mail/models.py:177 #: paperless_mail/models.py:177
msgid "Additional parameter for the action selected above, i.e., the target folder of the move to folder action. Subfolders must be separated by dots." msgid "Additional parameter for the action selected above, i.e., the target folder of the move to folder action. Subfolders must be separated by dots."
msgstr "" msgstr "Parámetro adicional para la acción seleccionada arriba. Ej. la carpeta de destino de la acción \"mover a carpeta\". Las subcarpetas deben estar separadas por puntos."
#: paperless_mail/models.py:184 #: paperless_mail/models.py:184
msgid "assign title from" msgid "assign title from"
msgstr "asignar titulo desde" msgstr "asignar título desde"
#: paperless_mail/models.py:194 #: paperless_mail/models.py:194
msgid "assign this tag" msgid "assign this tag"
@@ -690,9 +690,9 @@ msgstr "asignar este tipo de documento"
#: paperless_mail/models.py:206 #: paperless_mail/models.py:206
msgid "assign correspondent from" msgid "assign correspondent from"
msgstr "Asignar tipo de documento desde" msgstr "asignar interlocutor desde"
#: paperless_mail/models.py:216 #: paperless_mail/models.py:216
msgid "assign this correspondent" msgid "assign this correspondent"
msgstr "asignar este tipo de documento" msgstr "asignar este interlocutor"
+698
View File
@@ -0,0 +1,698 @@
msgid ""
msgstr ""
"Project-Id-Version: paperless-ng\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-05-16 09:38+0000\n"
"PO-Revision-Date: 2021-07-16 14:22\n"
"Last-Translator: \n"
"Language-Team: Luxembourgish\n"
"Language: lb_LU\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Crowdin-Project: paperless-ng\n"
"X-Crowdin-Project-ID: 434940\n"
"X-Crowdin-Language: lb\n"
"X-Crowdin-File: /dev/src/locale/en_US/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 54\n"
#: documents/apps.py:10
msgid "Documents"
msgstr "Dokumenter"
#: documents/models.py:32
msgid "Any word"
msgstr "Iergendee Wuert"
#: documents/models.py:33
msgid "All words"
msgstr "All d'Wierder"
#: documents/models.py:34
msgid "Exact match"
msgstr "Exakten Treffer"
#: documents/models.py:35
msgid "Regular expression"
msgstr "Regulären Ausdrock"
#: documents/models.py:36
msgid "Fuzzy word"
msgstr "Ongenaut Wuert"
#: documents/models.py:37
msgid "Automatic"
msgstr "Automatesch"
#: documents/models.py:41 documents/models.py:350 paperless_mail/models.py:25
#: paperless_mail/models.py:117
msgid "name"
msgstr "Numm"
#: documents/models.py:45
msgid "match"
msgstr "Zouweisungsmuster"
#: documents/models.py:49
msgid "matching algorithm"
msgstr "Zouweisungsalgorithmus"
#: documents/models.py:55
msgid "is insensitive"
msgstr "Grouss-/Klengschreiwung ignoréieren"
#: documents/models.py:74 documents/models.py:120
msgid "correspondent"
msgstr "Korrespondent"
#: documents/models.py:75
msgid "correspondents"
msgstr "Korrespondenten"
#: documents/models.py:81
msgid "color"
msgstr "Faarf"
#: documents/models.py:87
msgid "is inbox tag"
msgstr "Postaganks-Etikett"
#: documents/models.py:89
msgid "Marks this tag as an inbox tag: All newly consumed documents will be tagged with inbox tags."
msgstr "Dës Etikett als Postaganks-Etikett markéieren: All nei importéiert Dokumenter kréien ëmmer dës Etikett zougewisen."
#: documents/models.py:94
msgid "tag"
msgstr "Etikett"
#: documents/models.py:95 documents/models.py:151
msgid "tags"
msgstr "Etiketten"
#: documents/models.py:101 documents/models.py:133
msgid "document type"
msgstr "Dokumententyp"
#: documents/models.py:102
msgid "document types"
msgstr "Dokumententypen"
#: documents/models.py:110
msgid "Unencrypted"
msgstr "Onverschlësselt"
#: documents/models.py:111
msgid "Encrypted with GNU Privacy Guard"
msgstr "Verschlësselt mat GNU Privacy Guard"
#: documents/models.py:124
msgid "title"
msgstr "Titel"
#: documents/models.py:137
msgid "content"
msgstr "Inhalt"
#: documents/models.py:139
msgid "The raw, text-only data of the document. This field is primarily used for searching."
msgstr "De réien Textinhalt vum Dokument. Dëst Feld gëtt primär fir d'Sich benotzt."
#: documents/models.py:144
msgid "mime type"
msgstr "MIME-Typ"
#: documents/models.py:155
msgid "checksum"
msgstr "Préifzomm"
#: documents/models.py:159
msgid "The checksum of the original document."
msgstr "D'Préifzomm vum Original-Dokument."
#: documents/models.py:163
msgid "archive checksum"
msgstr "Archiv-Préifzomm"
#: documents/models.py:168
msgid "The checksum of the archived document."
msgstr "D'Préifzomm vum archivéierten Dokument."
#: documents/models.py:172 documents/models.py:328
msgid "created"
msgstr "erstallt"
#: documents/models.py:176
msgid "modified"
msgstr "verännert"
#: documents/models.py:180
msgid "storage type"
msgstr "Späichertyp"
#: documents/models.py:188
msgid "added"
msgstr "derbäigesat"
#: documents/models.py:192
msgid "filename"
msgstr "Fichiersnumm"
#: documents/models.py:198
msgid "Current filename in storage"
msgstr "Aktuellen Dateinumm am Späicher"
#: documents/models.py:202
msgid "archive filename"
msgstr "Archiv-Dateinumm"
#: documents/models.py:208
msgid "Current archive filename in storage"
msgstr "Aktuellen Dateinumm am Archiv"
#: documents/models.py:212
msgid "archive serial number"
msgstr "Archiv-Seriennummer"
#: documents/models.py:217
msgid "The position of this document in your physical document archive."
msgstr "D'Positioun vun dësem Dokument am physeschen Dokumentenarchiv."
#: documents/models.py:223
msgid "document"
msgstr "Dokument"
#: documents/models.py:224
msgid "documents"
msgstr "Dokumenter"
#: documents/models.py:311
msgid "debug"
msgstr "Fehlersiich"
#: documents/models.py:312
msgid "information"
msgstr "Informatioun"
#: documents/models.py:313
msgid "warning"
msgstr "Warnung"
#: documents/models.py:314
msgid "error"
msgstr "Feeler"
#: documents/models.py:315
msgid "critical"
msgstr "kritesch"
#: documents/models.py:319
msgid "group"
msgstr "Grupp"
#: documents/models.py:322
msgid "message"
msgstr "Message"
#: documents/models.py:325
msgid "level"
msgstr "Niveau"
#: documents/models.py:332
msgid "log"
msgstr "Protokoll"
#: documents/models.py:333
msgid "logs"
msgstr "Protokoller"
#: documents/models.py:344 documents/models.py:401
msgid "saved view"
msgstr "Gespäichert Usiicht"
#: documents/models.py:345
msgid "saved views"
msgstr "Gespäichert Usiichten"
#: documents/models.py:348
msgid "user"
msgstr "Benotzer"
#: documents/models.py:354
msgid "show on dashboard"
msgstr "Op der Startsäit uweisen"
#: documents/models.py:357
msgid "show in sidebar"
msgstr "An der Säiteleescht uweisen"
#: documents/models.py:361
msgid "sort field"
msgstr "Zortéierfeld"
#: documents/models.py:367
msgid "sort reverse"
msgstr "ëmgedréint zortéieren"
#: documents/models.py:373
msgid "title contains"
msgstr "Titel enthält"
#: documents/models.py:374
msgid "content contains"
msgstr "Inhalt enthält"
#: documents/models.py:375
msgid "ASN is"
msgstr "ASN ass"
#: documents/models.py:376
msgid "correspondent is"
msgstr "Korrespondent ass"
#: documents/models.py:377
msgid "document type is"
msgstr "Dokumententyp ass"
#: documents/models.py:378
msgid "is in inbox"
msgstr "ass am Postagank"
#: documents/models.py:379
msgid "has tag"
msgstr "huet Etikett"
#: documents/models.py:380
msgid "has any tag"
msgstr "huet iergendeng Etikett"
#: documents/models.py:381
msgid "created before"
msgstr "erstallt virun"
#: documents/models.py:382
msgid "created after"
msgstr "erstallt no"
#: documents/models.py:383
msgid "created year is"
msgstr "Erstellungsjoer ass"
#: documents/models.py:384
msgid "created month is"
msgstr "Erstellungsmount ass"
#: documents/models.py:385
msgid "created day is"
msgstr "Erstellungsdag ass"
#: documents/models.py:386
msgid "added before"
msgstr "dobäigesat virun"
#: documents/models.py:387
msgid "added after"
msgstr "dobäigesat no"
#: documents/models.py:388
msgid "modified before"
msgstr "verännert virun"
#: documents/models.py:389
msgid "modified after"
msgstr "verännert no"
#: documents/models.py:390
msgid "does not have tag"
msgstr "huet dës Etikett net"
#: documents/models.py:391
msgid "does not have ASN"
msgstr "huet keng ASN"
#: documents/models.py:392
msgid "title or content contains"
msgstr "Titel oder Inhalt enthalen"
#: documents/models.py:393
msgid "fulltext query"
msgstr "Volltextsich"
#: documents/models.py:394
msgid "more like this"
msgstr "ähnlech Dokumenter"
#: documents/models.py:405
msgid "rule type"
msgstr "Reegeltyp"
#: documents/models.py:409
msgid "value"
msgstr "Wäert"
#: documents/models.py:415
msgid "filter rule"
msgstr "Filterreegel"
#: documents/models.py:416
msgid "filter rules"
msgstr "Filterreegelen"
#: documents/serialisers.py:53
#, python-format
msgid "Invalid regular expression: %(error)s"
msgstr "Ongëltege regulären Ausdrock: %(error)s"
#: documents/serialisers.py:177
msgid "Invalid color."
msgstr "Ongëlteg Faarf."
#: documents/serialisers.py:451
#, python-format
msgid "File type %(type)s not supported"
msgstr "Fichierstyp %(type)s net ënnerstëtzt"
#: documents/templates/index.html:22
msgid "Paperless-ng is loading..."
msgstr "Paperless-ng gëtt gelueden..."
#: documents/templates/registration/logged_out.html:14
msgid "Paperless-ng signed out"
msgstr "Paperless-ng ofgemellt"
#: documents/templates/registration/logged_out.html:45
msgid "You have been successfully logged out. Bye!"
msgstr "Dir hutt Iech erfollegräich ofgemellt. Bis geschwënn!"
#: documents/templates/registration/logged_out.html:46
msgid "Sign in again"
msgstr "Nees umellen"
#: documents/templates/registration/login.html:15
msgid "Paperless-ng sign in"
msgstr "Umeldung bei Paperless-ng"
#: documents/templates/registration/login.html:47
msgid "Please sign in."
msgstr "W. e. g. umellen."
#: documents/templates/registration/login.html:50
msgid "Your username and password didn't match. Please try again."
msgstr "Äre Benotzernumm a Passwuert stëmmen net iwwereneen. Probéiert w. e. g. nach emol."
#: documents/templates/registration/login.html:53
msgid "Username"
msgstr "Benotzernumm"
#: documents/templates/registration/login.html:54
msgid "Password"
msgstr "Passwuert"
#: documents/templates/registration/login.html:59
msgid "Sign in"
msgstr "Umellen"
#: paperless/settings.py:303
msgid "English (US)"
msgstr "Englesch (USA)"
#: paperless/settings.py:304
msgid "English (GB)"
msgstr "Englesch (GB)"
#: paperless/settings.py:305
msgid "German"
msgstr "Däitsch"
#: paperless/settings.py:306
msgid "Dutch"
msgstr "Hollännesch"
#: paperless/settings.py:307
msgid "French"
msgstr "Franséisch"
#: paperless/settings.py:308
msgid "Portuguese (Brazil)"
msgstr "Portugisesch (Brasilien)"
#: paperless/settings.py:309
msgid "Portuguese"
msgstr "Portugisesch"
#: paperless/settings.py:310
msgid "Italian"
msgstr "Italienesch"
#: paperless/settings.py:311
msgid "Romanian"
msgstr "Rumänesch"
#: paperless/settings.py:312
msgid "Russian"
msgstr "Russesch"
#: paperless/settings.py:313
msgid "Spanish"
msgstr "Spuenesch"
#: paperless/settings.py:314
msgid "Polish"
msgstr "Polnesch"
#: paperless/settings.py:315
msgid "Swedish"
msgstr "Schwedesch"
#: paperless/urls.py:120
msgid "Paperless-ng administration"
msgstr "Paperless-ng-Administratioun"
#: paperless_mail/admin.py:15
msgid "Authentication"
msgstr "Authentifizéierung"
#: paperless_mail/admin.py:18
msgid "Advanced settings"
msgstr "Erweidert Astellungen"
#: paperless_mail/admin.py:37
msgid "Filter"
msgstr "Filter"
#: paperless_mail/admin.py:39
msgid "Paperless will only process mails that match ALL of the filters given below."
msgstr "Paperless wäert nëmmen E-Maile veraarbechten, fir déi all déi hei definéiert Filteren zoutreffen."
#: paperless_mail/admin.py:49
msgid "Actions"
msgstr "Aktiounen"
#: paperless_mail/admin.py:51
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 "D'Aktioun, déi op E-Mailen applizéiert sill ginn. Dës Aktioun gëtt just ausgefouert, wann Dokumenter aus der E-Mail veraarbecht goufen. E-Mailen ouni Unhank bleiwe komplett onberéiert."
#: paperless_mail/admin.py:58
msgid "Metadata"
msgstr "Metadaten"
#: paperless_mail/admin.py:60
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 "Den Dokumenter, déi iwwer dës Reegel veraarbecht ginn, automatesch Metadaten zouweisen. Wann hei keng Etiketten, Typen oder Korrespondenten zougewise ginn, veraarbecht Paperless-ng trotzdeem all zoutreffend Reegelen déi definéiert sinn."
#: paperless_mail/apps.py:9
msgid "Paperless mail"
msgstr "Paperless E-Mail"
#: paperless_mail/models.py:11
msgid "mail account"
msgstr "Mailkont"
#: paperless_mail/models.py:12
msgid "mail accounts"
msgstr "Mailkonten"
#: paperless_mail/models.py:19
msgid "No encryption"
msgstr "Keng Verschlësselung"
#: paperless_mail/models.py:20
msgid "Use SSL"
msgstr "SSL benotzen"
#: paperless_mail/models.py:21
msgid "Use STARTTLS"
msgstr "STARTTLS benotzen"
#: paperless_mail/models.py:29
msgid "IMAP server"
msgstr "IMAP-Server"
#: paperless_mail/models.py:33
msgid "IMAP port"
msgstr "IMAP-Port"
#: paperless_mail/models.py:36
msgid "This is usually 143 for unencrypted and STARTTLS connections, and 993 for SSL connections."
msgstr "Dëst ass normalerweis 143 fir onverschësselt oder STARTTLS-Connectiounen an 993 fir SSL-Connectiounen."
#: paperless_mail/models.py:40
msgid "IMAP security"
msgstr "IMAP-Sécherheet"
#: paperless_mail/models.py:46
msgid "username"
msgstr "Benotzernumm"
#: paperless_mail/models.py:50
msgid "password"
msgstr "Passwuert"
#: paperless_mail/models.py:54
msgid "character set"
msgstr "Zeechesaz"
#: paperless_mail/models.py:57
msgid "The character set to use when communicating with the mail server, such as 'UTF-8' or 'US-ASCII'."
msgstr "Den Zeechesaz dee benotzt gëtt wa mam Mailserver kommunizéiert gëtt, wéi beispillsweis 'UTF-8' oder 'US-ASCII'."
#: paperless_mail/models.py:68
msgid "mail rule"
msgstr "E-Mail-Reegel"
#: paperless_mail/models.py:69
msgid "mail rules"
msgstr "E-Mail-Reegelen"
#: paperless_mail/models.py:75
msgid "Only process attachments."
msgstr "Just Unhäng veraarbechten."
#: paperless_mail/models.py:76
msgid "Process all files, including 'inline' attachments."
msgstr "All d'Fichiere veraarbechten, inklusiv \"inline\"-Unhäng."
#: paperless_mail/models.py:86
msgid "Mark as read, don't process read mails"
msgstr "Als gelies markéieren, gelies Mailen net traitéieren"
#: paperless_mail/models.py:87
msgid "Flag the mail, don't process flagged mails"
msgstr "Als wichteg markéieren, markéiert E-Mailen net veraarbechten"
#: paperless_mail/models.py:88
msgid "Move to specified folder"
msgstr "An e virdefinéierten Dossier réckelen"
#: paperless_mail/models.py:89
msgid "Delete"
msgstr "Läschen"
#: paperless_mail/models.py:96
msgid "Use subject as title"
msgstr "Sujet als TItel notzen"
#: paperless_mail/models.py:97
msgid "Use attachment filename as title"
msgstr "Numm vum Dateiunhank als Titel benotzen"
#: paperless_mail/models.py:107
msgid "Do not assign a correspondent"
msgstr "Kee Korrespondent zouweisen"
#: paperless_mail/models.py:109
msgid "Use mail address"
msgstr "E-Mail-Adress benotzen"
#: paperless_mail/models.py:111
msgid "Use name (or mail address if not available)"
msgstr "Numm benotzen (oder E-Mail-Adress falls den Numm net disponibel ass)"
#: paperless_mail/models.py:113
msgid "Use correspondent selected below"
msgstr "Korrespondent benotzen deen hei drënner ausgewielt ass"
#: paperless_mail/models.py:121
msgid "order"
msgstr "Reiefolleg"
#: paperless_mail/models.py:128
msgid "account"
msgstr "Kont"
#: paperless_mail/models.py:132
msgid "folder"
msgstr "Dossier"
#: paperless_mail/models.py:134
msgid "Subfolders must be separated by dots."
msgstr "Ënnerdossiere mussen duerch Punkte getrennt ginn."
#: paperless_mail/models.py:138
msgid "filter from"
msgstr "Ofsenderfilter"
#: paperless_mail/models.py:141
msgid "filter subject"
msgstr "Sujets-Filter"
#: paperless_mail/models.py:144
msgid "filter body"
msgstr "Contenu-Filter"
#: paperless_mail/models.py:148
msgid "filter attachment filename"
msgstr "Filter fir den Numm vum Unhank"
#: paperless_mail/models.py:150
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
msgstr "Just Dokumenter traitéieren, déi exakt dësen Dateinumm hunn (falls definéiert). Platzhalter wéi *.pdf oder *invoice* sinn erlaabt. D'Grouss-/Klengschreiwung gëtt ignoréiert."
#: paperless_mail/models.py:156
msgid "maximum age"
msgstr "Maximalen Alter"
#: paperless_mail/models.py:158
msgid "Specified in days."
msgstr "An Deeg."
#: paperless_mail/models.py:161
msgid "attachment type"
msgstr "Fichierstyp vum Unhank"
#: paperless_mail/models.py:164
msgid "Inline attachments include embedded images, so it's best to combine this option with a filename filter."
msgstr "\"Inline\"-Unhänk schléissen och agebonne Biller mat an, dofir sollt dës Astellung mat engem Filter fir den Numm vum Unhank kombinéiert ginn."
#: paperless_mail/models.py:169
msgid "action"
msgstr "Aktioun"
#: paperless_mail/models.py:175
msgid "action parameter"
msgstr "Parameter fir Aktioun"
#: paperless_mail/models.py:177
msgid "Additional parameter for the action selected above, i.e., the target folder of the move to folder action. Subfolders must be separated by dots."
msgstr "Zousätzleche Parameter fir d'Aktioun déi hei driwwer ausgewielt ass, zum Beispill den Numm vum Zildossier fir d'Aktioun \"An e virdefinéierten Dossier réckelen\". Ënnerdossiere musse mat Punkte getrennt ginn."
#: paperless_mail/models.py:184
msgid "assign title from"
msgstr "Titel zouweisen aus"
#: paperless_mail/models.py:194
msgid "assign this tag"
msgstr "dës Etikett zouweisen"
#: paperless_mail/models.py:202
msgid "assign this document type"
msgstr "Dësen Dokumententyp zouweisen"
#: paperless_mail/models.py:206
msgid "assign correspondent from"
msgstr "Korrespondent zouweisen aus"
#: paperless_mail/models.py:216
msgid "assign this correspondent"
msgstr "Dëse Korrespondent zouweisen"
+8 -8
View File
@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: paperless-ng\n" "Project-Id-Version: paperless-ng\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-05-16 09:38+0000\n" "POT-Creation-Date: 2021-05-16 09:38+0000\n"
"PO-Revision-Date: 2021-05-16 10:09\n" "PO-Revision-Date: 2021-08-07 13:02\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Polish\n" "Language-Team: Polish\n"
"Language: pl_PL\n" "Language: pl_PL\n"
@@ -462,7 +462,7 @@ msgstr "Polski"
#: paperless/settings.py:315 #: paperless/settings.py:315
msgid "Swedish" msgid "Swedish"
msgstr "" msgstr "Szwedzki"
#: paperless/urls.py:120 #: paperless/urls.py:120
msgid "Paperless-ng administration" msgid "Paperless-ng administration"
@@ -470,11 +470,11 @@ msgstr "Administracja Paperless-ng"
#: paperless_mail/admin.py:15 #: paperless_mail/admin.py:15
msgid "Authentication" msgid "Authentication"
msgstr "" msgstr "Uwierzytelnianie"
#: paperless_mail/admin.py:18 #: paperless_mail/admin.py:18
msgid "Advanced settings" msgid "Advanced settings"
msgstr "" msgstr "Ustawienia zaawansowane"
#: paperless_mail/admin.py:37 #: paperless_mail/admin.py:37
msgid "Filter" msgid "Filter"
@@ -550,11 +550,11 @@ msgstr "hasło"
#: paperless_mail/models.py:54 #: paperless_mail/models.py:54
msgid "character set" msgid "character set"
msgstr "" msgstr "Kodowanie"
#: paperless_mail/models.py:57 #: paperless_mail/models.py:57
msgid "The character set to use when communicating with the mail server, such as 'UTF-8' or 'US-ASCII'." msgid "The character set to use when communicating with the mail server, such as 'UTF-8' or 'US-ASCII'."
msgstr "" msgstr "Zestaw znaków używany podczas komunikowania się z serwerem poczty, np. \"UTF-8\" lub \"US-ASCII\"."
#: paperless_mail/models.py:68 #: paperless_mail/models.py:68
msgid "mail rule" msgid "mail rule"
@@ -626,7 +626,7 @@ msgstr "folder"
#: paperless_mail/models.py:134 #: paperless_mail/models.py:134
msgid "Subfolders must be separated by dots." msgid "Subfolders must be separated by dots."
msgstr "" msgstr "Podfoldery muszą być oddzielone kropkami."
#: paperless_mail/models.py:138 #: paperless_mail/models.py:138
msgid "filter from" msgid "filter from"
@@ -674,7 +674,7 @@ msgstr "parametr akcji"
#: paperless_mail/models.py:177 #: paperless_mail/models.py:177
msgid "Additional parameter for the action selected above, i.e., the target folder of the move to folder action. Subfolders must be separated by dots." msgid "Additional parameter for the action selected above, i.e., the target folder of the move to folder action. Subfolders must be separated by dots."
msgstr "" msgstr "Dodatkowy parametr dla akcji wybranej powyżej, tj. docelowy folder akcji \"Przenieś do określonego folderu\". Podfoldery muszą być oddzielone kropkami."
#: paperless_mail/models.py:184 #: paperless_mail/models.py:184
msgid "assign title from" msgid "assign title from"
+7 -7
View File
@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: paperless-ng\n" "Project-Id-Version: paperless-ng\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-05-16 09:38+0000\n" "POT-Creation-Date: 2021-05-16 09:38+0000\n"
"PO-Revision-Date: 2021-05-16 10:09\n" "PO-Revision-Date: 2021-08-16 09:06\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Romanian\n" "Language-Team: Romanian\n"
"Language: ro_RO\n" "Language: ro_RO\n"
@@ -470,11 +470,11 @@ msgstr "Administrare Paperless-ng"
#: paperless_mail/admin.py:15 #: paperless_mail/admin.py:15
msgid "Authentication" msgid "Authentication"
msgstr "" msgstr "Autentificare"
#: paperless_mail/admin.py:18 #: paperless_mail/admin.py:18
msgid "Advanced settings" msgid "Advanced settings"
msgstr "" msgstr "Setări avansate"
#: paperless_mail/admin.py:37 #: paperless_mail/admin.py:37
msgid "Filter" msgid "Filter"
@@ -550,11 +550,11 @@ msgstr "parolă"
#: paperless_mail/models.py:54 #: paperless_mail/models.py:54
msgid "character set" msgid "character set"
msgstr "" msgstr "Set de caractere"
#: paperless_mail/models.py:57 #: paperless_mail/models.py:57
msgid "The character set to use when communicating with the mail server, such as 'UTF-8' or 'US-ASCII'." msgid "The character set to use when communicating with the mail server, such as 'UTF-8' or 'US-ASCII'."
msgstr "" msgstr "Setul de caractere folosit la comunicarea cu serverul de e-mail, cum ar fi \"UTF-8\" sau \"US-ASCII\"."
#: paperless_mail/models.py:68 #: paperless_mail/models.py:68
msgid "mail rule" msgid "mail rule"
@@ -626,7 +626,7 @@ msgstr "director"
#: paperless_mail/models.py:134 #: paperless_mail/models.py:134
msgid "Subfolders must be separated by dots." msgid "Subfolders must be separated by dots."
msgstr "" msgstr "Subdosarele trebuie separate prin puncte."
#: paperless_mail/models.py:138 #: paperless_mail/models.py:138
msgid "filter from" msgid "filter from"
@@ -674,7 +674,7 @@ msgstr "parametru acțiune"
#: paperless_mail/models.py:177 #: paperless_mail/models.py:177
msgid "Additional parameter for the action selected above, i.e., the target folder of the move to folder action. Subfolders must be separated by dots." msgid "Additional parameter for the action selected above, i.e., the target folder of the move to folder action. Subfolders must be separated by dots."
msgstr "" msgstr "Parametru adițional pentru acțiunea definită mai sus (ex. directorul în care să se realizeze o mutare). Subdosarele trebuie separate prin puncte."
#: paperless_mail/models.py:184 #: paperless_mail/models.py:184
msgid "assign title from" msgid "assign title from"
+30 -30
View File
@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: paperless-ng\n" "Project-Id-Version: paperless-ng\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-05-16 09:38+0000\n" "POT-Creation-Date: 2021-05-16 09:38+0000\n"
"PO-Revision-Date: 2021-05-16 11:15\n" "PO-Revision-Date: 2021-07-30 18:02\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Swedish\n" "Language-Team: Swedish\n"
"Language: sv_SE\n" "Language: sv_SE\n"
@@ -39,7 +39,7 @@ msgstr "Reguljära uttryck"
#: documents/models.py:36 #: documents/models.py:36
msgid "Fuzzy word" msgid "Fuzzy word"
msgstr "Fuzzy word" msgstr "Ungefärligt ord"
#: documents/models.py:37 #: documents/models.py:37
msgid "Automatic" msgid "Automatic"
@@ -76,19 +76,19 @@ msgstr "färg"
#: documents/models.py:87 #: documents/models.py:87
msgid "is inbox tag" msgid "is inbox tag"
msgstr "är inkorgstagg" msgstr "är inkorgsetikett"
#: documents/models.py:89 #: documents/models.py:89
msgid "Marks this tag as an inbox tag: All newly consumed documents will be tagged with inbox tags." msgid "Marks this tag as an inbox tag: All newly consumed documents will be tagged with inbox tags."
msgstr "Markerar denna tagg som en inkorgstagg: Alla nyligen konsumerade dokument kommer att taggas med inkorgstaggar." msgstr "Markerar denna etikett som en inkorgsetikett: Alla nyligen konsumerade dokument kommer att märkas med inkorgsetiketter."
#: documents/models.py:94 #: documents/models.py:94
msgid "tag" msgid "tag"
msgstr "tagg" msgstr "etikett"
#: documents/models.py:95 documents/models.py:151 #: documents/models.py:95 documents/models.py:151
msgid "tags" msgid "tags"
msgstr "taggar" msgstr "etiketter"
#: documents/models.py:101 documents/models.py:133 #: documents/models.py:101 documents/models.py:133
msgid "document type" msgid "document type"
@@ -116,7 +116,7 @@ msgstr "innehåll"
#: documents/models.py:139 #: documents/models.py:139
msgid "The raw, text-only data of the document. This field is primarily used for searching." msgid "The raw, text-only data of the document. This field is primarily used for searching."
msgstr "Dokumentets råa, enbart text data. Detta fält används främst för sökning." msgstr "Dokumentets obearbetade textdata. Detta fält används främst för sökning."
#: documents/models.py:144 #: documents/models.py:144
msgid "mime type" msgid "mime type"
@@ -136,7 +136,7 @@ msgstr "arkivera kontrollsumma"
#: documents/models.py:168 #: documents/models.py:168
msgid "The checksum of the archived document." msgid "The checksum of the archived document."
msgstr "Kontrollsumman för arkiverat dokument." msgstr "Kontrollsumman för det arkiverade dokumentet."
#: documents/models.py:172 documents/models.py:328 #: documents/models.py:172 documents/models.py:328
msgid "created" msgid "created"
@@ -148,7 +148,7 @@ msgstr "ändrad"
#: documents/models.py:180 #: documents/models.py:180
msgid "storage type" msgid "storage type"
msgstr "Lagringstyp" msgstr "lagringstyp"
#: documents/models.py:188 #: documents/models.py:188
msgid "added" msgid "added"
@@ -160,7 +160,7 @@ msgstr "filnamn"
#: documents/models.py:198 #: documents/models.py:198
msgid "Current filename in storage" msgid "Current filename in storage"
msgstr "Nuvarande filnamn i lagring" msgstr "Nuvarande filnamn i lagringsutrymmet"
#: documents/models.py:202 #: documents/models.py:202
msgid "archive filename" msgid "archive filename"
@@ -168,11 +168,11 @@ msgstr "arkivfilnamn"
#: documents/models.py:208 #: documents/models.py:208
msgid "Current archive filename in storage" msgid "Current archive filename in storage"
msgstr "Nuvarande arkivfilnamn i lagring" msgstr "Nuvarande arkivfilnamn i lagringsutrymmet"
#: documents/models.py:212 #: documents/models.py:212
msgid "archive serial number" msgid "archive serial number"
msgstr "arkivets serienummer" msgstr "serienummer (arkivering)"
#: documents/models.py:217 #: 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."
@@ -240,7 +240,7 @@ msgstr "användare"
#: documents/models.py:354 #: documents/models.py:354
msgid "show on dashboard" msgid "show on dashboard"
msgstr "visa på instrumentpanelen" msgstr "visa på kontrollpanelen"
#: documents/models.py:357 #: documents/models.py:357
msgid "show in sidebar" msgid "show in sidebar"
@@ -252,7 +252,7 @@ msgstr "sortera fält"
#: documents/models.py:367 #: documents/models.py:367
msgid "sort reverse" msgid "sort reverse"
msgstr "sortera omvänd" msgstr "sortera omvänt"
#: documents/models.py:373 #: documents/models.py:373
msgid "title contains" msgid "title contains"
@@ -280,11 +280,11 @@ msgstr "är i inkorgen"
#: documents/models.py:379 #: documents/models.py:379
msgid "has tag" msgid "has tag"
msgstr "har tagg" msgstr "har etikett"
#: documents/models.py:380 #: documents/models.py:380
msgid "has any tag" msgid "has any tag"
msgstr "har någon tagg" msgstr "har någon etikett"
#: documents/models.py:381 #: documents/models.py:381
msgid "created before" msgid "created before"
@@ -324,7 +324,7 @@ msgstr "ändrad efter"
#: documents/models.py:390 #: documents/models.py:390
msgid "does not have tag" msgid "does not have tag"
msgstr "har inte tagg" msgstr "har inte etikett"
#: documents/models.py:391 #: documents/models.py:391
msgid "does not have ASN" msgid "does not have ASN"
@@ -332,7 +332,7 @@ msgstr "har inte ASN"
#: documents/models.py:392 #: documents/models.py:392
msgid "title or content contains" msgid "title or content contains"
msgstr "titeln eller innehållet innehåller" msgstr "titel eller innehåll innehåller"
#: documents/models.py:393 #: documents/models.py:393
msgid "fulltext query" msgid "fulltext query"
@@ -382,7 +382,7 @@ msgstr "Paperless-ng utloggad"
#: documents/templates/registration/logged_out.html:45 #: documents/templates/registration/logged_out.html:45
msgid "You have been successfully logged out. Bye!" msgid "You have been successfully logged out. Bye!"
msgstr "Du är nu utloggad!" msgstr "Du är nu utloggad. Hejdå!"
#: documents/templates/registration/logged_out.html:46 #: documents/templates/registration/logged_out.html:46
msgid "Sign in again" msgid "Sign in again"
@@ -398,7 +398,7 @@ msgstr "Vänligen logga in."
#: documents/templates/registration/login.html:50 #: documents/templates/registration/login.html:50
msgid "Your username and password didn't match. Please try again." msgid "Your username and password didn't match. Please try again."
msgstr "Ditt användarnamn och lösenord stämde inte. Försök igen." msgstr "Ditt användarnamn och lösenord matchade inte. Vänligen försök igen."
#: documents/templates/registration/login.html:53 #: documents/templates/registration/login.html:53
msgid "Username" msgid "Username"
@@ -498,7 +498,7 @@ msgstr "Metadata"
#: paperless_mail/admin.py:60 #: paperless_mail/admin.py:60
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." 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 "Tilldela metadata till dokument som konsumeras från denna regel automatiskt. Om du inte tilldelar taggar, typer eller korrespondenter här kommer paperless fortfarande att behandla alla matchande regler som du har definierat." msgstr "Tilldela metadata till dokument som konsumeras från denna regel automatiskt. Om du inte tilldelar etiketter, typer eller korrespondenter här kommer paperless fortfarande att behandla alla matchande regler som du har definierat."
#: paperless_mail/apps.py:9 #: paperless_mail/apps.py:9
msgid "Paperless mail" msgid "Paperless mail"
@@ -530,7 +530,7 @@ msgstr "IMAP-server"
#: paperless_mail/models.py:33 #: paperless_mail/models.py:33
msgid "IMAP port" msgid "IMAP port"
msgstr "IMAP port" msgstr "IMAP-port"
#: paperless_mail/models.py:36 #: paperless_mail/models.py:36
msgid "This is usually 143 for unencrypted and STARTTLS connections, and 993 for SSL connections." msgid "This is usually 143 for unencrypted and STARTTLS connections, and 993 for SSL connections."
@@ -538,7 +538,7 @@ msgstr "Detta är vanligtvis 143 för okrypterade och STARTTLS-anslutningar, och
#: paperless_mail/models.py:40 #: paperless_mail/models.py:40
msgid "IMAP security" msgid "IMAP security"
msgstr "IMAP säkerhet" msgstr "IMAP-säkerhet"
#: paperless_mail/models.py:46 #: paperless_mail/models.py:46
msgid "username" msgid "username"
@@ -570,7 +570,7 @@ msgstr "Behandla endast bilagor."
#: paperless_mail/models.py:76 #: paperless_mail/models.py:76
msgid "Process all files, including 'inline' attachments." msgid "Process all files, including 'inline' attachments."
msgstr "Behandla alla filer, inklusive \"inline\" bilagor." msgstr "Behandla alla filer, inklusive infogade bilagor."
#: paperless_mail/models.py:86 #: paperless_mail/models.py:86
msgid "Mark as read, don't process read mails" msgid "Mark as read, don't process read mails"
@@ -578,7 +578,7 @@ msgstr "Markera som läst, bearbeta inte lästa meddelanden"
#: paperless_mail/models.py:87 #: paperless_mail/models.py:87
msgid "Flag the mail, don't process flagged mails" msgid "Flag the mail, don't process flagged mails"
msgstr "Flagga mailet, bearbeta inte flaggade mail" msgstr "Flagga meddelandet, bearbeta inte flaggade meddelanden"
#: paperless_mail/models.py:88 #: paperless_mail/models.py:88
msgid "Move to specified folder" msgid "Move to specified folder"
@@ -646,11 +646,11 @@ msgstr "filtrera filnamn för bilaga"
#: paperless_mail/models.py:150 #: paperless_mail/models.py:150
msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive." msgid "Only consume documents which entirely match this filename if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive."
msgstr "Konsumera endast dokument som helt och hållet matchar detta filnamn om det anges. Wildcards som *.pdf eller *faktura* är tillåtna. Ej skiftlägeskänsliga." msgstr "Konsumera endast dokument som matchar exakt detta filnamn, om det är angivet. Jokertecken som *.pdf eller *faktura* är tillåtna. Ej skiftlägeskänsligt."
#: paperless_mail/models.py:156 #: paperless_mail/models.py:156
msgid "maximum age" msgid "maximum age"
msgstr "maximal ålder" msgstr "högsta ålder"
#: paperless_mail/models.py:158 #: paperless_mail/models.py:158
msgid "Specified in days." msgid "Specified in days."
@@ -662,7 +662,7 @@ msgstr "typ av bilaga"
#: paperless_mail/models.py:164 #: paperless_mail/models.py:164
msgid "Inline attachments include embedded images, so it's best to combine this option with a filename filter." msgid "Inline attachments include embedded images, so it's best to combine this option with a filename filter."
msgstr "Bifogade bilagor inkluderar inbäddade bilder, så det är bäst att kombinera detta alternativ med ett filnamnsfilter." msgstr "Infogade bilagor inkluderar inbäddade bilder, så det är bäst att kombinera detta alternativ med ett filnamnsfilter."
#: paperless_mail/models.py:169 #: paperless_mail/models.py:169
msgid "action" msgid "action"
@@ -674,7 +674,7 @@ msgstr "åtgärdsparameter"
#: paperless_mail/models.py:177 #: paperless_mail/models.py:177
msgid "Additional parameter for the action selected above, i.e., the target folder of the move to folder action. Subfolders must be separated by dots." msgid "Additional parameter for the action selected above, i.e., the target folder of the move to folder action. Subfolders must be separated by dots."
msgstr "Ytterligare parametrar för åtgärden som valts ovan, d.v.s. målmappen för flytten till mapp-åtgärder. Undermappar måste vara separerade med punkter." msgstr "Ytterligare parametrar för åtgärden som valts ovan, d.v.s. målmappen för åtgärden \"flytta till angiven mapp\". Undermappar måste vara separerade med punkter."
#: paperless_mail/models.py:184 #: paperless_mail/models.py:184
msgid "assign title from" msgid "assign title from"
@@ -682,7 +682,7 @@ msgstr "tilldela titel från"
#: paperless_mail/models.py:194 #: paperless_mail/models.py:194
msgid "assign this tag" msgid "assign this tag"
msgstr "tilldela denna tagg" msgstr "tilldela denna etikett"
#: paperless_mail/models.py:202 #: paperless_mail/models.py:202
msgid "assign this document type" msgid "assign this document type"
+8
View File
@@ -144,6 +144,7 @@ ROOT_URLCONF = 'paperless.urls'
FORCE_SCRIPT_NAME = os.getenv("PAPERLESS_FORCE_SCRIPT_NAME") FORCE_SCRIPT_NAME = os.getenv("PAPERLESS_FORCE_SCRIPT_NAME")
BASE_URL = (FORCE_SCRIPT_NAME or "") + "/" BASE_URL = (FORCE_SCRIPT_NAME or "") + "/"
LOGIN_URL = BASE_URL + "accounts/login/" LOGIN_URL = BASE_URL + "accounts/login/"
LOGOUT_REDIRECT_URL = os.getenv("PAPERLESS_LOGOUT_REDIRECT_URL")
WSGI_APPLICATION = 'paperless.wsgi.application' WSGI_APPLICATION = 'paperless.wsgi.application'
ASGI_APPLICATION = "paperless.asgi.application" ASGI_APPLICATION = "paperless.asgi.application"
@@ -313,6 +314,7 @@ LANGUAGES = [
("es-es", _("Spanish")), ("es-es", _("Spanish")),
("pl-pl", _("Polish")), ("pl-pl", _("Polish")),
("sv-se", _("Swedish")), ("sv-se", _("Swedish")),
("lb-lu", _("Luxembourgish")),
] ]
LOCALE_PATHS = [ LOCALE_PATHS = [
@@ -457,6 +459,12 @@ CONSUMER_DELETE_DUPLICATES = __get_boolean("PAPERLESS_CONSUMER_DELETE_DUPLICATES
CONSUMER_RECURSIVE = __get_boolean("PAPERLESS_CONSUMER_RECURSIVE") CONSUMER_RECURSIVE = __get_boolean("PAPERLESS_CONSUMER_RECURSIVE")
# Ignore glob patterns, relative to PAPERLESS_CONSUMPTION_DIR
CONSUMER_IGNORE_PATTERNS = list(
json.loads(
os.getenv("PAPERLESS_CONSUMER_IGNORE_PATTERNS",
'[".DS_STORE/*", "._*", ".stfolder/*"]')))
CONSUMER_SUBDIRS_AS_TAGS = __get_boolean("PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS") CONSUMER_SUBDIRS_AS_TAGS = __get_boolean("PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS")
OPTIMIZE_THUMBNAILS = __get_boolean("PAPERLESS_OPTIMIZE_THUMBNAILS", "true") OPTIMIZE_THUMBNAILS = __get_boolean("PAPERLESS_OPTIMIZE_THUMBNAILS", "true")
+1 -1
View File
@@ -1 +1 @@
__version__ = (1, 4, 5) __version__ = (1, 5, 0)
+1 -1
View File
@@ -70,7 +70,7 @@ class RasterisedDocumentParser(DocumentParser):
try: try:
with Image.open(image) as im: with Image.open(image) as im:
x, y = im.info['dpi'] x, y = im.info['dpi']
return x return round(x)
except Exception as e: except Exception as e:
self.log( self.log(
'warning', 'warning',