mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2026-07-25 05:14:55 +00:00
Compare commits
6
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b19a1086f9 | ||
|
|
33cd48a17f | ||
|
|
d76dbf5366 | ||
|
|
b66182cd7b | ||
|
|
3fe6562c57 | ||
|
|
737d568f80 |
@@ -86,7 +86,7 @@ jobs:
|
||||
# ---- Prepare Release ----
|
||||
- name: Generate requirements file
|
||||
run: |
|
||||
uv export --quiet --no-dev --all-extras --format requirements-txt --output-file requirements.txt
|
||||
uv export --quiet --no-dev --all-extras --emit-index-url --format requirements-txt --output-file requirements.txt
|
||||
- name: Compile messages
|
||||
env:
|
||||
PAPERLESS_SECRET_KEY: "ci-release-not-a-real-secret"
|
||||
|
||||
+61
-3
@@ -133,7 +133,7 @@ PAPERLESS_DB_OPTIONS="sslmode=require,sslrootcert=/certs/ca.pem,pool.max_size=10
|
||||
|
||||
## OCR and Archive File Generation Settings
|
||||
|
||||
The settings that control OCR behaviour and archive file generation have been redesigned. The old settings that coupled these two concerns together are **removed** — old values are not silently honoured; a startup warning is logged if any removed variable is still set in your environment.
|
||||
The settings that control OCR behaviour and archive file generation have been redesigned. The old settings that coupled these two concerns together are **removed** - old values are not silently honoured; a startup warning is logged if any removed variable is still set in your environment.
|
||||
|
||||
### Removed settings
|
||||
|
||||
@@ -166,7 +166,7 @@ Remove any `PAPERLESS_OCR_SKIP_ARCHIVE_FILE` variable from your environment. If
|
||||
# v2: skip OCR when text present, always archive
|
||||
PAPERLESS_OCR_MODE=skip
|
||||
# v3: equivalent (auto is the new default)
|
||||
# No change needed — auto is the default
|
||||
# No change needed - auto is the default
|
||||
|
||||
# v2: skip OCR when text present, skip archive too
|
||||
PAPERLESS_OCR_MODE=skip_noarchive
|
||||
@@ -189,7 +189,7 @@ PAPERLESS_ARCHIVE_FILE_GENERATION=auto
|
||||
|
||||
If you use the **remote OCR parser** (Azure AI), note that it always produces a
|
||||
searchable PDF and stores it as the archive copy. `ARCHIVE_FILE_GENERATION=never`
|
||||
has no effect for documents handled by the remote parser — the archive is produced
|
||||
has no effect for documents handled by the remote parser - the archive is produced
|
||||
unconditionally by the remote engine.
|
||||
|
||||
## Search Index (Whoosh -> Tantivy)
|
||||
@@ -327,6 +327,64 @@ behind a reverse proxy may need to set
|
||||
[`PAPERLESS_ALLAUTH_TRUSTED_CLIENT_IP_HEADER`](configuration.md#PAPERLESS_ALLAUTH_TRUSTED_CLIENT_IP_HEADER),
|
||||
or both, to avoid `403 Forbidden` errors on login.
|
||||
|
||||
## Minimum CPU Requirements (NumPy Baseline)
|
||||
|
||||
Starting with NumPy 2.4.0, official `manylinux` x86_64 wheels are compiled with a minimum
|
||||
CPU baseline of `x86-64-v2`, which requires SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, and
|
||||
CMPXCHG16B. This is a [deliberate upstream change](https://github.com/numpy/numpy/issues/27851)
|
||||
citing that these instructions have been present in over 99.7% of CPUs since 2008
|
||||
([Intel](<https://en.wikipedia.org/wiki/Nehalem_(microarchitecture)>)) or 2011
|
||||
([AMD](<https://en.wikipedia.org/wiki/Bulldozer_(microarchitecture)>)).
|
||||
|
||||
NumPy is a dependency of the document classifier (via scikit-learn), so any CPU that
|
||||
predates SSE4.2 support will crash with `SIGILL` (illegal instruction) when the classifier
|
||||
is loaded or trained, regardless of whether AI features are enabled.
|
||||
|
||||
This differs from NumPy's optional SIMD dispatch (e.g. AVX2, AVX512), which is detected and
|
||||
selected safely at runtime - the `x86-64-v2` requirement above is a hard floor baked into the
|
||||
wheel, with no runtime fallback.
|
||||
|
||||
### Affected hardware
|
||||
|
||||
CPUs older than roughly 2008 (Intel) or 2011 (AMD) that lack SSE4.2 support. This is more
|
||||
likely to affect low-power or embedded hardware - e.g. early Atom, Celeron, or pre-Bulldozer
|
||||
AMD chips - than typical desktop or server hardware from the last decade.
|
||||
|
||||
Check for SSE4.2 support with:
|
||||
|
||||
```bash
|
||||
grep -o -m1 sse4_2 /proc/cpuinfo
|
||||
```
|
||||
|
||||
If this prints nothing, your CPU is affected.
|
||||
|
||||
### Symptoms
|
||||
|
||||
The Celery worker (and potentially the web server) repeatedly crashes and restarts with a
|
||||
`SIGILL` error, typically visible in `dmesg`/`journalctl` as a `trap invalid opcode` inside
|
||||
`_multiarray_umath...so`. Because the classifier is trained on a periodic schedule
|
||||
(hourly, by default), affected instances see intermittent, hard-to-reproduce document
|
||||
consumption failures whenever that scheduled task runs and takes down the worker process
|
||||
mid-task.
|
||||
|
||||
### Action Required (for affected hardware only)
|
||||
|
||||
There is no way to make the classifier itself work on such CPUs - it requires an unofficial
|
||||
NumPy build with `cpu-baseline=none`, which is not something we can ship. The practical
|
||||
path forward is to stop the classifier from ever loading or training, which avoids
|
||||
importing NumPy at all:
|
||||
|
||||
```bash
|
||||
PAPERLESS_TRAIN_TASK_CRON=disable
|
||||
```
|
||||
|
||||
This disables the periodic classifier training task (see
|
||||
[`PAPERLESS_TRAIN_TASK_CRON`](configuration.md#PAPERLESS_TRAIN_TASK_CRON)). Automatic
|
||||
matching based on the classifier (suggested correspondents, document types, tags, and
|
||||
storage paths from trained rules) will no longer be available, but rule-based matching is
|
||||
unaffected, and document consumption itself will no longer be at risk of crashing the
|
||||
worker.
|
||||
|
||||
## Database Migrations
|
||||
|
||||
Some integer fields have been changed to smaller types to reduce database size. If you have any `MailRule` records with a `maximum_age` greater than 32767, they will be clamped to 32767 during the migration to avoid errors during migration.
|
||||
|
||||
@@ -1996,7 +1996,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.html</context>
|
||||
<context context-type="linenumber">15</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Dismiss all</target>
|
||||
<target state="translated">Descarta-ho tot</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="1616102757855967475" datatype="html">
|
||||
<source>All</source>
|
||||
@@ -2076,7 +2076,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.html</context>
|
||||
<context context-type="linenumber">96</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Search tasks</target>
|
||||
<target state="translated">Cerca tasques</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6849725902312323996" datatype="html">
|
||||
<source>Reset filters</source>
|
||||
@@ -2696,7 +2696,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">348</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Confirm Dismiss All</target>
|
||||
<target state="translated">Confirma Descarta Tot</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4157200209636243740" datatype="html">
|
||||
<source>Dismiss all <x id="PH" equiv-text="this.totalTasks()"/> tasks?</source>
|
||||
@@ -2704,7 +2704,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">349</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Dismiss all <x id="PH" equiv-text="this.totalTasks()"/> tasks?</target>
|
||||
<target state="translated"/>
|
||||
</trans-unit>
|
||||
<trans-unit id="8149502458056418229" datatype="html">
|
||||
<source>Success. New document id <x id="PH" equiv-text="documentId"/> created</source>
|
||||
|
||||
@@ -828,7 +828,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/logs/logs.component.html</context>
|
||||
<context context-type="linenumber">18</context>
|
||||
</context-group>
|
||||
<target state="translated">řádky</target>
|
||||
<target state="translated">řádků</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="8838884664569764142" datatype="html">
|
||||
<source>Auto refresh</source>
|
||||
@@ -1352,7 +1352,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">248</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Built-in fields to show:</target>
|
||||
<target state="translated">Vestavěná pole k zobrazení:</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3467966318201103991" datatype="html">
|
||||
<source>Uncheck fields to hide them on the document details page.</source>
|
||||
@@ -1360,7 +1360,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">260</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Uncheck fields to hide them on the document details page.</target>
|
||||
<target state="translated">Zrušte zaškrtnutí polí pro jejich skrytí na stránce s podrobnostmi o dokumentu.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="8508424367627989968" datatype="html" approved="yes">
|
||||
<source>Bulk editing</source>
|
||||
@@ -1400,7 +1400,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
|
||||
<context context-type="linenumber">1787</context>
|
||||
</context-group>
|
||||
<target state="translated">PDF editor</target>
|
||||
<target state="translated">Editor PDF</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="1577733187050997705" datatype="html">
|
||||
<source>Default editing mode</source>
|
||||
@@ -1964,7 +1964,7 @@
|
||||
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
||||
<context context-type="linenumber">298</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Tasks</target>
|
||||
<target state="translated">Úlohy</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="8492095365580052820" datatype="html">
|
||||
<source>Tasks shows detailed information about document consumption and system tasks.</source>
|
||||
@@ -1972,7 +1972,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.html</context>
|
||||
<context context-type="linenumber">4</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Tasks shows detailed information about document consumption and system tasks.</target>
|
||||
<target state="translated">Úlohy zobrazují podrobné informace o zpracování dokumentů a systémových úlohách.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="103921551219467537" datatype="html">
|
||||
<source>Clear selection</source>
|
||||
@@ -1996,7 +1996,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.html</context>
|
||||
<context context-type="linenumber">15</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Dismiss all</target>
|
||||
<target state="translated">Zahodit vše</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="1616102757855967475" datatype="html" approved="yes">
|
||||
<source>All</source>
|
||||
@@ -2056,7 +2056,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">215</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">All types</target>
|
||||
<target state="translated">Všechny typy</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="131016739441837046" datatype="html">
|
||||
<source>All sources</source>
|
||||
@@ -2068,7 +2068,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">227</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">All sources</target>
|
||||
<target state="translated">Všechny zdroje</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3570013039254960445" datatype="html">
|
||||
<source>Search tasks</source>
|
||||
@@ -2100,7 +2100,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.html</context>
|
||||
<context context-type="linenumber">126</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">{VAR_PLURAL, plural, =1 {1 task} other {<x id="INTERPOLATION"/> tasks}}</target>
|
||||
<target state="translated">{VAR_PLURAL, plural, few {<x id="INTERPOLATION"/> úlohy} many {<x id="INTERPOLATION"/> úloh}=1 {1 úloha} other {<x id="INTERPOLATION"/> úloh}}</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="8953033926734869941" datatype="html" approved="yes">
|
||||
<source>Name</source>
|
||||
@@ -2444,7 +2444,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.html</context>
|
||||
<context context-type="linenumber">289</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">No tasks match the current filters.</target>
|
||||
<target state="translated">Zvoleným filtrům neodpovídají žádné úlohy.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2525230676386818985" datatype="html">
|
||||
<source>Result</source>
|
||||
@@ -2460,7 +2460,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">55</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Needs attention</target>
|
||||
<target state="translated">Vyžaduje pozornost</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3307214558906712688" datatype="html">
|
||||
<source>In progress</source>
|
||||
@@ -2468,7 +2468,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">56</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">In progress</target>
|
||||
<target state="translated">Probíhá</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="1371178633976505412" datatype="html">
|
||||
<source>Recently completed</source>
|
||||
@@ -2476,7 +2476,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">57</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Recently completed</target>
|
||||
<target state="translated">Nedávno dokončené</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2936452645673957909" datatype="html">
|
||||
<source>Consume File</source>
|
||||
@@ -2484,7 +2484,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">66</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Consume File</target>
|
||||
<target state="translated">Zpracování souboru</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="5622386857946132209" datatype="html">
|
||||
<source>Train Classifier</source>
|
||||
@@ -2492,7 +2492,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">70</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Train Classifier</target>
|
||||
<target state="translated">Trénování klasifikátoru</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="776309955507105337" datatype="html">
|
||||
<source>Sanity Check</source>
|
||||
@@ -2500,7 +2500,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">74</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Sanity Check</target>
|
||||
<target state="translated">Kontrola zdraví</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7502272564743467653" datatype="html">
|
||||
<source>Mail Fetch</source>
|
||||
@@ -2520,7 +2520,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">77</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">LLM Index</target>
|
||||
<target state="translated">Index LLM</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6402092370576716734" datatype="html">
|
||||
<source>Empty Trash</source>
|
||||
@@ -2528,7 +2528,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">80</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Empty Trash</target>
|
||||
<target state="translated">Vyprázdnění koše</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4173754487295857311" datatype="html">
|
||||
<source>Check Workflows</source>
|
||||
@@ -2536,7 +2536,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">84</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Check Workflows</target>
|
||||
<target state="translated">Kontrola postupů</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2065831805515896240" datatype="html">
|
||||
<source>Bulk Update</source>
|
||||
@@ -2544,7 +2544,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">88</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Bulk Update</target>
|
||||
<target state="translated">Hromadná aktualizace</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="5062348912423871240" datatype="html">
|
||||
<source>Reprocess Document</source>
|
||||
@@ -2552,7 +2552,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">92</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Reprocess Document</target>
|
||||
<target state="translated">Opětovné zpracování dokumentu</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6903696804811148799" datatype="html">
|
||||
<source>Build Share Link</source>
|
||||
@@ -2560,7 +2560,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">96</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Build Share Link</target>
|
||||
<target state="translated">Sestavení odkazu ke sdílení</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6581973658756561124" datatype="html">
|
||||
<source>Bulk Delete</source>
|
||||
@@ -2568,7 +2568,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">100</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Bulk Delete</target>
|
||||
<target state="translated">Hromadné smazání</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="9172233176401579786" datatype="html">
|
||||
<source>Scheduled</source>
|
||||
@@ -2612,7 +2612,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">119</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Folder Consume</target>
|
||||
<target state="translated">Zpracování složky</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="1456901843819961615" datatype="html">
|
||||
<source>Email Consume</source>
|
||||
@@ -2620,7 +2620,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">123</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Email Consume</target>
|
||||
<target state="translated">Zpracování e-mailu</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="29832309535656200" datatype="html">
|
||||
<source>System</source>
|
||||
@@ -2628,7 +2628,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">125</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">System</target>
|
||||
<target state="translated">Systém</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2233560223291461480" datatype="html">
|
||||
<source>Manual</source>
|
||||
@@ -2636,7 +2636,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">126</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Manual</target>
|
||||
<target state="translated">Ruční</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="5404910960991552159" datatype="html">
|
||||
<source>Dismiss selected</source>
|
||||
@@ -2652,7 +2652,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">240</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Dismiss visible</target>
|
||||
<target state="translated">Zahodit viditelné</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3169751690815214293" datatype="html">
|
||||
<source>Confirm Dismiss</source>
|
||||
@@ -2696,7 +2696,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">348</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Confirm Dismiss All</target>
|
||||
<target state="translated">Potvrdit zahození všech</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4157200209636243740" datatype="html">
|
||||
<source>Dismiss all <x id="PH" equiv-text="this.totalTasks()"/> tasks?</source>
|
||||
@@ -2704,7 +2704,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">349</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Dismiss all <x id="PH" equiv-text="this.totalTasks()"/> tasks?</target>
|
||||
<target state="translated">Zahodit všech <x id="PH" equiv-text="this.totalTasks()"/> úloh?</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="8149502458056418229" datatype="html">
|
||||
<source>Success. New document id <x id="PH" equiv-text="documentId"/> created</source>
|
||||
@@ -2712,7 +2712,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">408</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Success. New document id <x id="PH" equiv-text="documentId"/> created</target>
|
||||
<target state="translated">Úspěch. Vytvořen nový dokument s ID <x id="PH" equiv-text="documentId"/></target>
|
||||
</trans-unit>
|
||||
<trans-unit id="8760066891202884337" datatype="html">
|
||||
<source>Duplicate of document #<x id="PH" equiv-text="duplicateOf"/></source>
|
||||
@@ -3540,7 +3540,7 @@
|
||||
<context context-type="sourcefile">src/app/components/app-frame/app-frame.component.html</context>
|
||||
<context context-type="linenumber">183</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Attributes</target>
|
||||
<target state="translated">Atributy</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7437910965833684826" datatype="html" approved="yes">
|
||||
<source>Correspondents</source>
|
||||
@@ -3572,7 +3572,7 @@
|
||||
<context context-type="sourcefile">src/app/components/manage/document-attributes/document-attributes.component.ts</context>
|
||||
<context context-type="linenumber">105</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Document types</target>
|
||||
<target state="translated">Typy dokumentů</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="8835528846812581148" datatype="html">
|
||||
<source>Storage paths</source>
|
||||
@@ -3584,7 +3584,7 @@
|
||||
<context context-type="sourcefile">src/app/components/manage/document-attributes/document-attributes.component.ts</context>
|
||||
<context context-type="linenumber">115</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Storage paths</target>
|
||||
<target state="translated">Cesty úložiště</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="9149498548977462220" datatype="html">
|
||||
<source>Custom fields</source>
|
||||
@@ -5540,7 +5540,7 @@
|
||||
<context context-type="sourcefile">src/app/components/common/edit-dialog/user-edit-dialog/user-edit-dialog.component.html</context>
|
||||
<context context-type="linenumber">26</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Access system status, logs, Django backend</target>
|
||||
<target state="translated">Přístup ke stavu systému, protokolům, backendu Django</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="1808271538028523977" datatype="html">
|
||||
<source>Superuser</source>
|
||||
@@ -5556,7 +5556,7 @@
|
||||
<context context-type="sourcefile">src/app/components/common/edit-dialog/user-edit-dialog/user-edit-dialog.component.html</context>
|
||||
<context context-type="linenumber">30</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Grants all permissions and can view all objects</target>
|
||||
<target state="translated">Uděluje všechna oprávnění a může zobrazovat všechny objekty</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="8900662509426586619" datatype="html">
|
||||
<source>Two-factor Authentication</source>
|
||||
@@ -6344,7 +6344,7 @@
|
||||
<context context-type="sourcefile">src/app/components/common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component.ts</context>
|
||||
<context context-type="linenumber">271</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Has any of these document types</target>
|
||||
<target state="translated">Má kterýkoli z následujících typů dokumentů</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="1507843981661822403" datatype="html">
|
||||
<source>Does not have document types</source>
|
||||
@@ -7546,7 +7546,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-list/bulk-editor/bulk-editor.component.html</context>
|
||||
<context context-type="linenumber">116</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Manage share link bundles</target>
|
||||
<target state="translated">Spravovat balíčky sdílení odkazů</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="1070687661569746428" datatype="html">
|
||||
<source>Create share link bundle</source>
|
||||
@@ -7554,7 +7554,7 @@
|
||||
<context context-type="sourcefile">src/app/components/common/share-link-bundle-dialog/share-link-bundle-dialog.component.ts</context>
|
||||
<context context-type="linenumber">61</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Create share link bundle</target>
|
||||
<target state="translated">Vytvořit balíček sdílení odkazů</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2362798555008696742" datatype="html">
|
||||
<source>Create link</source>
|
||||
@@ -7590,7 +7590,7 @@
|
||||
<context context-type="sourcefile">src/app/components/common/share-link-bundle-manage-dialog/share-link-bundle-manage-dialog.component.html</context>
|
||||
<context context-type="linenumber">21</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Status updates every few seconds while bundles are being prepared.</target>
|
||||
<target state="translated">Aktualizace stavu každých pár sekund během přípravy balíčků.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="5194711788228004418" datatype="html">
|
||||
<source>No share link bundles currently exist.</source>
|
||||
@@ -7598,7 +7598,7 @@
|
||||
<context context-type="sourcefile">src/app/components/common/share-link-bundle-manage-dialog/share-link-bundle-manage-dialog.component.html</context>
|
||||
<context context-type="linenumber">25</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">No share link bundles currently exist.</target>
|
||||
<target state="translated">V současné době neexistují žádné balíčky.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2841249062294860035" datatype="html">
|
||||
<source>Built:</source>
|
||||
@@ -7650,7 +7650,7 @@
|
||||
<context context-type="sourcefile">src/app/components/common/share-link-bundle-manage-dialog/share-link-bundle-manage-dialog.component.ts</context>
|
||||
<context context-type="linenumber">42</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Share link bundles</target>
|
||||
<target state="translated">Balíčky sdílení odkazů</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="1541995860059283227" datatype="html">
|
||||
<source>Failed to load share link bundles.</source>
|
||||
@@ -7658,7 +7658,7 @@
|
||||
<context context-type="sourcefile">src/app/components/common/share-link-bundle-manage-dialog/share-link-bundle-manage-dialog.component.ts</context>
|
||||
<context context-type="linenumber">65</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Failed to load share link bundles.</target>
|
||||
<target state="translated">Nepodařilo se načíst balíčky sdílení odkazů.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="5417797597565486403" datatype="html">
|
||||
<source>Error retrieving share link bundles.</source>
|
||||
@@ -7942,7 +7942,7 @@
|
||||
<context context-type="sourcefile">src/app/components/common/system-status-dialog/system-status-dialog.component.html</context>
|
||||
<context context-type="linenumber">147</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Recent Task Activity <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span class="small text-muted fw-light">"/>(<x id="INTERPOLATION" equiv-text="{{status().tasks.summary.days}}"/> days)<x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/></target>
|
||||
<target state="translated">Nedávná aktivita úloh <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span class="small text-muted fw-light">"/>(<x id="INTERPOLATION" equiv-text="{{status().tasks.summary.days}}"/> days)<x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/></target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3448462145758383019" datatype="html">
|
||||
<source>Total</source>
|
||||
@@ -7950,7 +7950,7 @@
|
||||
<context context-type="sourcefile">src/app/components/common/system-status-dialog/system-status-dialog.component.html</context>
|
||||
<context context-type="linenumber">152</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Total</target>
|
||||
<target state="translated">Celkem</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3521084103654700903" datatype="html">
|
||||
<source>Successful</source>
|
||||
@@ -7958,7 +7958,7 @@
|
||||
<context context-type="sourcefile">src/app/components/common/system-status-dialog/system-status-dialog.component.html</context>
|
||||
<context context-type="linenumber">156</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Successful</target>
|
||||
<target state="translated">Úspěšných</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7256395947475975935" datatype="html">
|
||||
<source>Failed</source>
|
||||
@@ -7970,7 +7970,7 @@
|
||||
<context context-type="sourcefile">src/app/data/share-link-bundle.ts</context>
|
||||
<context context-type="linenumber">44</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Failed</target>
|
||||
<target state="translated">Selhané</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4416413576346763682" datatype="html">
|
||||
<source>Pending</source>
|
||||
@@ -7982,7 +7982,7 @@
|
||||
<context context-type="sourcefile">src/app/data/share-link-bundle.ts</context>
|
||||
<context context-type="linenumber">41</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Pending</target>
|
||||
<target state="translated">Čekající</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2000433102211963975" datatype="html">
|
||||
<source>No recent tasks</source>
|
||||
@@ -7990,7 +7990,7 @@
|
||||
<context context-type="sourcefile">src/app/components/common/system-status-dialog/system-status-dialog.component.html</context>
|
||||
<context context-type="linenumber">169</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">No recent tasks</target>
|
||||
<target state="translated">Žádné nedávné úlohy</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2041675390931385838" datatype="html">
|
||||
<source>Health</source>
|
||||
@@ -8090,7 +8090,7 @@
|
||||
<context context-type="sourcefile">src/app/components/common/system-status-dialog/system-status-dialog.component.html</context>
|
||||
<context context-type="linenumber">283</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">AI Index</target>
|
||||
<target state="translated">Index AI</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6732151329960766506" datatype="html">
|
||||
<source>Copy Raw Error</source>
|
||||
@@ -8660,7 +8660,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context>
|
||||
<context context-type="linenumber">318</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Original SHA256 checksum</target>
|
||||
<target state="translated">Původní kontrolní součet SHA256</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="5888243105821763422" datatype="html" approved="yes">
|
||||
<source>Original file size</source>
|
||||
@@ -8684,7 +8684,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context>
|
||||
<context context-type="linenumber">331</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Archive SHA256 checksum</target>
|
||||
<target state="translated">Archivní kontrolní součet SHA256</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6033581412811562084" datatype="html" approved="yes">
|
||||
<source>Archive file size</source>
|
||||
@@ -8716,7 +8716,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context>
|
||||
<context context-type="linenumber">368,371</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Notes <x id="START_BLOCK_IF" equiv-text="@if (document()?.notes.length) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span class="badge text-bg-secondary ms-1">"/><x id="INTERPOLATION" equiv-text="length}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></target>
|
||||
<target state="translated">Poznámky <x id="START_BLOCK_IF" equiv-text="@if (document()?.notes.length) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span class="badge text-bg-secondary ms-1">"/><x id="INTERPOLATION" equiv-text="length}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></target>
|
||||
</trans-unit>
|
||||
<trans-unit id="186236568870281953" datatype="html">
|
||||
<source>History</source>
|
||||
@@ -9116,7 +9116,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html</context>
|
||||
<context context-type="linenumber">4</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Versions</target>
|
||||
<target state="translated">Verze</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4077520913910941990" datatype="html">
|
||||
<source>Label</source>
|
||||
@@ -9124,7 +9124,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html</context>
|
||||
<context context-type="linenumber">10</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Label</target>
|
||||
<target state="translated">Označení</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3915966149686975421" datatype="html">
|
||||
<source>Optional</source>
|
||||
@@ -9132,7 +9132,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html</context>
|
||||
<context context-type="linenumber">17</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Optional</target>
|
||||
<target state="translated">Volitelné</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="787787001194154763" datatype="html">
|
||||
<source>Add new version</source>
|
||||
@@ -9140,7 +9140,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html</context>
|
||||
<context context-type="linenumber">32</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Add new version</target>
|
||||
<target state="translated">Přidat novou verzi</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3119565892291077820" datatype="html">
|
||||
<source>Uploading version...</source>
|
||||
@@ -9164,7 +9164,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html</context>
|
||||
<context context-type="linenumber">50</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Version upload failed.</target>
|
||||
<target state="translated">Nepodařilo se nahrát verzi.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6328986243040954523" datatype="html">
|
||||
<source>Version label</source>
|
||||
@@ -9176,7 +9176,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html</context>
|
||||
<context context-type="linenumber">85</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Version label</target>
|
||||
<target state="translated">Označení verze</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2724055831234181057" datatype="html">
|
||||
<source>Version</source>
|
||||
@@ -9184,7 +9184,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.html</context>
|
||||
<context context-type="linenumber">96</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Version</target>
|
||||
<target state="translated">Verze</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2491751767883178298" datatype="html">
|
||||
<source>Delete this version?</source>
|
||||
@@ -9216,7 +9216,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.ts</context>
|
||||
<context context-type="linenumber">189</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Error updating version label</target>
|
||||
<target state="translated">Chyba při aktualizaci označení verze</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3567158019134759286" datatype="html">
|
||||
<source>Uploading new version. Processing will happen in the background.</source>
|
||||
@@ -9244,7 +9244,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-detail/document-version-dropdown/document-version-dropdown.component.ts</context>
|
||||
<context context-type="linenumber">271</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Upload failed.</target>
|
||||
<target state="translated">Nahrání selhalo.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="8350861980330256599" datatype="html">
|
||||
<source>Error uploading new version</source>
|
||||
@@ -9348,7 +9348,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-list/bulk-editor/bulk-editor.component.html</context>
|
||||
<context context-type="linenumber">113</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Create a share link bundle</target>
|
||||
<target state="translated">Vytvořit balíček sdílení odkazů</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="1015374532025907183" datatype="html">
|
||||
<source>Include:</source>
|
||||
@@ -9755,7 +9755,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-card-small/document-card-small.component.html</context>
|
||||
<context context-type="linenumber">95,96</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Created: <x id="INTERPOLATION" equiv-text="{{ document().created | customDate }}"/></target>
|
||||
<target state="translated">Vytvořeno: <x id="INTERPOLATION" equiv-text="{{ document().created | customDate }}"/></target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2030261243264601523" datatype="html">
|
||||
<source>Added: <x id="INTERPOLATION" equiv-text="{{ document().added | customDate }}"/></source>
|
||||
@@ -9771,7 +9771,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-card-small/document-card-small.component.html</context>
|
||||
<context context-type="linenumber">96,97</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Added: <x id="INTERPOLATION" equiv-text="{{ document().added | customDate }}"/></target>
|
||||
<target state="translated">Přidáno: <x id="INTERPOLATION" equiv-text="{{ document().added | customDate }}"/></target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4235671847487610290" datatype="html">
|
||||
<source>Modified: <x id="INTERPOLATION" equiv-text="{{ document().modified | customDate }}"/></source>
|
||||
@@ -10247,7 +10247,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-list.component.ts</context>
|
||||
<context context-type="linenumber">497</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">View "<x id="PH" equiv-text="savedView.name"/>" created successfully, but could not update visibility settings.</target>
|
||||
<target state="translated">Pohled „<x id="PH" equiv-text="savedView.name"/>“ úspěšně vytvořen, nepodařilo se ale aktualizovat nastavení viditelnosti.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="739880801667335279" datatype="html">
|
||||
<source>Dates</source>
|
||||
@@ -11367,7 +11367,7 @@
|
||||
<context context-type="sourcefile">src/app/components/manage/saved-views/saved-views.component.html</context>
|
||||
<context context-type="linenumber">35</context>
|
||||
</context-group>
|
||||
<target state="needs-translation"><x id="START_TAG_I_BS" ctype="x-i_bs" equiv-text="bs class="me-1" name="person-fill-lock">"/><x id="CLOSE_TAG_I_BS" ctype="x-i_bs" equiv-text="Permissions<"/>Permissions</target>
|
||||
<target state="translated"><x id="START_TAG_I_BS" ctype="x-i_bs" equiv-text="bs class="me-1" name="person-fill-lock">"/><x id="CLOSE_TAG_I_BS" ctype="x-i_bs" equiv-text="Oprávnění<"/>Oprávnění</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6338800642797811873" datatype="html">
|
||||
<source>Documents page size</source>
|
||||
@@ -11415,7 +11415,7 @@
|
||||
<context context-type="sourcefile">src/app/components/manage/saved-views/saved-views.component.html</context>
|
||||
<context context-type="linenumber">62</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Note: ordering is not preserved</target>
|
||||
<target state="translated">Upozornění: pořadí nebude zachováno</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7877440816920439876" datatype="html" approved="yes">
|
||||
<source>No saved views defined.</source>
|
||||
@@ -11864,7 +11864,7 @@
|
||||
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
|
||||
<context context-type="linenumber">54</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">AI Settings</target>
|
||||
<target state="translated">Nastavení AI</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="1313137480169642057" datatype="html">
|
||||
<source>Output Type</source>
|
||||
@@ -11896,7 +11896,7 @@
|
||||
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
|
||||
<context context-type="linenumber">120</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Archive File Generation</target>
|
||||
<target state="translated">Generování archivních souborů</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="1115402553541327390" datatype="html">
|
||||
<source>Image DPI</source>
|
||||
@@ -12072,7 +12072,7 @@
|
||||
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
|
||||
<context context-type="linenumber">277</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Split on Tag Barcodes</target>
|
||||
<target state="translated">Rozdělení podle čárových kódů štítků</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7011909364081812031" datatype="html">
|
||||
<source>AI Enabled</source>
|
||||
@@ -12080,7 +12080,7 @@
|
||||
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
|
||||
<context context-type="linenumber">284</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">AI Enabled</target>
|
||||
<target state="translated">AI povoleno</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="8028880048909383956" datatype="html">
|
||||
<source>Consider privacy implications when enabling AI features, especially if using a remote model.</source>
|
||||
@@ -12088,7 +12088,7 @@
|
||||
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
|
||||
<context context-type="linenumber">288</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Consider privacy implications when enabling AI features, especially if using a remote model.</target>
|
||||
<target state="translated">Při aktivaci funkcí umělé inteligence zvažte dopady na ochranu osobních údajů, zejména pokud používáte vzdálený model.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="8131374115579345652" datatype="html">
|
||||
<source>LLM Embedding Backend</source>
|
||||
@@ -12096,7 +12096,7 @@
|
||||
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
|
||||
<context context-type="linenumber">292</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">LLM Embedding Backend</target>
|
||||
<target state="translated">Backend pro vkládání LLM</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6647708571891295756" datatype="html">
|
||||
<source>LLM Embedding Model</source>
|
||||
@@ -12104,7 +12104,7 @@
|
||||
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
|
||||
<context context-type="linenumber">300</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">LLM Embedding Model</target>
|
||||
<target state="translated">Model vkládání LLM</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3554114880473286122" datatype="html">
|
||||
<source>LLM Embedding Endpoint</source>
|
||||
@@ -12112,7 +12112,7 @@
|
||||
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
|
||||
<context context-type="linenumber">307</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">LLM Embedding Endpoint</target>
|
||||
<target state="translated">Koncový bod vkládání LLM</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="1044242175651289991" datatype="html">
|
||||
<source>LLM Embedding Chunk Size</source>
|
||||
@@ -12120,7 +12120,7 @@
|
||||
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
|
||||
<context context-type="linenumber">314</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">LLM Embedding Chunk Size</target>
|
||||
<target state="translated">Velikost bloku vkládání LLM</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7218245223139363113" datatype="html">
|
||||
<source>LLM Context Size</source>
|
||||
@@ -12128,7 +12128,7 @@
|
||||
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
|
||||
<context context-type="linenumber">321</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">LLM Context Size</target>
|
||||
<target state="translated">Velikost kontextu LLM</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4234495692726214397" datatype="html">
|
||||
<source>LLM Backend</source>
|
||||
@@ -12136,7 +12136,7 @@
|
||||
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
|
||||
<context context-type="linenumber">328</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">LLM Backend</target>
|
||||
<target state="translated">Backend LLM</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7935234833834000002" datatype="html">
|
||||
<source>LLM Model</source>
|
||||
@@ -12144,7 +12144,7 @@
|
||||
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
|
||||
<context context-type="linenumber">336</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">LLM Model</target>
|
||||
<target state="translated">Model LLM</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="1980550530387803165" datatype="html">
|
||||
<source>LLM API Key</source>
|
||||
@@ -12152,7 +12152,7 @@
|
||||
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
|
||||
<context context-type="linenumber">343</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">LLM API Key</target>
|
||||
<target state="translated">Klíč API LLM</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6126617860376156501" datatype="html">
|
||||
<source>LLM Endpoint</source>
|
||||
@@ -12160,7 +12160,7 @@
|
||||
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
|
||||
<context context-type="linenumber">350</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">LLM Endpoint</target>
|
||||
<target state="translated">Koncový bod LLM</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6572826277249350975" datatype="html">
|
||||
<source>LLM Output Language</source>
|
||||
@@ -12168,7 +12168,7 @@
|
||||
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
|
||||
<context context-type="linenumber">357</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">LLM Output Language</target>
|
||||
<target state="translated">Výstupní jazyk LLM</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3284403507172415792" datatype="html">
|
||||
<source>Language to use for generated AI suggestions. When unset, AI suggestions use the user's display language if explicitly set.</source>
|
||||
@@ -12176,7 +12176,7 @@
|
||||
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
|
||||
<context context-type="linenumber">361</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Language to use for generated AI suggestions. When unset, AI suggestions use the user's display language if explicitly set.</target>
|
||||
<target state="translated">Jazyk, který se má použít pro návrhy generované AI. Pokud není nastaveno, návrhy AI použijí jazyk zobrazení uživatele, je-li explicitně nastaven.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4493921125434706859" datatype="html">
|
||||
<source>LLM Request Timeout</source>
|
||||
@@ -12184,7 +12184,7 @@
|
||||
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
|
||||
<context context-type="linenumber">365</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">LLM Request Timeout</target>
|
||||
<target state="translated">Čawsový limit žádosti LLM</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="483994032066441287" datatype="html">
|
||||
<source>Timeout in seconds for LLM requests.</source>
|
||||
@@ -12192,7 +12192,7 @@
|
||||
<context context-type="sourcefile">src/app/data/paperless-config.ts</context>
|
||||
<context context-type="linenumber">369</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Timeout in seconds for LLM requests.</target>
|
||||
<target state="translated">Časový limit v sekundách pro žádosti LLM.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="9155387182259025015" datatype="html">
|
||||
<source>Processing</source>
|
||||
|
||||
@@ -1528,7 +1528,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
<target state="translated"> Die Einstellungen gelten für dieses Benutzerkonto in Bezug auf Objekte (Tags, E-Mail-Regeln usw.), die über die Weboberfläche erstellt wurden. Diese Einstellungen gelten nicht für Dokumente. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html" approved="yes">
|
||||
<source>Default Owner</source>
|
||||
|
||||
@@ -1528,7 +1528,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/settings/settings.component.html</context>
|
||||
<context context-type="linenumber">306,308</context>
|
||||
</context-group>
|
||||
<target state="needs-translation"> Settings apply to this user account for objects (Tags, Mail Rules, etc.) created via the web UI. These settings do not apply to documents. </target>
|
||||
<target state="translated"> Nastavitve veljajo za ta uporabniški račun za objekte (oznake, pravila za pošto itd.), ustvarjene prek spletnega uporabniškega vmesnika. Te nastavitve ne veljajo za dokumente. </target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4292903881380648974" datatype="html">
|
||||
<source>Default Owner</source>
|
||||
@@ -2076,7 +2076,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.html</context>
|
||||
<context context-type="linenumber">96</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Search tasks</target>
|
||||
<target state="translated">Iskanje nalog</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6849725902312323996" datatype="html">
|
||||
<source>Reset filters</source>
|
||||
@@ -2704,7 +2704,7 @@
|
||||
<context context-type="sourcefile">src/app/components/admin/tasks/tasks.component.ts</context>
|
||||
<context context-type="linenumber">349</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Dismiss all <x id="PH" equiv-text="this.totalTasks()"/> tasks?</target>
|
||||
<target state="translated">Opustim vse naloge <x id="PH" equiv-text="this.totalTasks()"/>?</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="8149502458056418229" datatype="html">
|
||||
<source>Success. New document id <x id="PH" equiv-text="documentId"/> created</source>
|
||||
@@ -7378,7 +7378,7 @@
|
||||
<context context-type="sourcefile">src/app/components/common/share-link-bundle-dialog/share-link-bundle-dialog.component.html</context>
|
||||
<context context-type="linenumber">22</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">+ <x id="INTERPOLATION" equiv-text="{{ selectionCount() - documentPreview().length }}"/> more…</target>
|
||||
<target state="translated">+ <x id="INTERPOLATION" equiv-text="{{ selectionCount() - documentPreview().length }}"/> več…</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="8037476586059399916" datatype="html">
|
||||
<source>Expires</source>
|
||||
@@ -7478,7 +7478,7 @@
|
||||
<context context-type="sourcefile">src/app/components/common/share-link-bundle-dialog/share-link-bundle-dialog.component.html</context>
|
||||
<context context-type="linenumber">68</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Share link</target>
|
||||
<target state="translated">Deli povezavo</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2618101617221155143" datatype="html">
|
||||
<source>Copy link</source>
|
||||
@@ -7942,7 +7942,7 @@
|
||||
<context context-type="sourcefile">src/app/components/common/system-status-dialog/system-status-dialog.component.html</context>
|
||||
<context context-type="linenumber">147</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Recent Task Activity <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span class="small text-muted fw-light">"/>(<x id="INTERPOLATION" equiv-text="{{status().tasks.summary.days}}"/> days)<x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/></target>
|
||||
<target state="translated">Nedavna aktivnost opravila <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span class="small text-muted fw-light">"/>(<x id="INTERPOLATION" equiv-text="{{status().tasks.summary.days}}"/> dni)<x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/></target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3448462145758383019" datatype="html">
|
||||
<source>Total</source>
|
||||
@@ -8416,7 +8416,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-asn/document-asn.component.html</context>
|
||||
<context context-type="linenumber">1</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Searching document with asn <x id="INTERPOLATION" equiv-text="{{asn()}}"/></target>
|
||||
<target state="translated">Iskanje dokumenta z asn <x id="INTERPOLATION" equiv-text="{{asn()}}"/></target>
|
||||
</trans-unit>
|
||||
<trans-unit id="1407560924967345762" datatype="html">
|
||||
<source>Page</source>
|
||||
@@ -8440,7 +8440,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context>
|
||||
<context context-type="linenumber">7,8</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">of <x id="INTERPOLATION" equiv-text="{{previewNumPages()}}"/></target>
|
||||
<target state="translated">od <x id="INTERPOLATION" equiv-text="{{previewNumPages()}}"/></target>
|
||||
</trans-unit>
|
||||
<trans-unit id="8590109102084543521" datatype="html">
|
||||
<source>-</source>
|
||||
@@ -8660,7 +8660,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context>
|
||||
<context context-type="linenumber">318</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Original SHA256 checksum</target>
|
||||
<target state="translated">Izvirna kontrolna vsota SHA256</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="5888243105821763422" datatype="html">
|
||||
<source>Original file size</source>
|
||||
@@ -8684,7 +8684,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context>
|
||||
<context context-type="linenumber">331</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Archive SHA256 checksum</target>
|
||||
<target state="translated">Arhivska kontrolna vsota SHA256</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6033581412811562084" datatype="html">
|
||||
<source>Archive file size</source>
|
||||
@@ -8716,7 +8716,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context>
|
||||
<context context-type="linenumber">368,371</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Notes <x id="START_BLOCK_IF" equiv-text="@if (document()?.notes.length) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span class="badge text-bg-secondary ms-1">"/><x id="INTERPOLATION" equiv-text="length}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></target>
|
||||
<target state="translated">Opombe <x id="START_BLOCK_IF" equiv-text="@if (document()?.notes.length) {"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span class="badge text-bg-secondary ms-1">"/><x id="INTERPOLATION" equiv-text="length}}"/><x id="CLOSE_TAG_SPAN" ctype="x-span"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/></target>
|
||||
</trans-unit>
|
||||
<trans-unit id="186236568870281953" datatype="html">
|
||||
<source>History</source>
|
||||
@@ -8732,7 +8732,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context>
|
||||
<context context-type="linenumber">401,405</context>
|
||||
</context-group>
|
||||
<target state="needs-translation"> Duplicates <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span class="badge text-bg-secondary ms-1">"/><x id="INTERPOLATION" equiv-text="cate_documents.length }}"/><x id="CLOSE_TAG_SPAN" ctype="x-span"/></target>
|
||||
<target state="translated"> Dvojniki <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span class="badge text-bg-secondary ms-1">"/><x id="INTERPOLATION" equiv-text="cate_documents.length }}"/><x id="CLOSE_TAG_SPAN" ctype="x-span"/></target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6449374629822973702" datatype="html">
|
||||
<source>Duplicate documents detected:</source>
|
||||
@@ -8936,7 +8936,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
|
||||
<context context-type="linenumber">1271</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Error saving document "<x id="PH" equiv-text="this.document().title"/>"</target>
|
||||
<target state="translated">Napaka pri shranjevanju dokumenta "<x id="PH" equiv-text="this.document().title"/>"</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="448882439049417053" datatype="html">
|
||||
<source>Error saving document</source>
|
||||
@@ -8952,7 +8952,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
|
||||
<context context-type="linenumber">1359</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Do you really want to move the document "<x id="PH" equiv-text="this.document().title"/>" to the trash?</target>
|
||||
<target state="translated">Ali res želite premakniti dokument "<x id="PH" equiv-text="this.document().title"/>" v koš?</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="282586936710748252" datatype="html">
|
||||
<source>Documents can be restored prior to permanent deletion.</source>
|
||||
@@ -9008,7 +9008,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
|
||||
<context context-type="linenumber">1413</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Reprocess operation for "<x id="PH" equiv-text="this.document().title"/>" will begin in the background.</target>
|
||||
<target state="translated">V ozadju se bo začel postopek ponovne obdelave za "<x id="PH" equiv-text="this.document().title"/>".</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4409560272830824468" datatype="html">
|
||||
<source>Error executing operation</source>
|
||||
@@ -9040,7 +9040,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
|
||||
<context context-type="linenumber">1808</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">PDF edit operation for "<x id="PH" equiv-text="this.document().title"/>" will begin in the background.</target>
|
||||
<target state="translated">Urejanje PDF-ja za "<x id="PH" equiv-text="this.document().title"/>" se bo začelo v ozadju.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="9043972994040261999" datatype="html">
|
||||
<source>Error executing PDF edit operation</source>
|
||||
@@ -9064,7 +9064,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context>
|
||||
<context context-type="linenumber">1865</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Password removal operation for "<x id="PH" equiv-text="this.document().title"/>" will begin in the background.</target>
|
||||
<target state="translated">Operacija odstranitve gesla za "<x id="PH" equiv-text="this.document().title"/>" se bo začela v ozadju.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2282118435712883014" datatype="html">
|
||||
<source>Error executing password removal operation</source>
|
||||
@@ -9720,7 +9720,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-card-small/document-card-small.component.html</context>
|
||||
<context context-type="linenumber">8</context>
|
||||
</context-group>
|
||||
<target state="needs-translation"><x id="INTERPOLATION" equiv-text="document().title | documentTitle }}"/> thumbnail</target>
|
||||
<target state="translated"><x id="INTERPOLATION" equiv-text="document().title | documentTitle }}"/> sličica</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2784168796433474565" datatype="html">
|
||||
<source>Filter by tag</source>
|
||||
@@ -9756,7 +9756,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-card-small/document-card-small.component.html</context>
|
||||
<context context-type="linenumber">95,96</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Created: <x id="INTERPOLATION" equiv-text="{{ document().created | customDate }}"/></target>
|
||||
<target state="translated">Ustvarjeno: <x id="INTERPOLATION" equiv-text="{{ document().created | customDate }}"/></target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2030261243264601523" datatype="html">
|
||||
<source>Added: <x id="INTERPOLATION" equiv-text="{{ document().added | customDate }}"/></source>
|
||||
@@ -9772,7 +9772,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-card-small/document-card-small.component.html</context>
|
||||
<context context-type="linenumber">96,97</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Added: <x id="INTERPOLATION" equiv-text="{{ document().added | customDate }}"/></target>
|
||||
<target state="translated">Dodano: <x id="INTERPOLATION" equiv-text="{{ document().added | customDate }}"/></target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4235671847487610290" datatype="html">
|
||||
<source>Modified: <x id="INTERPOLATION" equiv-text="{{ document().modified | customDate }}"/></source>
|
||||
@@ -9788,7 +9788,7 @@
|
||||
<context context-type="sourcefile">src/app/components/document-list/document-card-small/document-card-small.component.html</context>
|
||||
<context context-type="linenumber">97,98</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Modified: <x id="INTERPOLATION" equiv-text="{{ document().modified | customDate }}"/></target>
|
||||
<target state="translated">Spremenjeno: <x id="INTERPOLATION" equiv-text="{{ document().modified | customDate }}"/></target>
|
||||
</trans-unit>
|
||||
<trans-unit id="197162226430950645" datatype="html">
|
||||
<source>{VAR_PLURAL, plural, =1 {1 page} other {<x id="INTERPOLATION"/> pages}}</source>
|
||||
@@ -11312,7 +11312,7 @@
|
||||
<context context-type="sourcefile">src/app/components/manage/mail/processed-mail-dialog/processed-mail-dialog.component.html</context>
|
||||
<context context-type="linenumber">2</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Processed Mail for <x id="START_EMPHASISED_TEXT" ctype="x-em" equiv-text="<em>"/><x id="INTERPOLATION" equiv-text="{{ rule().name }}"/><x id="CLOSE_EMPHASISED_TEXT" ctype="x-em" equiv-text="</em>"/></target>
|
||||
<target state="translated">Obdelana pošta za <x id="START_EMPHASISED_TEXT" ctype="x-em" equiv-text="<em>"/><x id="INTERPOLATION" equiv-text="{{ rule().name }}"/><x id="CLOSE_EMPHASISED_TEXT" ctype="x-em" equiv-text="</em>"/></target>
|
||||
</trans-unit>
|
||||
<trans-unit id="1991019495862291373" datatype="html">
|
||||
<source>No processed email messages found.</source>
|
||||
@@ -11328,7 +11328,7 @@
|
||||
<context context-type="sourcefile">src/app/components/manage/mail/processed-mail-dialog/processed-mail-dialog.component.html</context>
|
||||
<context context-type="linenumber">29</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Select all processed email messages</target>
|
||||
<target state="translated">Izberi vsa obdelana e-poštna sporočila</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="8691920320483720007" datatype="html">
|
||||
<source>Received</source>
|
||||
|
||||
@@ -1264,7 +1264,17 @@ def task_failure_handler(
|
||||
"error_message": str(exception) if exception else "Unknown error",
|
||||
}
|
||||
if traceback:
|
||||
tb_str = "".join(_tb.format_tb(traceback))
|
||||
# billiard/celery pass a pre-formatted string instead of a real
|
||||
# traceback object when the worker process itself died (e.g.
|
||||
# WorkerLostError from a SIGILL) since there's no live traceback
|
||||
# to walk in that case.
|
||||
tb_str = (
|
||||
traceback
|
||||
if isinstance(traceback, str)
|
||||
else "".join(
|
||||
_tb.format_tb(traceback),
|
||||
)
|
||||
)
|
||||
result_data["traceback"] = tb_str[:5000]
|
||||
|
||||
now = timezone.now()
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\n"
|
||||
"PO-Revision-Date: 2026-07-25 00:51\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Catalan\n"
|
||||
"Language: ca_ES\n"
|
||||
@@ -1914,7 +1914,7 @@ msgstr "Estableix l'idioma de sortida de LLM"
|
||||
|
||||
#: paperless/models.py:370
|
||||
msgid "Sets the LLM timeout in seconds"
|
||||
msgstr ""
|
||||
msgstr "Estableix temps d'espera en segons"
|
||||
|
||||
#: paperless/models.py:376
|
||||
msgid "paperless application settings"
|
||||
@@ -2386,7 +2386,7 @@ msgstr "uid"
|
||||
|
||||
#: paperless_mail/models.py:342
|
||||
msgid "uid validity"
|
||||
msgstr ""
|
||||
msgstr "validació uid"
|
||||
|
||||
#: paperless_mail/models.py:350
|
||||
msgid "subject"
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\n"
|
||||
"PO-Revision-Date: 2026-07-25 00:51\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Czech\n"
|
||||
"Language: cs_CZ\n"
|
||||
@@ -261,11 +261,11 @@ msgstr ""
|
||||
|
||||
#: documents/models.py:331
|
||||
msgid "version label"
|
||||
msgstr ""
|
||||
msgstr "označení verze"
|
||||
|
||||
#: documents/models.py:335
|
||||
msgid "Optional short label for a document version."
|
||||
msgstr ""
|
||||
msgstr "Volitelné krátké označení verze dokumentu."
|
||||
|
||||
#: documents/models.py:340 documents/models.py:851 documents/models.py:905
|
||||
#: documents/models.py:1892
|
||||
@@ -582,7 +582,7 @@ msgstr "filtrovací pravidla"
|
||||
|
||||
#: documents/models.py:679 documents/models.py:934
|
||||
msgid "Pending"
|
||||
msgstr ""
|
||||
msgstr "Čekající"
|
||||
|
||||
#: documents/models.py:680 documents/models.py:757
|
||||
msgid "Started"
|
||||
@@ -602,7 +602,7 @@ msgstr ""
|
||||
|
||||
#: documents/models.py:686
|
||||
msgid "Consume File"
|
||||
msgstr "Soubor zpracování"
|
||||
msgstr "Zpracování souboru"
|
||||
|
||||
#: documents/models.py:687
|
||||
msgid "Train Classifier"
|
||||
@@ -610,7 +610,7 @@ msgstr "Trénovací klasifikátor"
|
||||
|
||||
#: documents/models.py:688
|
||||
msgid "Sanity Check"
|
||||
msgstr ""
|
||||
msgstr "Kontrola zdraví"
|
||||
|
||||
#: documents/models.py:689
|
||||
msgid "Index Optimize"
|
||||
@@ -622,31 +622,31 @@ msgstr "Načíst poštu"
|
||||
|
||||
#: documents/models.py:691
|
||||
msgid "LLM Index"
|
||||
msgstr ""
|
||||
msgstr "Index LLM"
|
||||
|
||||
#: documents/models.py:692
|
||||
msgid "Empty Trash"
|
||||
msgstr ""
|
||||
msgstr "Vyprázdnění koše"
|
||||
|
||||
#: documents/models.py:693
|
||||
msgid "Check Workflows"
|
||||
msgstr ""
|
||||
msgstr "Kontrola postupů"
|
||||
|
||||
#: documents/models.py:694
|
||||
msgid "Bulk Update"
|
||||
msgstr ""
|
||||
msgstr "Hromadná aktualizace"
|
||||
|
||||
#: documents/models.py:695
|
||||
msgid "Reprocess Document"
|
||||
msgstr ""
|
||||
msgstr "Opětovné zpracování dokumentu"
|
||||
|
||||
#: documents/models.py:696
|
||||
msgid "Build Share Link"
|
||||
msgstr ""
|
||||
msgstr "Sestavení odkazu ke sdílení"
|
||||
|
||||
#: documents/models.py:697
|
||||
msgid "Bulk Delete"
|
||||
msgstr ""
|
||||
msgstr "Hromadné smazání"
|
||||
|
||||
#: documents/models.py:706 documents/models.py:1277
|
||||
msgid "Scheduled"
|
||||
@@ -662,19 +662,19 @@ msgstr ""
|
||||
|
||||
#: documents/models.py:709
|
||||
msgid "Folder Consume"
|
||||
msgstr ""
|
||||
msgstr "Zpracování složky"
|
||||
|
||||
#: documents/models.py:710
|
||||
msgid "Email Consume"
|
||||
msgstr ""
|
||||
msgstr "Zpracování e-mailu"
|
||||
|
||||
#: documents/models.py:711
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
msgstr "Systém"
|
||||
|
||||
#: documents/models.py:712
|
||||
msgid "Manual"
|
||||
msgstr ""
|
||||
msgstr "Ruční"
|
||||
|
||||
#: documents/models.py:718
|
||||
msgid "Task ID"
|
||||
@@ -750,7 +750,7 @@ msgstr ""
|
||||
|
||||
#: documents/models.py:806
|
||||
msgid "Tasks"
|
||||
msgstr ""
|
||||
msgstr "Úlohy"
|
||||
|
||||
#: documents/models.py:836
|
||||
msgid "Note for the document"
|
||||
@@ -802,7 +802,7 @@ msgstr ""
|
||||
|
||||
#: documents/models.py:937
|
||||
msgid "Failed"
|
||||
msgstr ""
|
||||
msgstr "Selhané"
|
||||
|
||||
#: documents/models.py:984
|
||||
msgid "size (bytes)"
|
||||
@@ -826,7 +826,7 @@ msgstr ""
|
||||
|
||||
#: documents/models.py:1017
|
||||
msgid "share link bundles"
|
||||
msgstr ""
|
||||
msgstr "balíčky sdílení odkazů"
|
||||
|
||||
#: documents/models.py:1020
|
||||
#, python-format
|
||||
@@ -971,7 +971,7 @@ msgstr "má tento typ dokumentu"
|
||||
|
||||
#: documents/models.py:1377
|
||||
msgid "has one of these document types"
|
||||
msgstr ""
|
||||
msgstr "má jeden z následujících typů dokumentů"
|
||||
|
||||
#: documents/models.py:1384
|
||||
msgid "does not have these document type(s)"
|
||||
@@ -1342,7 +1342,7 @@ msgstr "spuštění pracovních postupů"
|
||||
#: documents/serialisers.py:2763 documents/views.py:298 documents/views.py:2541
|
||||
#: paperless_mail/serialisers.py:155
|
||||
msgid "Insufficient permissions."
|
||||
msgstr ""
|
||||
msgstr "Nedostatečná oprávnění."
|
||||
|
||||
#: documents/serialisers.py:710
|
||||
msgid "Invalid color."
|
||||
@@ -1655,7 +1655,7 @@ msgstr ""
|
||||
#: documents/views.py:4512
|
||||
#, python-format
|
||||
msgid "Insufficient permissions to share document %(id)s."
|
||||
msgstr ""
|
||||
msgstr "Nedostatečná oprávnění ke sdílení dokumentu %(id)s."
|
||||
|
||||
#: documents/views.py:4558
|
||||
msgid "Bundle is already being processed."
|
||||
@@ -1779,7 +1779,7 @@ msgstr "Nastaví režim OCR"
|
||||
|
||||
#: paperless/models.py:131
|
||||
msgid "Controls archive file generation"
|
||||
msgstr ""
|
||||
msgstr "Ovládá generování archivních souborů"
|
||||
|
||||
#: paperless/models.py:139
|
||||
msgid "Sets image DPI fallback value"
|
||||
@@ -1867,7 +1867,7 @@ msgstr "Nastaví mapování čárových kódů na štítky"
|
||||
|
||||
#: paperless/models.py:285
|
||||
msgid "Enables splitting on tag barcodes"
|
||||
msgstr ""
|
||||
msgstr "Umožňuje rozdělení podle čárových kódů štítků"
|
||||
|
||||
#: paperless/models.py:294
|
||||
msgid "Enables AI features"
|
||||
@@ -1875,47 +1875,47 @@ msgstr ""
|
||||
|
||||
#: paperless/models.py:300
|
||||
msgid "Sets the LLM embedding backend"
|
||||
msgstr ""
|
||||
msgstr "Nastaví backend pro vkládání LLM"
|
||||
|
||||
#: paperless/models.py:308
|
||||
msgid "Sets the LLM embedding model"
|
||||
msgstr ""
|
||||
msgstr "Nastaví model vkládání LLM"
|
||||
|
||||
#: paperless/models.py:315
|
||||
msgid "Sets the LLM embedding endpoint, optional"
|
||||
msgstr ""
|
||||
msgstr "Nastaví koncový bod vkládání LLM, volitelné"
|
||||
|
||||
#: paperless/models.py:322
|
||||
msgid "Sets the LLM embedding chunk size"
|
||||
msgstr ""
|
||||
msgstr "Nastaví velikost bloků vkládání LLM"
|
||||
|
||||
#: paperless/models.py:328
|
||||
msgid "Sets the LLM context size"
|
||||
msgstr ""
|
||||
msgstr "Nastaví velikost kontextu LLM"
|
||||
|
||||
#: paperless/models.py:334
|
||||
msgid "Sets the LLM backend"
|
||||
msgstr ""
|
||||
msgstr "Nastaví backend LLM"
|
||||
|
||||
#: paperless/models.py:342
|
||||
msgid "Sets the LLM model"
|
||||
msgstr ""
|
||||
msgstr "Nastaví model LLM"
|
||||
|
||||
#: paperless/models.py:349
|
||||
msgid "Sets the LLM API key"
|
||||
msgstr ""
|
||||
msgstr "Nastaví klíč API LLM"
|
||||
|
||||
#: paperless/models.py:356
|
||||
msgid "Sets the LLM endpoint, optional"
|
||||
msgstr ""
|
||||
msgstr "Nastaví koncový bod LLM, volitelné"
|
||||
|
||||
#: paperless/models.py:363
|
||||
msgid "Sets the LLM output language"
|
||||
msgstr ""
|
||||
msgstr "Nastaví výstupní jazyk LLM"
|
||||
|
||||
#: paperless/models.py:370
|
||||
msgid "Sets the LLM timeout in seconds"
|
||||
msgstr ""
|
||||
msgstr "Nastaví časový limit LLM v sekundách"
|
||||
|
||||
#: paperless/models.py:376
|
||||
msgid "paperless application settings"
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\n"
|
||||
"PO-Revision-Date: 2026-07-23 22:54\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: German\n"
|
||||
"Language: de_DE\n"
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\n"
|
||||
"PO-Revision-Date: 2026-07-25 00:51\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Dutch\n"
|
||||
"Language: nl_NL\n"
|
||||
@@ -558,11 +558,11 @@ msgstr "mimetype is"
|
||||
|
||||
#: documents/models.py:632
|
||||
msgid "simple title search"
|
||||
msgstr ""
|
||||
msgstr "eenvoudige titel zoeken"
|
||||
|
||||
#: documents/models.py:633
|
||||
msgid "simple text search"
|
||||
msgstr ""
|
||||
msgstr "eenvoudige tekst zoeken"
|
||||
|
||||
#: documents/models.py:643
|
||||
msgid "rule type"
|
||||
@@ -586,19 +586,19 @@ msgstr "In behandeling"
|
||||
|
||||
#: documents/models.py:680 documents/models.py:757
|
||||
msgid "Started"
|
||||
msgstr ""
|
||||
msgstr "Gestart"
|
||||
|
||||
#: documents/models.py:681
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
msgstr "Geslaagd"
|
||||
|
||||
#: documents/models.py:682
|
||||
msgid "Failure"
|
||||
msgstr ""
|
||||
msgstr "Mislukt"
|
||||
|
||||
#: documents/models.py:683
|
||||
msgid "Revoked"
|
||||
msgstr ""
|
||||
msgstr "Ingetrokken"
|
||||
|
||||
#: documents/models.py:686
|
||||
msgid "Consume File"
|
||||
@@ -606,15 +606,15 @@ msgstr "Gebruik bestand"
|
||||
|
||||
#: documents/models.py:687
|
||||
msgid "Train Classifier"
|
||||
msgstr ""
|
||||
msgstr "Train Classifier"
|
||||
|
||||
#: documents/models.py:688
|
||||
msgid "Sanity Check"
|
||||
msgstr ""
|
||||
msgstr "Gezondheidscheck"
|
||||
|
||||
#: documents/models.py:689
|
||||
msgid "Index Optimize"
|
||||
msgstr ""
|
||||
msgstr "Index Optimaliseren"
|
||||
|
||||
#: documents/models.py:690 documents/models.py:1282
|
||||
msgid "Mail Fetch"
|
||||
@@ -622,23 +622,23 @@ msgstr "E-mails ophalen"
|
||||
|
||||
#: documents/models.py:691
|
||||
msgid "LLM Index"
|
||||
msgstr ""
|
||||
msgstr "LLM Index"
|
||||
|
||||
#: documents/models.py:692
|
||||
msgid "Empty Trash"
|
||||
msgstr ""
|
||||
msgstr "Prullenbak legen"
|
||||
|
||||
#: documents/models.py:693
|
||||
msgid "Check Workflows"
|
||||
msgstr ""
|
||||
msgstr "Controleer Workflows"
|
||||
|
||||
#: documents/models.py:694
|
||||
msgid "Bulk Update"
|
||||
msgstr ""
|
||||
msgstr "Bulk bijwerken"
|
||||
|
||||
#: documents/models.py:695
|
||||
msgid "Reprocess Document"
|
||||
msgstr ""
|
||||
msgstr "Document opnieuw verwerken"
|
||||
|
||||
#: documents/models.py:696
|
||||
msgid "Build Share Link"
|
||||
@@ -646,7 +646,7 @@ msgstr "Bouw Deel Link"
|
||||
|
||||
#: documents/models.py:697
|
||||
msgid "Bulk Delete"
|
||||
msgstr ""
|
||||
msgstr "Bulk verwijderen"
|
||||
|
||||
#: documents/models.py:706 documents/models.py:1277
|
||||
msgid "Scheduled"
|
||||
@@ -658,23 +658,23 @@ msgstr "Web interface"
|
||||
|
||||
#: documents/models.py:708
|
||||
msgid "API Upload"
|
||||
msgstr ""
|
||||
msgstr "API Upload"
|
||||
|
||||
#: documents/models.py:709
|
||||
msgid "Folder Consume"
|
||||
msgstr ""
|
||||
msgstr "Map inlezen"
|
||||
|
||||
#: documents/models.py:710
|
||||
msgid "Email Consume"
|
||||
msgstr ""
|
||||
msgstr "Email Inlezen"
|
||||
|
||||
#: documents/models.py:711
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
msgstr "Systeem"
|
||||
|
||||
#: documents/models.py:712
|
||||
msgid "Manual"
|
||||
msgstr ""
|
||||
msgstr "Handmatig"
|
||||
|
||||
#: documents/models.py:718
|
||||
msgid "Task ID"
|
||||
@@ -682,7 +682,7 @@ msgstr "Taak ID"
|
||||
|
||||
#: documents/models.py:719
|
||||
msgid "Celery task ID"
|
||||
msgstr ""
|
||||
msgstr "Celery taak ID"
|
||||
|
||||
#: documents/models.py:725
|
||||
msgid "Task Type"
|
||||
@@ -690,35 +690,35 @@ msgstr "Taak type"
|
||||
|
||||
#: documents/models.py:726
|
||||
msgid "The kind of work being performed"
|
||||
msgstr ""
|
||||
msgstr "Het soort werk dat wordt uitgevoerd"
|
||||
|
||||
#: documents/models.py:733
|
||||
msgid "Trigger Source"
|
||||
msgstr ""
|
||||
msgstr "Trigger bron"
|
||||
|
||||
#: documents/models.py:734
|
||||
msgid "What initiated this task"
|
||||
msgstr ""
|
||||
msgstr "Wat begon deze taak"
|
||||
|
||||
#: documents/models.py:743
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
msgstr "Status"
|
||||
|
||||
#: documents/models.py:763
|
||||
msgid "Completed"
|
||||
msgstr ""
|
||||
msgstr "Voltooid"
|
||||
|
||||
#: documents/models.py:771
|
||||
msgid "Duration (seconds)"
|
||||
msgstr ""
|
||||
msgstr "Duur (seconden)"
|
||||
|
||||
#: documents/models.py:772
|
||||
msgid "Elapsed time from start to completion"
|
||||
msgstr ""
|
||||
msgstr "Verstreken tijd van begin tot voltooiing"
|
||||
|
||||
#: documents/models.py:778
|
||||
msgid "Wait Time (seconds)"
|
||||
msgstr ""
|
||||
msgstr "Wachttijd (seconden)"
|
||||
|
||||
#: documents/models.py:779
|
||||
msgid "Time from task creation to worker pickup"
|
||||
|
||||
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-23 19:21+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 19:23\n"
|
||||
"PO-Revision-Date: 2026-07-24 12:40\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Slovenian\n"
|
||||
"Language: sl_SI\n"
|
||||
@@ -2386,7 +2386,7 @@ msgstr "uid"
|
||||
|
||||
#: paperless_mail/models.py:342
|
||||
msgid "uid validity"
|
||||
msgstr ""
|
||||
msgstr "veljavnost uid-a"
|
||||
|
||||
#: paperless_mail/models.py:350
|
||||
msgid "subject"
|
||||
|
||||
@@ -272,10 +272,7 @@ class MailDocumentParser:
|
||||
logger.debug("Building formatted text from email")
|
||||
self._text = build_formatted_text(mail)
|
||||
|
||||
if is_naive(mail.date):
|
||||
self._date = make_aware(mail.date)
|
||||
else:
|
||||
self._date = mail.date
|
||||
self._date = mail.date
|
||||
|
||||
logger.debug("Creating a PDF from the email")
|
||||
if self._mailrule_id:
|
||||
@@ -502,6 +499,9 @@ class MailDocumentParser:
|
||||
f"Could not parse {filepath}: {err}",
|
||||
) from err
|
||||
|
||||
if is_naive(parsed.date):
|
||||
parsed.date = make_aware(parsed.date)
|
||||
|
||||
return parsed
|
||||
|
||||
def tika_parse(self, html: str) -> str:
|
||||
|
||||
@@ -421,6 +421,11 @@ class TikaDocumentParser:
|
||||
logger.info("Converting %s to PDF as %s", document_path, pdf_path)
|
||||
|
||||
with self._gotenberg_client.libre_office.to_pdf() as route:
|
||||
# Preserve document fields as authored. updateIndexes (Gotenberg's
|
||||
# default) triggers a refresh() that rewrites dynamic fields like
|
||||
# auto-dates to the current date.
|
||||
route.update_indexes(update_indexes=False)
|
||||
|
||||
# Set the output format of the resulting PDF.
|
||||
# OutputTypeConfig reads the database-stored ApplicationConfiguration
|
||||
# first, then falls back to the PAPERLESS_OCR_OUTPUT_TYPE env var.
|
||||
|
||||
@@ -145,6 +145,41 @@ class TestEmailFileParsing:
|
||||
assert parsed_msg.text == "This is just a simple Text Mail.\n"
|
||||
assert parsed_msg.to == ("some@one.de",)
|
||||
|
||||
def test_parse_file_to_message_makes_naive_date_aware(
|
||||
self,
|
||||
mocker: MockerFixture,
|
||||
mail_parser: MailDocumentParser,
|
||||
simple_txt_email_file: Path,
|
||||
) -> None:
|
||||
"""
|
||||
GIVEN:
|
||||
- An email whose parsed date is naive (no tzinfo)
|
||||
WHEN:
|
||||
- The .eml file is parsed into a MailMessage
|
||||
THEN:
|
||||
- The resulting message date is made timezone-aware
|
||||
"""
|
||||
mock_message = mocker.Mock(
|
||||
from_values="mail@someserver.de",
|
||||
date=datetime.datetime(2022, 10, 12, 21, 40, 43),
|
||||
)
|
||||
mocker.patch(
|
||||
"paperless.parsers.mail.MailMessage.from_bytes",
|
||||
return_value=mock_message,
|
||||
)
|
||||
|
||||
parsed_msg = mail_parser.parse_file_to_message(simple_txt_email_file)
|
||||
|
||||
assert timezone.is_aware(parsed_msg.date)
|
||||
assert parsed_msg.date.replace(tzinfo=None) == datetime.datetime(
|
||||
2022,
|
||||
10,
|
||||
12,
|
||||
21,
|
||||
40,
|
||||
43,
|
||||
)
|
||||
|
||||
|
||||
class TestEmailMetadataExtraction:
|
||||
"""
|
||||
|
||||
@@ -223,4 +223,11 @@ class TestTikaParser:
|
||||
|
||||
assert form_field_found
|
||||
|
||||
# Field updates must be disabled so LibreOffice preserves document
|
||||
# fields (e.g. auto-date fields) as authored rather than refreshing
|
||||
# them to the current date.
|
||||
assert any(
|
||||
b'name="updateIndexes"' in part and b"false" in part for part in parts
|
||||
)
|
||||
|
||||
httpx_mock.reset()
|
||||
|
||||
Reference in New Issue
Block a user